From shade at openjdk.java.net Mon Feb 1 08:52:41 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 1 Feb 2021 08:52:41 GMT Subject: Integrated: 8260591: Shenandoah: improve parallelism for concurrent thread root scans In-Reply-To: References: Message-ID: On Thu, 28 Jan 2021 14:04:07 GMT, Aleksey Shipilev wrote: > Following JDK-8256298, there are a few minor performance issues with the implementation. > > First, in the spirit of JDK-8246100, we should be scanning the Java threads the last, as they have the most parallelism. Less parallel, or lightweight roots should be scanned before them to improve overall parallelism. > > Second, claiming each thread dominates the per-thread processing cost. We should really be doing chunked processing. > > Motivating example is SPECjvm2008 serial, which has very fast concurrent cycles, and thread root scan speed is important. > > Before: > # Baseline > [56.176s][info][gc,stats] Concurrent Mark Roots = 0.308 s (a = 1452 us) (n = 212) (lvls, us = 305, 398, 457, 719, 11216) > [56.176s][info][gc,stats] CMR: = 1.236 s (a = 5832 us) (n = 212) (lvls, us = 2676, 3535, 4199, 5391, 54522) > [56.176s][info][gc,stats] CMR: Thread Roots = 1.179 s (a = 5563 us) (n = 212) (lvls, us = 2441, 3242, 3945, 5156, 54288) > [56.176s][info][gc,stats] CMR: VM Strong Roots = 0.005 s (a = 23 us) (n = 212) (lvls, us = 12, 19, 21, 23, 204) > [56.176s][info][gc,stats] CMR: CLDG Roots = 0.052 s (a = 247 us) (n = 212) (lvls, us = 73, 203, 252, 293, 562) > > ... > [56.176s][info][gc,stats] Concurrent Stack Processing = 0.124 s (a = 5149 us) (n = 24) (lvls, us = 535, 607, 885, 6387, 27177) > [56.176s][info][gc,stats] Threads = 0.632 s (a = 26345 us) (n = 24) (lvls, us = 6465, 8086, 10742, 39453, 145679) > [56.176s][info][gc,stats] CT: = 0.632 s (a = 26345 us) (n = 24) (lvls, us = 6465, 8086, 10742, 39453, 145679) > > After: > [56.010s][info][gc,stats] Concurrent Mark Roots = 0.116 s (a = 587 us) (n = 198) (lvls, us = 312, 371, 400, 502, 4316) > [56.010s][info][gc,stats] CMR: = 0.931 s (a = 4703 us) (n = 198) (lvls, us = 2402, 3438, 3770, 4453, 62629) > [56.010s][info][gc,stats] CMR: Thread Roots = 0.864 s (a = 4366 us) (n = 198) (lvls, us = 1914, 3125, 3477, 4199, 54075) > [56.010s][info][gc,stats] CMR: VM Strong Roots = 0.015 s (a = 76 us) (n = 198) (lvls, us = 20, 31, 35, 38, 4693) > [56.010s][info][gc,stats] CMR: CLDG Roots = 0.052 s (a = 261 us) (n = 198) (lvls, us = 61, 172, 256, 299, 3861) > ... > [56.010s][info][gc,stats] Concurrent Stack Processing = 0.081 s (a = 3671 us) (n = 22) (lvls, us = 457, 537, 770, 3359, 24003) > [56.010s][info][gc,stats] Threads = 0.469 s (a = 21309 us) (n = 22) (lvls, us = 6016, 6855, 8711, 18945, 103939) > [56.010s][info][gc,stats] CT: = 0.469 s (a = 21309 us) (n = 22) (lvls, us = 6016, 6855, 8711, 18945, 103939) This pull request has now been integrated. Changeset: ab727f0a Author: Aleksey Shipilev URL: https://git.openjdk.java.net/jdk/commit/ab727f0a Stats: 39 lines in 3 files changed: 20 ins; 7 del; 12 mod 8260591: Shenandoah: improve parallelism for concurrent thread root scans Reviewed-by: zgu, rkennke ------------- PR: https://git.openjdk.java.net/jdk/pull/2290 From shade at openjdk.java.net Mon Feb 1 09:14:44 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 1 Feb 2021 09:14:44 GMT Subject: RFR: 8260309: Shenandoah: Clean up ShenandoahBarrierSet [v2] In-Reply-To: References: <5t_ZDBfj_4BxoJLoWh3R0r6OCh2Q0wc-DNJntvfhW1Q=.925a092e-c1d3-41df-b216-1cbb0b936959@github.com> Message-ID: On Fri, 29 Jan 2021 14:45:50 GMT, Roman Kennke wrote: >> We collected some cruft in ShenandoahBarrierSet. Time to clean it up. >> >> This fixes/removes a number of includes, fixes some comments and it also removes is_a() and is_aligned() which look like leftovers/requirements from earlier incarnations of the superclass BarrierSet. Using the override keyword would be useful for such situations (btw, are we ok to start using override, nullptr, auto etc in Shenandoah, or do we want to keep it C++ for backporting ease?) >> >> One thing I was not sure about is the ShenandoahHeap* _heap field. Making it const will likely help the compiler avoid repeated access (e.g. in a number of perf-critical paths like the LRB impl). However, maybe we should get rid of the field altogether and make it explicitely using ShenandoahHeap::heap() and avoid repeated access instead of helping the compiler and hoping for the best? >> >> Testing: >> - [x] hotspot_gc_shenandoah release, fastdebug > > Roman Kennke has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits: > > - Restore some changes that have been lost during merge > - Merge branch 'master' into JDK-8260309 > - 8260309: Shenandoah: Clean up ShenandoahBarrierSet Looks fine, but I have a minor question. src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp line 28: > 26: #define SHARE_GC_SHENANDOAH_SHENANDOAHBARRIERSET_INLINE_HPP > 27: > 28: #include "gc/shared/accessBarrierSupport.hpp" Should it be `accessBarrierSupport.inline.hpp`? Other `*BarrierSet.inline.hpp`-s seem to include that. ------------- Marked as reviewed by shade (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2202 From rkennke at openjdk.java.net Mon Feb 1 11:00:59 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Mon, 1 Feb 2021 11:00:59 GMT Subject: RFR: 8260309: Shenandoah: Clean up ShenandoahBarrierSet [v3] In-Reply-To: <5t_ZDBfj_4BxoJLoWh3R0r6OCh2Q0wc-DNJntvfhW1Q=.925a092e-c1d3-41df-b216-1cbb0b936959@github.com> References: <5t_ZDBfj_4BxoJLoWh3R0r6OCh2Q0wc-DNJntvfhW1Q=.925a092e-c1d3-41df-b216-1cbb0b936959@github.com> Message-ID: <2u_BCcnM4QkcVVj6MVeFDfDgjB789ouIQuBfqY5p6vo=.2a63e65b-4fcd-4c79-9623-ac203c3ba056@github.com> > We collected some cruft in ShenandoahBarrierSet. Time to clean it up. > > This fixes/removes a number of includes, fixes some comments and it also removes is_a() and is_aligned() which look like leftovers/requirements from earlier incarnations of the superclass BarrierSet. Using the override keyword would be useful for such situations (btw, are we ok to start using override, nullptr, auto etc in Shenandoah, or do we want to keep it C++ for backporting ease?) > > One thing I was not sure about is the ShenandoahHeap* _heap field. Making it const will likely help the compiler avoid repeated access (e.g. in a number of perf-critical paths like the LRB impl). However, maybe we should get rid of the field altogether and make it explicitely using ShenandoahHeap::heap() and avoid repeated access instead of helping the compiler and hoping for the best? > > Testing: > - [x] hotspot_gc_shenandoah release, fastdebug Roman Kennke has updated the pull request incrementally with one additional commit since the last revision: Include accessBarrierSupport.inline.hpp instead of accessBarrierSupport.hpp ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2202/files - new: https://git.openjdk.java.net/jdk/pull/2202/files/bd7da1e2..5f68a73b Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2202&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2202&range=01-02 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/2202.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2202/head:pull/2202 PR: https://git.openjdk.java.net/jdk/pull/2202 From rkennke at openjdk.java.net Mon Feb 1 11:01:02 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Mon, 1 Feb 2021 11:01:02 GMT Subject: RFR: 8260309: Shenandoah: Clean up ShenandoahBarrierSet [v2] In-Reply-To: References: <5t_ZDBfj_4BxoJLoWh3R0r6OCh2Q0wc-DNJntvfhW1Q=.925a092e-c1d3-41df-b216-1cbb0b936959@github.com> Message-ID: On Mon, 1 Feb 2021 09:06:42 GMT, Aleksey Shipilev wrote: >> Roman Kennke has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits: >> >> - Restore some changes that have been lost during merge >> - Merge branch 'master' into JDK-8260309 >> - 8260309: Shenandoah: Clean up ShenandoahBarrierSet > > src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp line 28: > >> 26: #define SHARE_GC_SHENANDOAH_SHENANDOAHBARRIERSET_INLINE_HPP >> 27: >> 28: #include "gc/shared/accessBarrierSupport.hpp" > > Should it be `accessBarrierSupport.inline.hpp`? Other `*BarrierSet.inline.hpp`-s seem to include that. Right. I changed that. Thanks! ------------- PR: https://git.openjdk.java.net/jdk/pull/2202 From shade at openjdk.java.net Mon Feb 1 13:16:42 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 1 Feb 2021 13:16:42 GMT Subject: RFR: 8260309: Shenandoah: Clean up ShenandoahBarrierSet [v3] In-Reply-To: <2u_BCcnM4QkcVVj6MVeFDfDgjB789ouIQuBfqY5p6vo=.2a63e65b-4fcd-4c79-9623-ac203c3ba056@github.com> References: <5t_ZDBfj_4BxoJLoWh3R0r6OCh2Q0wc-DNJntvfhW1Q=.925a092e-c1d3-41df-b216-1cbb0b936959@github.com> <2u_BCcnM4QkcVVj6MVeFDfDgjB789ouIQuBfqY5p6vo=.2a63e65b-4fcd-4c79-9623-ac203c3ba056@github.com> Message-ID: <73Eq3oBXjf_ANTph4ijuK4hfVx-6do89K2w3ChROVlA=.33dfa07d-0a6c-405a-8f65-0671be7cf980@github.com> On Mon, 1 Feb 2021 11:00:59 GMT, Roman Kennke wrote: >> We collected some cruft in ShenandoahBarrierSet. Time to clean it up. >> >> This fixes/removes a number of includes, fixes some comments and it also removes is_a() and is_aligned() which look like leftovers/requirements from earlier incarnations of the superclass BarrierSet. Using the override keyword would be useful for such situations (btw, are we ok to start using override, nullptr, auto etc in Shenandoah, or do we want to keep it C++ for backporting ease?) >> >> One thing I was not sure about is the ShenandoahHeap* _heap field. Making it const will likely help the compiler avoid repeated access (e.g. in a number of perf-critical paths like the LRB impl). However, maybe we should get rid of the field altogether and make it explicitely using ShenandoahHeap::heap() and avoid repeated access instead of helping the compiler and hoping for the best? >> >> Testing: >> - [x] hotspot_gc_shenandoah release, fastdebug > > Roman Kennke has updated the pull request incrementally with one additional commit since the last revision: > > Include accessBarrierSupport.inline.hpp instead of accessBarrierSupport.hpp Marked as reviewed by shade (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/2202 From zgu at openjdk.java.net Mon Feb 1 15:38:09 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Mon, 1 Feb 2021 15:38:09 GMT Subject: RFR: 8260004: Shenandoah: Rename ShenandoahMarkCompact to ShenandoahFullGC [v3] In-Reply-To: References: Message-ID: > Please review this patch that renames ShenandoahMarkCompact to ShenandoahFullGC, to be consistent with other GCs. Zhengyu Gu has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits: - Merge branch 'master' into JDK-8260004-rename-fullgc - Merge master - JDK-8260004-rename-fullgc ------------- Changes: https://git.openjdk.java.net/jdk/pull/2266/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2266&range=02 Stats: 38 lines in 9 files changed: 4 ins; 6 del; 28 mod Patch: https://git.openjdk.java.net/jdk/pull/2266.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2266/head:pull/2266 PR: https://git.openjdk.java.net/jdk/pull/2266 From zgu at openjdk.java.net Mon Feb 1 16:07:42 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Mon, 1 Feb 2021 16:07:42 GMT Subject: RFR: 8260309: Shenandoah: Clean up ShenandoahBarrierSet [v3] In-Reply-To: <2u_BCcnM4QkcVVj6MVeFDfDgjB789ouIQuBfqY5p6vo=.2a63e65b-4fcd-4c79-9623-ac203c3ba056@github.com> References: <5t_ZDBfj_4BxoJLoWh3R0r6OCh2Q0wc-DNJntvfhW1Q=.925a092e-c1d3-41df-b216-1cbb0b936959@github.com> <2u_BCcnM4QkcVVj6MVeFDfDgjB789ouIQuBfqY5p6vo=.2a63e65b-4fcd-4c79-9623-ac203c3ba056@github.com> Message-ID: <79a4QDkcjzuW0lJPfAaJawWwBn4pejdpTzzDaZxaFl0=.72084bab-c67f-4559-9ab2-235a0126da5d@github.com> On Mon, 1 Feb 2021 11:00:59 GMT, Roman Kennke wrote: >> We collected some cruft in ShenandoahBarrierSet. Time to clean it up. >> >> This fixes/removes a number of includes, fixes some comments and it also removes is_a() and is_aligned() which look like leftovers/requirements from earlier incarnations of the superclass BarrierSet. Using the override keyword would be useful for such situations (btw, are we ok to start using override, nullptr, auto etc in Shenandoah, or do we want to keep it C++ for backporting ease?) >> >> One thing I was not sure about is the ShenandoahHeap* _heap field. Making it const will likely help the compiler avoid repeated access (e.g. in a number of perf-critical paths like the LRB impl). However, maybe we should get rid of the field altogether and make it explicitely using ShenandoahHeap::heap() and avoid repeated access instead of helping the compiler and hoping for the best? >> >> Testing: >> - [x] hotspot_gc_shenandoah release, fastdebug > > Roman Kennke has updated the pull request incrementally with one additional commit since the last revision: > > Include accessBarrierSupport.inline.hpp instead of accessBarrierSupport.hpp Looks good. ------------- Marked as reviewed by zgu (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2202 From lfoltan at openjdk.java.net Mon Feb 1 17:12:43 2021 From: lfoltan at openjdk.java.net (Lois Foltan) Date: Mon, 1 Feb 2021 17:12:43 GMT Subject: RFR: 8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass [v2] In-Reply-To: References: Message-ID: On Fri, 29 Jan 2021 14:26:03 GMT, Ioi Lam wrote: >> This is the second step of https://github.com/openjdk/jdk/pull/2246 (8260467: Move well-known classes from systemDictionary.hpp to vmClasses.hpp). These are mostly boiler-plate changes done by scripts. >> >> [1] Change calls like >> >> SystemDictionary::Object_klass() >> SystemDictionary::Throwable_klass_is_loaded() >> SystemDictionary::box_klass_type() >> >> to >> >> vmClasses::Object_klass() >> vmClasses::Throwable_klass_is_loaded() >> vmClasses::box_klass_type() >> >> [2] Remove unnecessary inclusion of systemDictionary.hpp (replace with vmClasses.hpp if necessary). In some cases, I have to add signature.hpp to some files, which only indirectly included signature.hpp through systemDictionary.hpp. >> >> [3] In the previous PR, I incorrectly used the enum name `VMClassID`. This PR changes it to `vmClassID` to match the existing use of `vmSymbolID` and `vmIntrinsicID`. >> >> Due to the refactoring of these two PRs, the number of HotSpot .o files that include systemDictionary.hpp decreases from 491 to 91. HotSpot build time is reduced by about 2% >> >> Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. >> >> Review Notes: if you don't want to scroll through 185 files, you may want to try: >> >> curl https://github.com/openjdk/jdk/compare/1de3c554477497d1ceee573180940e8d38c364ee...e2f77252c8b3edd4d0071cfc014290568a16de9d.diff | \ >> grep -v '^[+-][+-][+-]' | grep '^[+-]' > > Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: > > added missing #include systemDictionary.hpp Looks good!! Lois ------------- Marked as reviewed by lfoltan (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2301 From rkennke at openjdk.java.net Mon Feb 1 17:32:41 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Mon, 1 Feb 2021 17:32:41 GMT Subject: Integrated: 8260309: Shenandoah: Clean up ShenandoahBarrierSet In-Reply-To: <5t_ZDBfj_4BxoJLoWh3R0r6OCh2Q0wc-DNJntvfhW1Q=.925a092e-c1d3-41df-b216-1cbb0b936959@github.com> References: <5t_ZDBfj_4BxoJLoWh3R0r6OCh2Q0wc-DNJntvfhW1Q=.925a092e-c1d3-41df-b216-1cbb0b936959@github.com> Message-ID: On Fri, 22 Jan 2021 19:03:14 GMT, Roman Kennke wrote: > We collected some cruft in ShenandoahBarrierSet. Time to clean it up. > > This fixes/removes a number of includes, fixes some comments and it also removes is_a() and is_aligned() which look like leftovers/requirements from earlier incarnations of the superclass BarrierSet. Using the override keyword would be useful for such situations (btw, are we ok to start using override, nullptr, auto etc in Shenandoah, or do we want to keep it C++ for backporting ease?) > > One thing I was not sure about is the ShenandoahHeap* _heap field. Making it const will likely help the compiler avoid repeated access (e.g. in a number of perf-critical paths like the LRB impl). However, maybe we should get rid of the field altogether and make it explicitely using ShenandoahHeap::heap() and avoid repeated access instead of helping the compiler and hoping for the best? > > Testing: > - [x] hotspot_gc_shenandoah release, fastdebug This pull request has now been integrated. Changeset: df33595e Author: Roman Kennke URL: https://git.openjdk.java.net/jdk/commit/df33595e Stats: 31 lines in 6 files changed: 4 ins; 19 del; 8 mod 8260309: Shenandoah: Clean up ShenandoahBarrierSet Reviewed-by: shade, zgu ------------- PR: https://git.openjdk.java.net/jdk/pull/2202 From stuefe at openjdk.java.net Mon Feb 1 18:12:42 2021 From: stuefe at openjdk.java.net (Thomas Stuefe) Date: Mon, 1 Feb 2021 18:12:42 GMT Subject: RFR: 8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass [v2] In-Reply-To: References: Message-ID: On Mon, 1 Feb 2021 17:09:42 GMT, Lois Foltan wrote: >> Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: >> >> added missing #include systemDictionary.hpp > > Looks good!! > Lois Hi Ioi, Sorry, I still get build errors with this (linux x64, fastdebug, nopch): link_klass(SystemDictionary::Reference_klass()); ^~~~~~~~~~~~~~~ Last Commit: commit e1a09411c12cdd95bf1f8896100284e0697fafb7 (HEAD -> pull/2301) ? Author: iklam ? Date: Fri Jan 29 06:22:52 2021 -0800 ? ? added missing #include systemDictionary.hpp I'm also confused why no GA ran for this pr. I gave the patch a cursory read, it reads all okay but of course I cannot see from reading the patch whether we could miss some includes. I'd like to see the GA builds being successful, in this case also for the side platforms and minimal builds/zero. Thanks, Thomas ------------- PR: https://git.openjdk.java.net/jdk/pull/2301 From zgu at openjdk.java.net Mon Feb 1 18:13:46 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Mon, 1 Feb 2021 18:13:46 GMT Subject: Integrated: 8260004: Shenandoah: Rename ShenandoahMarkCompact to ShenandoahFullGC In-Reply-To: References: Message-ID: <9hC5B8QLUCOrNRRz4LN22Zyv_rPDN50nl3rdG_okC6w=.88d570f7-153a-49f8-b41b-ef0678d776d7@github.com> On Wed, 27 Jan 2021 18:16:09 GMT, Zhengyu Gu wrote: > Please review this patch that renames ShenandoahMarkCompact to ShenandoahFullGC, to be consistent with other GCs. This pull request has now been integrated. Changeset: e963ebd7 Author: Zhengyu Gu URL: https://git.openjdk.java.net/jdk/commit/e963ebd7 Stats: 38 lines in 9 files changed: 4 ins; 6 del; 28 mod 8260004: Shenandoah: Rename ShenandoahMarkCompact to ShenandoahFullGC Reviewed-by: shade, rkennke ------------- PR: https://git.openjdk.java.net/jdk/pull/2266 From iklam at openjdk.java.net Mon Feb 1 19:04:05 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Mon, 1 Feb 2021 19:04:05 GMT Subject: RFR: 8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass [v3] In-Reply-To: References: Message-ID: > This is the second step of https://github.com/openjdk/jdk/pull/2246 (8260467: Move well-known classes from systemDictionary.hpp to vmClasses.hpp). These are mostly boiler-plate changes done by scripts. > > [1] Change calls like > > SystemDictionary::Object_klass() > SystemDictionary::Throwable_klass_is_loaded() > SystemDictionary::box_klass_type() > > to > > vmClasses::Object_klass() > vmClasses::Throwable_klass_is_loaded() > vmClasses::box_klass_type() > > [2] Remove unnecessary inclusion of systemDictionary.hpp (replace with vmClasses.hpp if necessary). In some cases, I have to add signature.hpp to some files, which only indirectly included signature.hpp through systemDictionary.hpp. > > [3] In the previous PR, I incorrectly used the enum name `VMClassID`. This PR changes it to `vmClassID` to match the existing use of `vmSymbolID` and `vmIntrinsicID`. > > Due to the refactoring of these two PRs, the number of HotSpot .o files that include systemDictionary.hpp decreases from 491 to 91. HotSpot build time is reduced by about 2% > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. > > Review Notes: if you don't want to scroll through 185 files, you may want to try: > > curl https://github.com/openjdk/jdk/compare/1de3c554477497d1ceee573180940e8d38c364ee...e2f77252c8b3edd4d0071cfc014290568a16de9d.diff | \ > grep -v '^[+-][+-][+-]' | grep '^[+-]' Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: fixed AOT build ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2301/files - new: https://git.openjdk.java.net/jdk/pull/2301/files/e1a09411..8df077d4 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2301&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2301&range=01-02 Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/2301.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2301/head:pull/2301 PR: https://git.openjdk.java.net/jdk/pull/2301 From iklam at openjdk.java.net Mon Feb 1 19:14:38 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Mon, 1 Feb 2021 19:14:38 GMT Subject: RFR: 8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass [v2] In-Reply-To: References: Message-ID: On Mon, 1 Feb 2021 18:10:02 GMT, Thomas Stuefe wrote: >> Looks good!! >> Lois > > Hi Ioi, > > Sorry, I still get build errors with this (linux x64, fastdebug, nopch): > > > > link_klass(SystemDictionary::Reference_klass()); > ^~~~~~~~~~~~~~~ > > Last Commit: > commit e1a09411c12cdd95bf1f8896100284e0697fafb7 (HEAD -> pull/2301) ? > Author: iklam ? > Date: Fri Jan 29 06:22:52 2021 -0800 ? > ? > added missing #include systemDictionary.hpp > > I'm also confused why no GA ran for this pr. I gave the patch a cursory read, it reads all okay but of course I cannot see from reading the patch whether we could miss some includes. I'd like to see the GA builds being successful, in this case also for the side platforms and minimal builds/zero. > > Thanks, Thomas > Hi Ioi, > > Sorry, I still get build errors with this (linux x64, fastdebug, nopch): > > ``` > /shared/projects/openjdk/jdk-jdk/source/src/hotspot/share/aot/aotCodeHeap.cpp: In member function 'void AOTCodeHeap::link_known_klasses()': > /shared/projects/openjdk/jdk-jdk/source/src/hotspot/share/aot/aotCodeHeap.cpp:397:32: error: 'Reference_klass' is not a member of 'SystemDictionary' > link_klass(SystemDictionary::Reference_klass()); > ^~~~~~~~~~~~~~~ > ``` > > Last Commit: > > ``` > commit e1a09411c12cdd95bf1f8896100284e0697fafb7 (HEAD -> pull/2301) ? > Author: iklam ? > Date: Fri Jan 29 06:22:52 2021 -0800 ? > ? > added missing #include systemDictionary.hpp > ``` > > I'm also confused why no GA ran for this pr. I gave the patch a cursory read, it reads all okay but of course I cannot see from reading the patch whether we could miss some includes. I'd like to see the GA builds being successful, in this case also for the side platforms and minimal builds/zero. > > Thanks, Thomas I disabled the GitHub Actions for my repo because they were creating too much noise. Instead, I've been testing my builds with Mach5, which has a much larger variety of builds. Unfortunately AOT is disabled by default in Mach5 (due to JDK-8255616: Removal of experimental features AOT and Graal JIT). Now I've added AOT to my local builds to make sure I don't break it unintentionally. I am also re-enabling GitHub actions on my repo. I verified that AOT builds again with [8df077d](https://github.com/openjdk/jdk/pull/2301/commits/8df077d47201dbb88171c8137acb57d26f0dd007) ------------- PR: https://git.openjdk.java.net/jdk/pull/2301 From hseigel at openjdk.java.net Mon Feb 1 19:49:41 2021 From: hseigel at openjdk.java.net (Harold Seigel) Date: Mon, 1 Feb 2021 19:49:41 GMT Subject: RFR: 8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass [v3] In-Reply-To: References: Message-ID: On Mon, 1 Feb 2021 19:04:05 GMT, Ioi Lam wrote: >> This is the second step of https://github.com/openjdk/jdk/pull/2246 (8260467: Move well-known classes from systemDictionary.hpp to vmClasses.hpp). These are mostly boiler-plate changes done by scripts. >> >> [1] Change calls like >> >> SystemDictionary::Object_klass() >> SystemDictionary::Throwable_klass_is_loaded() >> SystemDictionary::box_klass_type() >> >> to >> >> vmClasses::Object_klass() >> vmClasses::Throwable_klass_is_loaded() >> vmClasses::box_klass_type() >> >> [2] Remove unnecessary inclusion of systemDictionary.hpp (replace with vmClasses.hpp if necessary). In some cases, I have to add signature.hpp to some files, which only indirectly included signature.hpp through systemDictionary.hpp. >> >> [3] In the previous PR, I incorrectly used the enum name `VMClassID`. This PR changes it to `vmClassID` to match the existing use of `vmSymbolID` and `vmIntrinsicID`. >> >> Due to the refactoring of these two PRs, the number of HotSpot .o files that include systemDictionary.hpp decreases from 491 to 91. HotSpot build time is reduced by about 2% >> >> Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. >> >> Review Notes: if you don't want to scroll through 185 files, you may want to try: >> >> curl https://github.com/openjdk/jdk/compare/1de3c554477497d1ceee573180940e8d38c364ee...e2f77252c8b3edd4d0071cfc014290568a16de9d.diff | \ >> grep -v '^[+-][+-][+-]' | grep '^[+-]' > > Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: > > fixed AOT build Changes look good! Thanks, Harold ------------- Marked as reviewed by hseigel (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2301 From iklam at openjdk.java.net Mon Feb 1 20:35:00 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Mon, 1 Feb 2021 20:35:00 GMT Subject: RFR: 8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass [v4] In-Reply-To: References: Message-ID: <9diipTSLJjuGg_TauTufYb21HrRu3QFGltF2929nb0Y=.280e89f4-77a2-45bb-82af-2c1dffd11e9f@github.com> > This is the second step of https://github.com/openjdk/jdk/pull/2246 (8260467: Move well-known classes from systemDictionary.hpp to vmClasses.hpp). These are mostly boiler-plate changes done by scripts. > > [1] Change calls like > > SystemDictionary::Object_klass() > SystemDictionary::Throwable_klass_is_loaded() > SystemDictionary::box_klass_type() > > to > > vmClasses::Object_klass() > vmClasses::Throwable_klass_is_loaded() > vmClasses::box_klass_type() > > [2] Remove unnecessary inclusion of systemDictionary.hpp (replace with vmClasses.hpp if necessary). In some cases, I have to add signature.hpp to some files, which only indirectly included signature.hpp through systemDictionary.hpp. > > [3] In the previous PR, I incorrectly used the enum name `VMClassID`. This PR changes it to `vmClassID` to match the existing use of `vmSymbolID` and `vmIntrinsicID`. > > Due to the refactoring of these two PRs, the number of HotSpot .o files that include systemDictionary.hpp decreases from 491 to 91. HotSpot build time is reduced by about 2% > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. > > Review Notes: if you don't want to scroll through 185 files, you may want to try: > > curl https://github.com/openjdk/jdk/compare/1de3c554477497d1ceee573180940e8d38c364ee...e2f77252c8b3edd4d0071cfc014290568a16de9d.diff | \ > grep -v '^[+-][+-][+-]' | grep '^[+-]' Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits: - fixed comments - Merge branch 'master' into 8260471-SystemDictionary-to-vmClasses-rename - fixed AOT build - added missing #include systemDictionary.hpp - 8260471: Change SystemDictionary::xxx_klass() calls to vmClasses::xxx_klass() ------------- Changes: https://git.openjdk.java.net/jdk/pull/2301/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2301&range=03 Stats: 705 lines in 190 files changed: 94 ins; 67 del; 544 mod Patch: https://git.openjdk.java.net/jdk/pull/2301.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2301/head:pull/2301 PR: https://git.openjdk.java.net/jdk/pull/2301 From iklam at openjdk.java.net Mon Feb 1 20:43:01 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Mon, 1 Feb 2021 20:43:01 GMT Subject: RFR: 8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass [v5] In-Reply-To: References: Message-ID: > This is the second step of https://github.com/openjdk/jdk/pull/2246 (8260467: Move well-known classes from systemDictionary.hpp to vmClasses.hpp). These are mostly boiler-plate changes done by scripts. > > [1] Change calls like > > SystemDictionary::Object_klass() > SystemDictionary::Throwable_klass_is_loaded() > SystemDictionary::box_klass_type() > > to > > vmClasses::Object_klass() > vmClasses::Throwable_klass_is_loaded() > vmClasses::box_klass_type() > > [2] Remove unnecessary inclusion of systemDictionary.hpp (replace with vmClasses.hpp if necessary). In some cases, I have to add signature.hpp to some files, which only indirectly included signature.hpp through systemDictionary.hpp. > > [3] In the previous PR, I incorrectly used the enum name `VMClassID`. This PR changes it to `vmClassID` to match the existing use of `vmSymbolID` and `vmIntrinsicID`. > > Due to the refactoring of these two PRs, the number of HotSpot .o files that include systemDictionary.hpp decreases from 491 to 91. HotSpot build time is reduced by about 2% > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. > > Review Notes: if you don't want to scroll through 185 files, you may want to try: > > curl https://github.com/openjdk/jdk/compare/1de3c554477497d1ceee573180940e8d38c364ee...e2f77252c8b3edd4d0071cfc014290568a16de9d.diff | \ > grep -v '^[+-][+-][+-]' | grep '^[+-]' Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: fixed SA (serviceability/sa/CDSJMapClstats.java) ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2301/files - new: https://git.openjdk.java.net/jdk/pull/2301/files/533615be..7489267b Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2301&range=04 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2301&range=03-04 Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod Patch: https://git.openjdk.java.net/jdk/pull/2301.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2301/head:pull/2301 PR: https://git.openjdk.java.net/jdk/pull/2301 From zgu at openjdk.java.net Mon Feb 1 20:56:49 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Mon, 1 Feb 2021 20:56:49 GMT Subject: RFR: 8260736: Shenandoah: Cleanup includes in ShenandoahGC and families Message-ID: 8260736: Shenandoah: Cleanup includes in ShenandoahGC and families ------------- Commit messages: - update - Merge branch 'master' into JDK-8260736-cleanup-includes-gc - update - init Changes: https://git.openjdk.java.net/jdk/pull/2339/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2339&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8260736 Stats: 37 lines in 10 files changed: 2 ins; 30 del; 5 mod Patch: https://git.openjdk.java.net/jdk/pull/2339.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2339/head:pull/2339 PR: https://git.openjdk.java.net/jdk/pull/2339 From zgu at openjdk.java.net Mon Feb 1 21:25:54 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Mon, 1 Feb 2021 21:25:54 GMT Subject: RFR: 8260736: Shenandoah: Cleanup includes in ShenandoahGC and families [v2] In-Reply-To: References: Message-ID: > 8260736: Shenandoah: Cleanup includes in ShenandoahGC and families Zhengyu Gu has updated the pull request incrementally with one additional commit since the last revision: Added back vmThread.hpp ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2339/files - new: https://git.openjdk.java.net/jdk/pull/2339/files/001c3094..87924b4c Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2339&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2339&range=00-01 Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/2339.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2339/head:pull/2339 PR: https://git.openjdk.java.net/jdk/pull/2339 From dholmes at openjdk.java.net Tue Feb 2 07:42:00 2021 From: dholmes at openjdk.java.net (David Holmes) Date: Tue, 2 Feb 2021 07:42:00 GMT Subject: RFR: 8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass [v5] In-Reply-To: References: Message-ID: On Mon, 1 Feb 2021 20:43:01 GMT, Ioi Lam wrote: >> This is the second step of https://github.com/openjdk/jdk/pull/2246 (8260467: Move well-known classes from systemDictionary.hpp to vmClasses.hpp). These are mostly boiler-plate changes done by scripts. >> >> [1] Change calls like >> >> SystemDictionary::Object_klass() >> SystemDictionary::Throwable_klass_is_loaded() >> SystemDictionary::box_klass_type() >> >> to >> >> vmClasses::Object_klass() >> vmClasses::Throwable_klass_is_loaded() >> vmClasses::box_klass_type() >> >> [2] Remove unnecessary inclusion of systemDictionary.hpp (replace with vmClasses.hpp if necessary). In some cases, I have to add signature.hpp to some files, which only indirectly included signature.hpp through systemDictionary.hpp. >> >> [3] In the previous PR, I incorrectly used the enum name `VMClassID`. This PR changes it to `vmClassID` to match the existing use of `vmSymbolID` and `vmIntrinsicID`. >> >> Due to the refactoring of these two PRs, the number of HotSpot .o files that include systemDictionary.hpp decreases from 491 to 91. HotSpot build time is reduced by about 2% >> >> Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. >> >> Review Notes: if you don't want to scroll through 185 files, you may want to try: >> >> curl https://github.com/openjdk/jdk/compare/1de3c554477497d1ceee573180940e8d38c364ee...e2f77252c8b3edd4d0071cfc014290568a16de9d.diff | \ >> grep -v '^[+-][+-][+-]' | grep '^[+-]' > > Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: > > fixed SA (serviceability/sa/CDSJMapClstats.java) LGTM! Thanks, David ------------- Marked as reviewed by dholmes (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2301 From stuefe at openjdk.java.net Tue Feb 2 07:53:51 2021 From: stuefe at openjdk.java.net (Thomas Stuefe) Date: Tue, 2 Feb 2021 07:53:51 GMT Subject: RFR: 8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass [v5] In-Reply-To: References: Message-ID: <-_LSd7J2e_ReZLdIKH0wlpoR8pv2CF75saI9eJkHWms=.dd6717de-5f5e-43fe-b3fc-8ebdd649bad8@github.com> On Mon, 1 Feb 2021 20:43:01 GMT, Ioi Lam wrote: >> This is the second step of https://github.com/openjdk/jdk/pull/2246 (8260467: Move well-known classes from systemDictionary.hpp to vmClasses.hpp). These are mostly boiler-plate changes done by scripts. >> >> [1] Change calls like >> >> SystemDictionary::Object_klass() >> SystemDictionary::Throwable_klass_is_loaded() >> SystemDictionary::box_klass_type() >> >> to >> >> vmClasses::Object_klass() >> vmClasses::Throwable_klass_is_loaded() >> vmClasses::box_klass_type() >> >> [2] Remove unnecessary inclusion of systemDictionary.hpp (replace with vmClasses.hpp if necessary). In some cases, I have to add signature.hpp to some files, which only indirectly included signature.hpp through systemDictionary.hpp. >> >> [3] In the previous PR, I incorrectly used the enum name `VMClassID`. This PR changes it to `vmClassID` to match the existing use of `vmSymbolID` and `vmIntrinsicID`. >> >> Due to the refactoring of these two PRs, the number of HotSpot .o files that include systemDictionary.hpp decreases from 491 to 91. HotSpot build time is reduced by about 2% >> >> Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. >> >> Review Notes: if you don't want to scroll through 185 files, you may want to try: >> >> curl https://github.com/openjdk/jdk/compare/1de3c554477497d1ceee573180940e8d38c364ee...e2f77252c8b3edd4d0071cfc014290568a16de9d.diff | \ >> grep -v '^[+-][+-][+-]' | grep '^[+-]' > > Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: > > fixed SA (serviceability/sa/CDSJMapClstats.java) Marked as reviewed by stuefe (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/2301 From stuefe at openjdk.java.net Tue Feb 2 07:53:51 2021 From: stuefe at openjdk.java.net (Thomas Stuefe) Date: Tue, 2 Feb 2021 07:53:51 GMT Subject: RFR: 8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass [v5] In-Reply-To: References: Message-ID: On Tue, 2 Feb 2021 07:38:37 GMT, David Holmes wrote: >> Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: >> >> fixed SA (serviceability/sa/CDSJMapClstats.java) > > LGTM! > > Thanks, > David Looks good to me too. Local build worked for me now. I see GA builds went through too. Thanks for this work! Anything giving us faster builds is appreciated, since build time keeps creeping up. ..Thomas ------------- PR: https://git.openjdk.java.net/jdk/pull/2301 From rkennke at redhat.com Tue Feb 2 09:59:40 2021 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 2 Feb 2021 10:59:40 +0100 Subject: FYI: Syncing with upstream openjdk/jdk Message-ID: <340b483d-ff1c-0110-23bd-ee5f1f0f0fca@redhat.com> I am going to push an update to openjdk/shenandoah master that brings it in sync with current openjdk/jdk master. This is a clean merge because we are keeping master branches in sync with no pollutions. Roman From shade at redhat.com Tue Feb 2 10:03:16 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 2 Feb 2021 11:03:16 +0100 Subject: FYI: Syncing with upstream openjdk/jdk In-Reply-To: <340b483d-ff1c-0110-23bd-ee5f1f0f0fca@redhat.com> References: <340b483d-ff1c-0110-23bd-ee5f1f0f0fca@redhat.com> Message-ID: <683618ca-71d4-a670-9c94-9250b52fc01c@redhat.com> On 2/2/21 10:59 AM, Roman Kennke wrote: > I am going to push an update to openjdk/shenandoah master that brings it > in sync with current openjdk/jdk master. This is a clean merge because > we are keeping master branches in sync with no pollutions. Yes, please. -- Thanks, -Aleksey From duke at openjdk.java.net Tue Feb 2 10:42:57 2021 From: duke at openjdk.java.net (duke) Date: Tue, 2 Feb 2021 10:42:57 GMT Subject: git: openjdk/shenandoah: master: 760 new changesets Message-ID: <836139df-2093-49ca-ab38-e73966854cff@openjdk.java.net> Changeset: 3eb69460 Author: Mikhailo Seledtsov Date: 2020-12-04 16:38:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3eb69460 8257732: Problem list TestJFRWithJMX for OL 8.2 until the issue is resolved Reviewed-by: hseigel ! test/hotspot/jtreg/ProblemList.txt Changeset: d8ac76fa Author: Calvin Cheung Date: 2020-12-04 17:07:00 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d8ac76fa 8257651: LambdaEagerInit.java test failed in 2 different ways Reviewed-by: iklam, lfoltan ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/runtime/cds/appcds/LambdaEagerInit.java Changeset: fcc84795 Author: Xue-Lei Andrew Fan Date: 2020-12-04 18:20:14 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fcc84795 8257724: Incorrect package of the linked class in BaseSSLSocketImpl Reviewed-by: valeriep, wetmore ! src/java.base/share/classes/sun/security/ssl/BaseSSLSocketImpl.java Changeset: d76039d3 Author: Xue-Lei Andrew Fan Date: 2020-12-04 18:29:55 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d76039d3 8257725: No throws of SSLHandshakeException Reviewed-by: jnimeh ! src/java.base/share/classes/sun/security/ssl/StatusResponseManager.java Changeset: dd0b9454 Author: Vladimir Kozlov Date: 2020-12-04 19:23:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/dd0b9454 8257531: Super word not applied to a loop of simple Buffer operations Reviewed-by: roland, psandoz ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp + test/hotspot/jtreg/compiler/vectorization/TestBufferVectorization.java Changeset: e27ea4d1 Author: Brian Burkhalter Date: 2020-12-04 20:32:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e27ea4d1 8257750: writeBuffer field of java.io.DataOutputStream should be final Reviewed-by: lancea, naoto ! src/java.base/share/classes/java/io/DataOutputStream.java Changeset: 51d325e6 Author: Erik Joelsson Date: 2020-12-04 21:40:39 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/51d325e6 8257633: Missing -mmacosx-version-min=X flag when linking libjvm Reviewed-by: mikael ! make/autoconf/flags-ldflags.m4 Changeset: d3ac1bf1 Author: Sergey Bylokhov Date: 2020-12-04 23:06:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d3ac1bf1 8198390: Test MultiResolutionDrawImageWithTransformTest.java fails when -esa is passed Reviewed-by: kizune ! src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java ! test/jdk/ProblemList.txt ! test/jdk/java/awt/image/MultiResolutionImage/MultiResolutionDrawImageWithTransformTest.java Changeset: c4339c30 Author: Martin Buchholz Date: 2020-12-05 08:44:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c4339c30 8243614: Typo in ReentrantLock's Javadoc Reviewed-by: dholmes, alanb ! src/java.base/share/classes/java/util/concurrent/locks/ReentrantLock.java Changeset: 78be334c Author: Valerie Peng Date: 2020-12-05 23:47:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/78be334c 8242332: Add SHA3 support to SunPKCS11 provider Reviewed-by: xuelei ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Digest.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyGenerator.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11PSSSignature.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_RSA_PKCS_PSS_PARAMS.java + test/jdk/sun/security/pkcs11/KeyGenerator/HmacDefKeySizeTest.java ! test/jdk/sun/security/pkcs11/KeyGenerator/TestKeyGenerator.java ! test/jdk/sun/security/pkcs11/Mac/MacSameTest.java ! test/jdk/sun/security/pkcs11/Mac/ReinitMac.java ! test/jdk/sun/security/pkcs11/MessageDigest/ByteBuffers.java ! test/jdk/sun/security/pkcs11/MessageDigest/ReinitDigest.java ! test/jdk/sun/security/pkcs11/MessageDigest/TestCloning.java ! test/jdk/sun/security/pkcs11/Signature/ByteBuffers.java ! test/jdk/sun/security/pkcs11/Signature/InitAgainPSS.java ! test/jdk/sun/security/pkcs11/Signature/KeyAndParamCheckForPSS.java ! test/jdk/sun/security/pkcs11/Signature/ReinitSignature.java ! test/jdk/sun/security/pkcs11/Signature/SigInteropPSS.java + test/jdk/sun/security/pkcs11/Signature/SigInteropPSS2.java ! test/jdk/sun/security/pkcs11/Signature/SignatureTestPSS.java + test/jdk/sun/security/pkcs11/Signature/SignatureTestPSS2.java ! test/jdk/sun/security/pkcs11/Signature/TestDSA2.java ! test/jdk/sun/security/pkcs11/Signature/TestRSAKeyLength.java ! test/jdk/sun/security/pkcs11/nss/p11-nss.txt Changeset: 972bc3b4 Author: Mandy Chung Date: 2020-12-06 00:08:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/972bc3b4 8256167: Convert JDK use of `Reference::get` to `Reference::refersTo` Reviewed-by: sspitsyn, shade, dfuchs, alanb, kbarrett ! src/java.base/share/classes/java/io/ObjectStreamClass.java ! src/java.base/share/classes/java/lang/Thread.java ! src/java.base/share/classes/java/lang/ThreadLocal.java ! src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/java.base/share/classes/java/lang/ref/Reference.java ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java ! src/java.base/share/classes/java/util/ResourceBundle.java ! src/java.base/share/classes/java/util/WeakHashMap.java ! src/java.base/share/classes/jdk/internal/logger/BootstrapLogger.java ! src/java.logging/share/classes/java/util/logging/LogManager.java ! src/java.logging/share/classes/java/util/logging/Logger.java ! src/java.management/share/classes/com/sun/jmx/mbeanserver/WeakIdentityHashMap.java Changeset: e5906189 Author: Aleksey Shipilev Date: 2020-12-06 17:43:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e5906189 8252505: C1/C2 compiler support for blackholes Reviewed-by: vlivanov, aph ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciMethod.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/regmask.cpp ! src/hotspot/share/opto/regmask.hpp ! src/hotspot/share/runtime/vmStructs.cpp + test/hotspot/jtreg/compiler/blackhole/BlackholeInstanceReturnTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeInstanceTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeNonVoidWarning.java + test/hotspot/jtreg/compiler/blackhole/BlackholeNullCheckTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeStaticReturnTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeStaticTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeTarget.java Changeset: 29a09c89 Author: Lin Zang Committer: David Holmes Date: 2020-12-07 04:01:51 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/29a09c89 8257668: SA JMap - skip non-java thread stack dump for heap dump Reviewed-by: cjplummer, sspitsyn, phh ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ThreadStackTrace.java Changeset: 05dac03f Author: Aleksey Shipilev Date: 2020-12-07 06:43:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/05dac03f 8257803: Add -Xbatch to compiler/blackhole tests Reviewed-by: dholmes ! test/hotspot/jtreg/compiler/blackhole/BlackholeInstanceReturnTest.java ! test/hotspot/jtreg/compiler/blackhole/BlackholeInstanceTest.java ! test/hotspot/jtreg/compiler/blackhole/BlackholeNonVoidWarning.java ! test/hotspot/jtreg/compiler/blackhole/BlackholeNullCheckTest.java ! test/hotspot/jtreg/compiler/blackhole/BlackholeStaticReturnTest.java ! test/hotspot/jtreg/compiler/blackhole/BlackholeStaticTest.java Changeset: 7620124e Author: Jie Fu Date: 2020-12-07 09:27:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7620124e 8257230: assert(InitialHeapSize >= MinHeapSize) failed: Ergonomics decided on incompatible initial and minimum heap sizes Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/runtime/arguments.cpp + test/hotspot/jtreg/gc/ergonomics/TestMinHeapSize.java Changeset: d05401d8 Author: Julia Boes Date: 2020-12-07 09:30:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d05401d8 8256679: Update serialization javadoc once JOSS changes for records are complete Reviewed-by: chegar, rriggs ! 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/Serializable.java ! src/java.base/share/classes/java/lang/Record.java Changeset: f5a582c2 Author: Roland Westrelin Date: 2020-12-07 09:38:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f5a582c2 8257575: C2: "failed: only phis" assert failure in loop strip mining verification Reviewed-by: thartmann, neliasso ! src/hotspot/share/opto/loopnode.cpp + test/hotspot/jtreg/compiler/loopstripmining/TestEliminatedLoadPinnedOnBackedge.java Changeset: 566d77a2 Author: Daniel Fuchs Date: 2020-12-07 09:58:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/566d77a2 8254802: ThrowingPushPromisesAsStringCustom.java fails in "try throwing in GET_BODY" Reviewed-by: michaelm ! test/jdk/java/net/httpclient/http2/server/Http2TestServerConnection.java Changeset: 8e8e5845 Author: Thomas Stuefe Date: 2020-12-07 10:32:05 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8e8e5845 8257588: Make os::_page_sizes a bitmask Reviewed-by: tschatzl, stefank ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! test/hotspot/gtest/runtime/test_os.cpp Changeset: 5a03e476 Author: Chris Hegarty Date: 2020-12-07 11:02:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5a03e476 8255560: Class::isRecord should check that the current class is final and not abstract Reviewed-by: mchung, darcy ! src/java.base/share/classes/java/lang/Class.java + test/jdk/java/lang/reflect/records/IsRecordTest.java ! test/lib/jdk/test/lib/ByteCodeLoader.java Changeset: 04ce8e38 Author: Jorn Vernee Date: 2020-12-07 11:08:24 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/04ce8e38 8257184: Upstream 8252504: Add a method to MemoryLayout which returns a offset-computing method handle Reviewed-by: mcimadamore, chegar ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/LayoutPath.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java ! test/jdk/java/foreign/TestLayoutPaths.java Changeset: 09707dd4 Author: Erik Gahlin Date: 2020-12-07 11:09:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/09707dd4 8252807: The jdk.jfr.Recording.getStream does not work when toDisk is disabled Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/Recording.java Changeset: 637b0c64 Author: Jan Lahoda Date: 2020-12-07 11:11:31 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/637b0c64 8246778: Compiler implementation for Sealed Classes (Second Preview) Co-authored-by: Vicente Romero Co-authored-by: Harold Seigel Reviewed-by: lfoltan, mchung, alanb, mcimadamore, chegar ! src/hotspot/share/prims/jvm.cpp ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/native/libjava/Class.c ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/hotspot/jtreg/runtime/sealedClasses/GetPermittedSubclasses.jcod ! test/hotspot/jtreg/runtime/sealedClasses/GetPermittedSubclassesTest.java + test/hotspot/jtreg/runtime/sealedClasses/noSubclass/BaseC.java + test/hotspot/jtreg/runtime/sealedClasses/noSubclass/BaseI.java + test/hotspot/jtreg/runtime/sealedClasses/noSubclass/Impl1.java + test/hotspot/jtreg/runtime/sealedClasses/noSubclass/Impl2.java ! test/jdk/java/lang/reflect/sealed_classes/SealedClassesReflectionTest.java + test/jdk/java/lang/reflect/sealed_classes/TestSecurityManagerChecks.java ! test/langtools/tools/javac/sealed/BinaryCompatibilityTests.java ! test/langtools/tools/javac/sealed/SealedCompilationTests.java Changeset: e08b9ed0 Author: Thomas Schatzl Date: 2020-12-07 12:43:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e08b9ed0 8257820: Remove gc/ergonomics/TestMinHeapSize.java as it is too brittle Reviewed-by: jiefu, kbarrett - test/hotspot/jtreg/gc/ergonomics/TestMinHeapSize.java Changeset: ecd7e476 Author: Zhengyu Gu Date: 2020-12-07 13:18:02 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ecd7e476 8257793: Shenandoah: SATB barrier should only filter out already strongly marked oops Reviewed-by: shade, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp Changeset: 46b35acf Author: Martin Doerr Date: 2020-12-07 13:45:19 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/46b35acf 8257798: [PPC64] undefined reference to Klass::vtable_start_offset() Reviewed-by: goetz ! src/hotspot/cpu/ppc/ppc.ad Changeset: 2c04fc02 Author: Guoxiong Li Committer: Maurizio Cimadamore Date: 2020-12-07 13:51:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2c04fc02 8257037: No javac warning when calling deprecated constructor with diamond Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java + test/langtools/tools/javac/T8257037/T8257037.java + test/langtools/tools/javac/T8257037/T8257037.out Changeset: 74be8190 Author: Eric Caspole Date: 2020-12-07 15:41:03 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/74be8190 8257517: LogCompilation: Add -z to the help messages Reviewed-by: redestad ! src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/LogCompilation.java Changeset: d29c78da Author: Magnus Ihse Bursie Date: 2020-12-07 15:55:53 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d29c78da 8257679: Improved unix compatibility layer in Windows build (winenv) Reviewed-by: erikj, jvernee, burban ! .github/workflows/submit.yml ! make/GenerateLinkOptData.gmk ! make/InterimImage.gmk ! make/RunTests.gmk ! make/RunTestsPrebuilt.gmk ! make/RunTestsPrebuiltSpec.gmk ! make/TestImage.gmk ! make/autoconf/basic.m4 ! make/autoconf/basic_tools.m4 ! make/autoconf/basic_windows.m4 ! make/autoconf/boot-jdk.m4 ! make/autoconf/bootcycle-spec.gmk.in ! make/autoconf/build-aux/config.guess ! make/autoconf/build-aux/config.sub ! make/autoconf/build-performance.m4 ! make/autoconf/compare.sh.in ! make/autoconf/configure.ac ! make/autoconf/flags-cflags.m4 ! make/autoconf/flags-ldflags.m4 ! make/autoconf/flags.m4 ! make/autoconf/help.m4 ! make/autoconf/jdk-options.m4 ! make/autoconf/platform.m4 ! make/autoconf/source-dirs.m4 ! make/autoconf/spec.gmk.in ! make/autoconf/toolchain.m4 + make/autoconf/toolchain_microsoft.m4 - make/autoconf/toolchain_windows.m4 ! make/autoconf/util.m4 ! make/autoconf/util_paths.m4 - make/autoconf/util_windows.m4 ! make/common/JavaCompilation.gmk ! make/common/MakeBase.gmk ! make/common/NativeCompilation.gmk ! make/common/Utils.gmk ! make/common/modules/GensrcCommonLangtools.gmk ! make/conf/jib-profiles.js ! make/hotspot/test/GtestImage.gmk ! make/ide/idea/jdk/idea.gmk ! make/ide/visualstudio/hotspot/CreateVSProject.gmk ! make/ide/vscode/hotspot/CreateVSCodeProject.gmk ! make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java ! make/modules/java.base/Copy.gmk ! make/modules/java.base/gensrc/GensrcCharacterData.gmk ! make/modules/java.base/gensrc/GensrcCharsetCoder.gmk + make/scripts/extract-vs-env.cmd + make/scripts/fixpath.sh - make/scripts/windowsShortName.bat - make/src/native/fixpath.c ! src/hotspot/share/adlc/main.cpp Changeset: dcf63f85 Author: Xue-Lei Andrew Fan Date: 2020-12-07 16:35:01 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/dcf63f85 8257788: Class fields could be local in the SunJSSE provider Reviewed-by: shade ! src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java ! src/java.base/share/classes/sun/security/ssl/HKDF.java ! src/java.base/share/classes/sun/security/ssl/SSLSecretDerivation.java ! src/java.base/share/classes/sun/security/ssl/SSLTrafficKeyDerivation.java Changeset: b4b9828c Author: Vicente Romero Date: 2020-12-07 16:45:51 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b4b9828c 8254784: javac should reject records with @SafeVarargs applied to varargs record component Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties + test/langtools/tools/javac/diags/examples/SafeVarargsNotApplicableToRecordAccessors.java ! test/langtools/tools/javac/records/RecordCompilationTests.java Changeset: bbc44f57 Author: Maurizio Cimadamore Date: 2020-12-07 17:25:23 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bbc44f57 8257186: Size of heap segments is not computed correctlyFix overflow in size computation for heap segments Reviewed-by: jvernee, chegar ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/HeapMemorySegmentImpl.java ! test/jdk/java/foreign/TestSegments.java Changeset: e3793e5a Author: Andy Herrick Date: 2020-12-07 18:04:04 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e3793e5a 8257514: Fix the issues in jdk.jpackage identified by SpotBugs Reviewed-by: asemenyuk, almatvee, shade ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/CfgFile.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/DeployParams.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/IOUtils.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/OverridableResource.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/PathGroup.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/ToolValidator.java ! src/jdk.jpackage/share/classes/jdk/jpackage/main/CommandLine.java ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/ExecutableRebrander.java ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinMsiBundler.java ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WindowsAppImageBuilder.java ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WixPipeline.java ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WixSourcesBuilder.java Changeset: a265c201 Author: Alexander Matveev Date: 2020-12-07 18:11:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a265c201 8255619: Localized WinResources.properties have MsiInstallerStrings_en.wxl resource Reviewed-by: herrick, naoto, asemenyuk ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_ja.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_zh_CN.properties Changeset: 395b6bde Author: Zhengyu Gu Date: 2020-12-07 19:19:23 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/395b6bde 8257817: Shenandoah: Don't race with conc-weak-in-progress flag in weak-LRB Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: 36c06005 Author: Aleksey Shipilev Date: 2020-12-07 19:26:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/36c06005 8257805: Add compiler/blackhole tests to tier1 Reviewed-by: kvn ! test/hotspot/jtreg/TEST.groups Changeset: a5297bd0 Author: Dean Long Date: 2020-12-07 20:10:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a5297bd0 8254939: macOS: unused function 'replicate4_imm' Reviewed-by: redestad, thartmann ! src/hotspot/cpu/x86/x86.ad Changeset: 6937d9f9 Author: Joe Darcy Date: 2020-12-07 20:46:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6937d9f9 8257799: Update JLS cross-references in java.compiler Reviewed-by: jjg ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java ! src/java.compiler/share/classes/javax/lang/model/element/VariableElement.java Changeset: f92745d7 Author: Eric Caspole Date: 2020-12-07 21:31:19 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f92745d7 8257718: LogCompilation: late_inline doesnt work right for JDK 8 logs Reviewed-by: redestad, kvn ! src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/LogParser.java Changeset: 149a02f9 Author: David Holmes Date: 2020-12-07 21:56:05 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/149a02f9 8257572: Deprecate the archaic signal-chaining interfaces: sigset and signal Reviewed-by: ihse, alanb, dcubed, erikj ! make/modules/java.base/Lib.gmk ! src/java.base/unix/native/libjsig/jsig.c Changeset: 62c7788b Author: Vladimir Ivanov Date: 2020-12-07 22:50:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/62c7788b 8257211: C2: Enable call devirtualization during post-parse phase Reviewed-by: kvn, neliasso, thartmann ! src/hotspot/share/compiler/compilerDefinitions.cpp ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/opto/callGenerator.hpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/opto/multnode.cpp ! src/hotspot/share/opto/multnode.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phasetype.hpp ! src/hotspot/share/utilities/growableArray.hpp Changeset: c43c224e Author: Jie Fu Date: 2020-12-07 22:59:51 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c43c224e 8257796: [TESTBUG] TestUseSHA512IntrinsicsOptionOnSupportedCPU.java fails on x86_32 Reviewed-by: kvn ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnSupportedCPU.java Changeset: 39b8a2e6 Author: Xue-Lei Andrew Fan Date: 2020-12-07 23:53:17 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/39b8a2e6 8257670: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java reports leaks Reviewed-by: jnimeh ! test/jdk/sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java Changeset: cef606fe Author: Erik Gahlin Date: 2020-12-08 00:06:20 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/cef606fe 8253762: JFR: getField(String) should be able to access subfields Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/EventType.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordedObject.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/Type.java ! test/jdk/jdk/jfr/api/metadata/eventtype/TestGetField.java Changeset: 6ff18e38 Author: Vicente Romero Date: 2020-12-08 04:07:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6ff18e38 8257855: Example SafeVarargsNotApplicableToRecordAccessors breaks test tools/javac/diags/CheckExamples.java Reviewed-by: jjg ! test/langtools/tools/javac/diags/examples/SafeVarargsNotApplicableToRecordAccessors.java Changeset: 500ab457 Author: Jamil Nimeh Date: 2020-12-08 06:10:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/500ab457 8257769: Cipher.getParameters() throws NPE for ChaCha20-Poly1305 Reviewed-by: mullan, valeriep ! src/java.base/share/classes/com/sun/crypto/provider/ChaCha20Cipher.java ! test/jdk/com/sun/crypto/provider/Cipher/ChaCha20/ChaCha20Poly1305ParamTest.java Changeset: 0b6b6eb5 Author: Roland Westrelin Date: 2020-12-08 08:30:18 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0b6b6eb5 8257813: [redo] C2: Filter type in PhiNode::Value() for induction variables of trip-counted integer loops Reviewed-by: chagedorn, kvn ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/superword.cpp Changeset: 51ac3768 Author: Jan Lahoda Date: 2020-12-08 08:38:24 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/51ac3768 8256411: Based anonymous classes have a weird end position Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! test/langtools/tools/javac/parser/JavacParserTest.java ! test/langtools/tools/javac/positions/TreeEndPosTest.java Changeset: 1d0adbb8 Author: Christian Hagedorn Date: 2020-12-08 08:48:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1d0adbb8 8253644: C2: assert(skeleton_predicate_has_opaque(iff)) failed: unexpected Reviewed-by: roland, kvn ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.hpp + test/hotspot/jtreg/compiler/loopopts/TestUnswitchCloneSkeletonPredicates.java Changeset: 52ab7212 Author: Kim Barrett Date: 2020-12-08 09:25:42 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/52ab7212 8254733: HotSpot Style Guide should permit using range-based for loops Reviewed-by: dholmes, pliden, jrose, dcubed, iklam, eosterlund, tschatzl, kvn ! doc/hotspot-style.html ! doc/hotspot-style.md Changeset: d2b66196 Author: Athijegannathan Sundararajan Date: 2020-12-08 09:38:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d2b66196 8242258: (jrtfs) Path::toUri throws AssertionError for malformed input Reviewed-by: alanb ! src/java.base/share/classes/jdk/internal/jrtfs/JrtPath.java + test/jdk/jdk/internal/jrtfs/UriTests.java Changeset: 35e81536 Author: Aleksey Shipilev Date: 2020-12-08 10:11:01 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/35e81536 8257848: -XX:CompileCommand=blackhole,* should be diagnostic Reviewed-by: vlivanov ! src/hotspot/share/compiler/compilerOracle.cpp + test/hotspot/jtreg/compiler/blackhole/BlackholeDiagnosticUnlockTest.java - test/hotspot/jtreg/compiler/blackhole/BlackholeNonVoidWarning.java + test/hotspot/jtreg/compiler/blackhole/BlackholeNonVoidWarningTest.java Changeset: a7080247 Author: Maurizio Cimadamore Date: 2020-12-08 12:15:13 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a7080247 8257194: Add 'foreign linker API' in 'jdk.incubator.foreign' module desc/summary Reviewed-by: jvernee, shade ! src/jdk.incubator.foreign/share/classes/module-info.java Changeset: d0c52651 Author: Jan Lahoda Date: 2020-12-08 13:09:15 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d0c52651 8256149: Weird AST structure for incomplete member select Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: 936a7acf Author: Gerard Ziemski Date: 2020-12-08 15:49:11 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/936a7acf 8252797: Non-PCH build fails on Ubuntu 16.4 when building with gtests Reviewed-by: dholmes ! test/hotspot/gtest/unittest.hpp Changeset: fab6158c Author: Daniel Fuchs Date: 2020-12-08 16:36:04 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fab6158c 8236413: AbstractConnectTimeout should tolerate both NoRouteToHostException and UnresolvedAddressException Reviewed-by: aefimov, michaelm ! test/jdk/java/net/httpclient/AbstractConnectTimeout.java Changeset: 044616bd Author: Vladimir Ivanov Date: 2020-12-08 17:02:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/044616bd 8252049: Native memory leak in ciMethodData ctor Reviewed-by: kbarrett, coleenp ! src/hotspot/share/ci/ciMethodData.cpp ! src/hotspot/share/ci/ciMethodData.hpp ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/oops/methodData.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.java Changeset: 264feb35 Author: Magnus Ihse Bursie Date: 2020-12-08 17:59:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/264feb35 8257905: Make fixpath.sh more liberal in accepting paths embedded in arguments Reviewed-by: erikj ! make/scripts/fixpath.sh Changeset: 1a9ed92d Author: Brent Christian Date: 2020-12-08 18:01:04 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1a9ed92d 8200102: NativeLibraryTest.java fails intermittently, unloaded count is not same as expected Reviewed-by: mchung, naoto ! test/jdk/java/lang/ClassLoader/nativeLibrary/NativeLibraryTest.java Changeset: f48d5d1b Author: Erik Joelsson Date: 2020-12-08 18:45:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f48d5d1b 8257789: Fix incremental build of test-image and bundles Reviewed-by: tbell, ihse ! make/TestImage.gmk Changeset: 291ba97f Author: Calvin Cheung Date: 2020-12-08 20:00:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/291ba97f 8251267: CDS tests should use CDSTestUtils.getOutputDir instead of System.getProperty("user.dir") Reviewed-by: minqi, iklam ! test/hotspot/jtreg/runtime/cds/appcds/DirClasspathTest.java ! test/hotspot/jtreg/runtime/cds/appcds/MoveJDKTest.java ! test/hotspot/jtreg/runtime/cds/appcds/RelativePath.java ! test/hotspot/jtreg/runtime/cds/appcds/TestCommon.java ! test/hotspot/jtreg/runtime/cds/appcds/UnusedCPDuringDump.java ! test/hotspot/jtreg/runtime/cds/appcds/cacheObject/ArchivedIntegerCacheTest.java ! test/hotspot/jtreg/runtime/cds/appcds/cacheObject/ArchivedModuleComboTest.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/DynamicLotsOfClasses.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/MainModuleOnly.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/UnsupportedBaseArchive.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/UnusedCPDuringDump.java ! test/hotspot/jtreg/runtime/cds/appcds/javaldr/GCSharedStringsDuringDump.java ! test/hotspot/jtreg/runtime/cds/appcds/jigsaw/NewModuleFinderTest.java ! test/hotspot/jtreg/runtime/cds/appcds/jigsaw/modulepath/AddModules.java ! test/hotspot/jtreg/runtime/cds/appcds/jigsaw/modulepath/AddOpens.java ! test/hotspot/jtreg/runtime/cds/appcds/jigsaw/modulepath/AddReads.java ! test/hotspot/jtreg/runtime/cds/appcds/jigsaw/modulepath/ExportModule.java ! test/hotspot/jtreg/runtime/cds/appcds/jigsaw/modulepath/JvmtiAddPath.java ! test/hotspot/jtreg/runtime/cds/appcds/jigsaw/modulepath/MainModuleOnly.java ! test/hotspot/jtreg/runtime/cds/appcds/jigsaw/modulepath/ModulePathAndCP.java ! test/hotspot/jtreg/runtime/cds/appcds/jigsaw/modulepath/OptimizeModuleHandlingTest.java ! test/hotspot/jtreg/runtime/cds/appcds/sharedStrings/SharedStringsHumongous.java ! test/hotspot/jtreg/runtime/cds/appcds/sharedStrings/SharedStringsStress.java ! test/lib/jdk/test/lib/cds/CDSTestUtils.java Changeset: c47ab5f6 Author: Marius Volkhart Committer: Joe Wang Date: 2020-12-08 20:43:42 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c47ab5f6 8256515: javax.xml.XMLEventReader produces incorrect START_DOCUMENT event Reviewed-by: joehw ! src/java.xml/share/classes/com/sun/xml/internal/stream/events/StartDocumentEvent.java ! src/java.xml/share/classes/com/sun/xml/internal/stream/events/XMLEventAllocatorImpl.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLEventReaderTest/EventReaderTest.java Changeset: ed4c4ee7 Author: Mark Reinhold Date: 2020-12-08 22:12:24 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ed4c4ee7 8256299: Implement JEP 396: Strongly Encapsulate JDK Internals by Default Co-authored-by: Alan Bateman Reviewed-by: mchung, alanb ! src/hotspot/share/runtime/arguments.cpp ! src/java.base/share/classes/jdk/internal/module/ArchivedBootLayer.java ! src/java.base/share/classes/jdk/internal/module/ArchivedModuleGraph.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java ! test/jdk/tools/launcher/modules/illegalaccess/IllegalAccessTest.java Changeset: 48d8650a Author: Dan Smith Date: 2020-12-08 23:04:01 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/48d8650a 8257845: Integrate JEP 390 8254047: [JEP 390] Revise "value-based class" & apply to wrappers 8252181: [JEP 390] Define & apply annotation jdk.internal.ValueBased 8252183: [JEP 390] Add 'lint' warning for @ValueBased classes 8257027: [JEP 390] Diagnose synchronization on @ValueBased classes 8252180: [JEP 390] Deprecate wrapper class constructors for removal Co-authored-by: Roger Riggs Co-authored-by: Srikanth Adayapalam Co-authored-by: Lois Foltan Reviewed-by: rriggs, hseigel, mchung, darcy ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/arm/c1_MacroAssembler_arm.cpp ! src/hotspot/cpu/arm/c2_MacroAssembler_arm.cpp ! src/hotspot/cpu/arm/interp_masm_arm.cpp ! src/hotspot/cpu/ppc/c1_MacroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/s390/c1_MacroAssembler_s390.cpp ! src/hotspot/cpu/s390/interp_masm_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp ! src/hotspot/share/utilities/accessFlags.hpp ! src/java.base/share/classes/java/lang/Boolean.java ! src/java.base/share/classes/java/lang/Byte.java ! src/java.base/share/classes/java/lang/Character.java ! src/java.base/share/classes/java/lang/Double.java ! src/java.base/share/classes/java/lang/Float.java ! src/java.base/share/classes/java/lang/Integer.java ! src/java.base/share/classes/java/lang/Long.java ! src/java.base/share/classes/java/lang/ProcessHandle.java ! src/java.base/share/classes/java/lang/ProcessHandleImpl.java ! src/java.base/share/classes/java/lang/Runtime.java ! src/java.base/share/classes/java/lang/Short.java ! src/java.base/share/classes/java/lang/constant/ConstantDesc.java ! src/java.base/share/classes/java/lang/constant/DynamicCallSiteDesc.java ! src/java.base/share/classes/java/lang/constant/DynamicConstantDesc.java ! src/java.base/share/classes/java/lang/doc-files/ValueBased.html ! src/java.base/share/classes/java/lang/invoke/MemberName.java ! src/java.base/share/classes/java/time/Duration.java ! src/java.base/share/classes/java/time/Instant.java ! src/java.base/share/classes/java/time/LocalDate.java ! src/java.base/share/classes/java/time/LocalDateTime.java ! src/java.base/share/classes/java/time/LocalTime.java ! src/java.base/share/classes/java/time/MonthDay.java ! src/java.base/share/classes/java/time/OffsetDateTime.java ! src/java.base/share/classes/java/time/OffsetTime.java ! src/java.base/share/classes/java/time/Period.java ! src/java.base/share/classes/java/time/Year.java ! src/java.base/share/classes/java/time/YearMonth.java ! src/java.base/share/classes/java/time/ZoneId.java ! src/java.base/share/classes/java/time/ZoneOffset.java ! src/java.base/share/classes/java/time/ZonedDateTime.java ! src/java.base/share/classes/java/time/chrono/HijrahDate.java ! src/java.base/share/classes/java/time/chrono/JapaneseDate.java ! src/java.base/share/classes/java/time/chrono/MinguoDate.java ! src/java.base/share/classes/java/time/chrono/ThaiBuddhistChronology.java ! src/java.base/share/classes/java/time/chrono/ThaiBuddhistDate.java ! src/java.base/share/classes/java/time/format/TextStyle.java ! src/java.base/share/classes/java/util/ImmutableCollections.java ! src/java.base/share/classes/java/util/KeyValueHolder.java ! src/java.base/share/classes/java/util/List.java ! src/java.base/share/classes/java/util/Map.java ! src/java.base/share/classes/java/util/Optional.java ! src/java.base/share/classes/java/util/OptionalDouble.java ! src/java.base/share/classes/java/util/OptionalInt.java ! src/java.base/share/classes/java/util/OptionalLong.java ! src/java.base/share/classes/java/util/Set.java + src/java.base/share/classes/jdk/internal/ValueBased.java ! src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectionImpl_Stub.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serialize/HTMLdtd.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/GroupLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/PaddingLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SequenceLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/ValueLayout.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/EconomicMapImplTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/EconomicSetTest.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/PEAAssertionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/PartialEscapeAnalysisTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/tutorial/StaticAnalysisTests.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_allocate02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/MonitorTest.java ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc = test/hotspot/jtreg/runtime/Monitor/SyncOnValueBasedClassTest.java ! test/jdk/jdk/jfr/event/metadata/TestLookForUntestedEvents.java - test/jdk/jdk/jfr/event/runtime/TestSyncOnPrimitiveWrapperEvent.java + test/jdk/jdk/jfr/event/runtime/TestSyncOnValueBasedClassEvent.java ! test/langtools/jdk/jshell/ImportTest.java + test/langtools/tools/javac/diags/examples/AttemptToSynchronizeOnInstanceOfVbc.java ! test/langtools/tools/javac/lambda/8074381/T8074381a.java + test/langtools/tools/javac/lint/ExternalAbuseOfVbc.java + test/langtools/tools/javac/lint/ExternalAbuseOfVbc.out + test/langtools/tools/javac/lint/JdkInternalAbuseOfVbc.java + test/langtools/tools/javac/lint/JdkInternalAbuseOfVbc.out = test/langtools/tools/javac/lint/LintModeOffAbuseOfVbc.out + test/langtools/tools/javac/lint/SomeVbc.java ! test/lib/jdk/test/lib/hexdump/HexPrinter.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: b29f9cd7 Author: Jonathan Gibbons Date: 2020-12-08 23:25:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b29f9cd7 8075778: Add javadoc tag to avoid duplication of return information in simple situations. Reviewed-by: prappo, jlahoda ! src/jdk.compiler/share/classes/com/sun/source/doctree/ReturnTree.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTreeFactory.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocPretty.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocTreeMaker.java ! src/jdk.compiler/share/classes/jdk/internal/shellsupport/doc/JavadocFormatter.java ! src/jdk.compiler/share/classes/jdk/internal/shellsupport/doc/resources/javadocformatter.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ReturnTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint.properties ! test/langtools/jdk/internal/shellsupport/doc/JavadocFormatterTest.java ! test/langtools/jdk/javadoc/doclet/testReturnTag/TestReturnTag.java ! test/langtools/jdk/javadoc/doclet/testTaglets/TestTaglets.out ! test/langtools/tools/doclint/EmptyHtmlTest.java Changeset: 2a62d5d3 Author: Joe Darcy Date: 2020-12-09 02:37:30 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2a62d5d3 8256917: Use combo @returns tag in java.compiler javadoc Reviewed-by: jjg, iris ! src/java.compiler/share/classes/javax/annotation/processing/AbstractProcessor.java ! src/java.compiler/share/classes/javax/annotation/processing/Completion.java ! src/java.compiler/share/classes/javax/annotation/processing/Completions.java ! src/java.compiler/share/classes/javax/annotation/processing/ProcessingEnvironment.java ! src/java.compiler/share/classes/javax/annotation/processing/Processor.java ! src/java.compiler/share/classes/javax/annotation/processing/RoundEnvironment.java ! src/java.compiler/share/classes/javax/annotation/processing/SupportedAnnotationTypes.java ! src/java.compiler/share/classes/javax/annotation/processing/SupportedOptions.java ! src/java.compiler/share/classes/javax/annotation/processing/SupportedSourceVersion.java ! src/java.compiler/share/classes/javax/lang/model/AnnotatedConstruct.java ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java ! src/java.compiler/share/classes/javax/lang/model/element/AnnotationMirror.java ! src/java.compiler/share/classes/javax/lang/model/element/AnnotationValue.java ! src/java.compiler/share/classes/javax/lang/model/element/Element.java ! src/java.compiler/share/classes/javax/lang/model/element/ExecutableElement.java ! src/java.compiler/share/classes/javax/lang/model/element/ModuleElement.java ! src/java.compiler/share/classes/javax/lang/model/element/PackageElement.java ! src/java.compiler/share/classes/javax/lang/model/element/QualifiedNameable.java ! src/java.compiler/share/classes/javax/lang/model/element/RecordComponentElement.java ! src/java.compiler/share/classes/javax/lang/model/element/TypeParameterElement.java ! src/java.compiler/share/classes/javax/lang/model/element/VariableElement.java ! src/java.compiler/share/classes/javax/lang/model/type/ArrayType.java ! src/java.compiler/share/classes/javax/lang/model/type/DeclaredType.java ! src/java.compiler/share/classes/javax/lang/model/type/ExecutableType.java ! src/java.compiler/share/classes/javax/lang/model/type/IntersectionType.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeKind.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeMirror.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeVariable.java ! src/java.compiler/share/classes/javax/lang/model/type/UnionType.java ! src/java.compiler/share/classes/javax/lang/model/type/WildcardType.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementFilter.java ! src/java.compiler/share/classes/javax/lang/model/util/Elements.java ! src/java.compiler/share/classes/javax/lang/model/util/Types.java Changeset: 10da767c Author: Igor Veresov Date: 2020-12-09 04:28:59 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/10da767c 8257847: Tiered should publish MDO data pointer for interpreter after profile start Reviewed-by: thartmann, kvn, dlong ! src/hotspot/share/compiler/tieredThresholdPolicy.cpp Changeset: 9ce3d806 Author: Aleksey Shipilev Date: 2020-12-09 06:42:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9ce3d806 8257887: java/foreign/TestSegments.java test fails on 32-bit after JDK-8257186 Reviewed-by: jiefu, adityam, redestad ! test/jdk/java/foreign/TestSegments.java Changeset: 79f1dfb8 Author: Per Liden Date: 2020-12-09 07:46:04 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/79f1dfb8 8255987: JDI tests fail with com.sun.jdi.ObjectCollectedException Reviewed-by: dholmes, cjplummer ! src/jdk.jdwp.agent/share/native/libjdwp/commonRef.c ! src/jdk.jdwp.agent/share/native/libjdwp/commonRef.h ! src/jdk.jdwp.agent/share/native/libjdwp/threadControl.c ! src/jdk.jdwp.agent/share/native/libjdwp/util.h ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayType/newInstance/newinstance004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/instances/instances002/instances002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VMOutOfMemoryException/VMOutOfMemoryException001/VMOutOfMemoryException001.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdi/sde/SDEDebuggee.java Changeset: fae7961a Author: Christoph Langer Date: 2020-12-09 08:12:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fae7961a 8257884: Re-enable sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java as automatic test Reviewed-by: xuelei ! test/jdk/sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java Changeset: df55ecd8 Author: Jie Fu Date: 2020-12-09 09:01:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/df55ecd8 8257794: Zero: assert(istate->_stack_limit == istate->_thread->last_Java_sp() + 1) failed: wrong on Linux/x86_32 Reviewed-by: shade ! src/hotspot/share/interpreter/zero/bytecodeInterpreter.cpp Changeset: b4615c67 Author: Hannes Walln?fer Date: 2020-12-09 09:21:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b4615c67 8256580: Fault in new grid display Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java Changeset: 5bdce9b9 Author: Julia Boes Date: 2020-12-09 09:32:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5bdce9b9 8257639: Update usage of "type" terminology in java.lang.Enum & java.lang.Record Reviewed-by: chegar, dfuchs ! src/java.base/share/classes/java/lang/Enum.java ! src/java.base/share/classes/java/lang/Record.java Changeset: 616b1f12 Author: Ivan ?ipka Committer: Alan Bateman Date: 2020-12-09 10:28:04 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/616b1f12 8257516: define test group for manual tests Reviewed-by: iignatyev ! test/jdk/TEST.groups Changeset: d3dddb6a Author: Bernhard Urban-Forster Committer: Magnus Ihse Bursie Date: 2020-12-09 11:21:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d3dddb6a 8256657: Add cross-compiled build for Windows+Arm64 to submit workflow Reviewed-by: shade, ihse ! .github/workflows/submit.yml Changeset: 0201a33d Author: Martin Doerr Date: 2020-12-09 13:17:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0201a33d 8255959: Timeouts in VectorConversion tests Reviewed-by: psandoz, stuefe ! test/jdk/jdk/incubator/vector/Vector64ConversionTests.java Changeset: f148915d Author: Christian Hagedorn Date: 2020-12-09 14:36:13 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f148915d 8245107: Use Unified Logging in trace_method_handle_stub() Reviewed-by: coleenp, mdoerr ! src/hotspot/cpu/arm/methodHandles_arm.cpp ! src/hotspot/cpu/ppc/methodHandles_ppc.cpp ! src/hotspot/cpu/s390/methodHandles_s390.cpp ! src/hotspot/cpu/x86/methodHandles_x86.cpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/frame.hpp Changeset: 6eff9315 Author: Jan Lahoda Date: 2020-12-09 15:05:01 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6eff9315 8256950: Add record attribute support to symbol generator CreateSymbols Reviewed-by: jjg, chegar ! make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java - make/langtools/test/sym/CreateSymbolsTest.java - make/langtools/test/sym/CreateSymbolsTestImpl.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/MethodParameters_attribute.java ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/Record_attribute.java + test/langtools/tools/javac/platform/createsymbols/CreateSymbolsTest.java + test/langtools/tools/javac/platform/createsymbols/CreateSymbolsTestImpl.java + test/langtools/tools/javac/records/RecordReading.java Changeset: 6c69eca3 Author: Magnus Ihse Bursie Date: 2020-12-09 15:41:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6c69eca3 8257973: UTIL_LOOKUP_PROGS should only find executable files Reviewed-by: erikj ! make/autoconf/util_paths.m4 Changeset: cf62b0ad Author: Eric Caspole Date: 2020-12-09 15:55:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/cf62b0ad 8257518: LogCompilation: java.lang.InternalError with JFR turned on Reviewed-by: kvn, redestad ! src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/LogParser.java ! src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/MakeNotEntrantEvent.java ! src/utils/LogCompilation/src/test/java/com/sun/hotspot/tools/compiler/TestLogCompilation.java Changeset: bd22aa5e Author: Jan Lahoda Date: 2020-12-09 16:49:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bd22aa5e 8229862: NPE in jdk.compiler/com.sun.tools.javac.jvm.Code.emitop0(Code.java:570) Co-authored-by: Bernard Blaser Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java + test/langtools/tools/javac/lambda/LambdaConv30.java Changeset: 6dd06add Author: Patrick Concannon Date: 2020-12-09 17:03:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6dd06add 8254996: make jdk.net.UnixDomainPrincipal a record class Reviewed-by: dfuchs, michaelm ! src/jdk.net/share/classes/jdk/net/UnixDomainPrincipal.java Changeset: 5f033412 Author: Mandy Chung Date: 2020-12-09 17:27:02 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5f033412 8052260: Reference.isEnqueued() spec does not match the long-standing behavior returning true iff it's in the ref queue Reviewed-by: kbarrett, alanb ! src/java.base/share/classes/java/lang/ref/Reference.java ! src/java.base/share/classes/jdk/internal/ref/PhantomCleanable.java Changeset: b977a7b8 Author: Marcus G K Williams Committer: Thomas Stuefe Date: 2020-12-09 18:59:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b977a7b8 8257989: Error in gtest os_page_size_for_region_unaligned after 8257588 Reviewed-by: stuefe ! test/hotspot/gtest/runtime/test_os.cpp Changeset: e6b4c4d7 Author: Alexander Matveev Date: 2020-12-09 19:02:15 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e6b4c4d7 8238781: [macos] jpackage tests failed due to "hdiutil: convert failed" in various ways Reviewed-by: herrick, asemenyuk ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacDmgBundler.java Changeset: d33a689b Author: Harold Seigel Date: 2020-12-09 19:07:11 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d33a689b 8256867: Classes with empty PermittedSubclasses attribute cannot be extended Reviewed-by: lfoltan, mchung, jlahoda, chegar ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/prims/jvm.cpp ! src/java.base/share/classes/java/lang/Class.java ! test/hotspot/jtreg/runtime/sealedClasses/GetPermittedSubclasses.jcod ! test/hotspot/jtreg/runtime/sealedClasses/GetPermittedSubclassesTest.java ! test/jdk/java/lang/reflect/sealed_classes/SealedClassesReflectionTest.java ! test/langtools/tools/javac/sealed/SealedCompilationTests.java Changeset: 30de320c Author: Andrey Turbanov Committer: Jonathan Gibbons Date: 2020-12-09 19:20:13 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/30de320c 6882207: Convert javap to use diamond operator internally Reviewed-by: jjg ! src/jdk.jdeps/share/classes/com/sun/tools/javap/CodeWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/ConstantWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/JavapTask.java Changeset: fd5f6e2e Author: Vladimir Kozlov Date: 2020-12-09 19:21:53 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fd5f6e2e 8257986: [JVMCI] ProblemList 2 reprofile JVMCI tests Reviewed-by: iignatyev ! test/hotspot/jtreg/ProblemList.txt Changeset: baf4c1a4 Author: Doug Simon Date: 2020-12-09 20:26:55 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/baf4c1a4 8257917: [JVMCI] crash when materializing boxed values under -Xcomp Reviewed-by: iveresov, kvn ! src/hotspot/share/aot/aotLoader.cpp ! src/hotspot/share/jvmci/jvmci.cpp ! src/hotspot/share/jvmci/jvmci.hpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp Changeset: 46c9a860 Author: Guoxiong Li Committer: Jonathan Gibbons Date: 2020-12-09 21:09:23 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/46c9a860 8245956: JavaCompiler still uses File API instead of Path API in a specific case Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/JavacFileManager.java + test/langtools/tools/javac/T8245956/T8245956.java Changeset: 0a3e446a Author: Coleen Phillimore Date: 2020-12-09 23:08:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0a3e446a 8257993: vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine/TestDescription.java crash intermittently Reviewed-by: sspitsyn, hseigel, dholmes ! src/hotspot/share/interpreter/interpreterRuntime.cpp Changeset: 53e537c7 Author: Toshio Nakamura Committer: Phil Race Date: 2020-12-10 00:27:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/53e537c7 8255387: Japanese characters were printed upside down on AIX Reviewed-by: prr, serb ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c + test/jdk/java/awt/font/Rotate/MirrorTest.java Changeset: 1ce2a36c Author: Andy Herrick Date: 2020-12-10 00:50:28 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1ce2a36c 8257539: tools/jpackage/windows/WinL10nTest.java unpack.bat failed with Exit code: 1618 Reviewed-by: almatvee, asemenyuk, prr, kizune ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/WindowsHelper.java Changeset: eb1c8a15 Author: Alexander Matveev Date: 2020-12-10 01:01:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/eb1c8a15 8257924: Use full path when running external executable from jpackage Reviewed-by: herrick, asemenyuk ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppBundler.java ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppImageBuilder.java ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppStoreBundler.java ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacBaseInstallerBundler.java ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacCertificate.java ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacDmgBundler.java ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java ! test/jdk/tools/jpackage/macosx/base/SigningBase.java ! test/jdk/tools/jpackage/macosx/base/SigningCheck.java Changeset: f631a990 Author: Phil Race Date: 2020-12-10 01:36:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f631a990 8256888: Client manual test problem list update Reviewed-by: serb ! test/jdk/ProblemList.txt Changeset: d2f9e31a Author: Joe Darcy Date: 2020-12-10 02:59:26 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d2f9e31a 8257638: Update usage of "type" terminology in javax.lang.model Reviewed-by: jjg ! src/java.compiler/share/classes/javax/annotation/processing/AbstractProcessor.java ! src/java.compiler/share/classes/javax/annotation/processing/Filer.java ! src/java.compiler/share/classes/javax/annotation/processing/FilerException.java ! src/java.compiler/share/classes/javax/annotation/processing/Processor.java ! src/java.compiler/share/classes/javax/annotation/processing/SupportedAnnotationTypes.java ! src/java.compiler/share/classes/javax/lang/model/element/AnnotationMirror.java ! src/java.compiler/share/classes/javax/lang/model/element/AnnotationValue.java ! src/java.compiler/share/classes/javax/lang/model/element/AnnotationValueVisitor.java ! src/java.compiler/share/classes/javax/lang/model/element/Element.java ! src/java.compiler/share/classes/javax/lang/model/element/ElementKind.java ! src/java.compiler/share/classes/javax/lang/model/element/ExecutableElement.java ! src/java.compiler/share/classes/javax/lang/model/element/NestingKind.java ! src/java.compiler/share/classes/javax/lang/model/element/RecordComponentElement.java ! src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java ! src/java.compiler/share/classes/javax/lang/model/element/package-info.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementFilter.java ! src/java.compiler/share/classes/javax/lang/model/util/Elements.java Changeset: 6847bbbb Author: Michael Edgar Committer: Joe Wang Date: 2020-12-10 03:40:01 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6847bbbb 8255918: XMLStreamFilterImpl constructor consumes XMLStreamException Reviewed-by: joehw ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLStreamFilterImpl.java + test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamFilterTest/XMLStreamReaderFilterTest.java Changeset: 34650f52 Author: Koichi Sakata Committer: Yasumasa Suenaga Date: 2020-12-10 04:05:18 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/34650f52 8257872: UL: -Xlog does not check number of options Reviewed-by: dholmes, iklam, ysuenaga ! src/hotspot/share/logging/logConfiguration.cpp Changeset: 869dcb6f Author: Sandhya Viswanathan Date: 2020-12-10 04:31:27 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/869dcb6f 8257806: Optimize x86 allTrue and anyTrue vector mask operations of Vector API Reviewed-by: kvn, psandoz ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad Changeset: d93293f3 Author: Roland Westrelin Date: 2020-12-10 08:09:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d93293f3 8256730: Code that uses Object.checkIndex() range checks doesn't optimize well Reviewed-by: vlivanov, thartmann ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/convertnode.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/conversions/TestMoveConvI2LOrCastIIThruAddIs.java - test/hotspot/jtreg/compiler/conversions/TestMoveConvI2LThroughAddIs.java Changeset: 4a839e95 Author: Daniel Fuchs Date: 2020-12-10 10:09:29 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4a839e95 8256459: java/net/httpclient/ManyRequests.java and java/net/httpclient/LineBodyHandlerTest.java fail infrequently with java.net.ConnectException: Connection timed out: no further information Reviewed-by: chegar ! src/java.net.http/share/classes/jdk/internal/net/http/MultiExchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/PlainHttpConnection.java ! test/jdk/java/net/httpclient/HttpServerAdapters.java ! test/jdk/java/net/httpclient/LineBodyHandlerTest.java ! test/jdk/java/net/httpclient/ManyRequests.java ! test/jdk/java/net/httpclient/ManyRequests2.java Changeset: db5da961 Author: Kim Barrett Date: 2020-12-10 10:34:47 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/db5da961 8257876: Avoid Reference.isEnqueued in tests Reviewed-by: mchung, tschatzl ! test/hotspot/jtreg/vmTestbase/gc/gctests/ReferencesGC/ReferencesGC.java ! test/hotspot/jtreg/vmTestbase/gc/gctests/WeakReferenceGC/WeakReferenceGC.java ! test/jdk/java/lang/ref/ReferenceEnqueue.java Changeset: 29ffffa7 Author: Christoph Langer Date: 2020-12-10 10:56:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/29ffffa7 8257997: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java again reports leaks after JDK-8257884 Reviewed-by: mbaesken ! test/jdk/sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java Changeset: 0a0691eb Author: Per Liden Date: 2020-12-10 11:10:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0a0691eb 8257901: ZGC: Take virtual memory usage into account when sizing heap Reviewed-by: stefank, eosterlund, ayang, tschatzl ! src/hotspot/share/gc/shared/gcArguments.cpp ! src/hotspot/share/gc/shared/gcArguments.hpp ! src/hotspot/share/gc/z/zAddressSpaceLimit.cpp ! src/hotspot/share/gc/z/zArguments.cpp ! src/hotspot/share/gc/z/zArguments.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/arguments.hpp Changeset: 026b09cf Author: Dong Bo Committer: Fei Yang Date: 2020-12-10 12:26:04 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/026b09cf 8257483: C2: Split immediate vector rotate from RotateLeftV and RotateRightV nodes Reviewed-by: vlivanov ! 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/x86/x86.ad ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/opto/vectornode.cpp Changeset: 502a5241 Author: Markus Gr?nlund Date: 2020-12-10 12:33:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/502a5241 8257602: Introduce JFR Event Throttling and new jdk.ObjectAllocationSample event (enabled by default) Co-authored-by: Jaroslav Bachorik Reviewed-by: egahlin, jbachorik ! make/src/classes/build/tools/jfr/GenerateJfrFiles.java ! src/hotspot/share/gc/shared/allocTracer.cpp ! src/hotspot/share/jfr/jni/jfrJniMethod.cpp ! src/hotspot/share/jfr/jni/jfrJniMethod.hpp ! src/hotspot/share/jfr/jni/jfrJniMethodRegistration.cpp ! src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.cpp ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/jfr/metadata/metadata.xsd ! src/hotspot/share/jfr/recorder/jfrRecorder.cpp ! src/hotspot/share/jfr/recorder/jfrRecorder.hpp ! src/hotspot/share/jfr/recorder/service/jfrEvent.hpp + src/hotspot/share/jfr/recorder/service/jfrEventThrottler.cpp + src/hotspot/share/jfr/recorder/service/jfrEventThrottler.hpp + src/hotspot/share/jfr/support/jfrAdaptiveSampler.cpp + src/hotspot/share/jfr/support/jfrAdaptiveSampler.hpp ! src/hotspot/share/jfr/utilities/jfrLogTagSets.hpp + src/hotspot/share/jfr/utilities/jfrRandom.hpp + src/hotspot/share/jfr/utilities/jfrRandom.inline.hpp ! src/hotspot/share/jfr/utilities/jfrTryLock.hpp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventControl.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/LogTag.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataLoader.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataRepository.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformEventType.java + src/jdk.jfr/share/classes/jdk/jfr/internal/Throttle.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/Utils.java + src/jdk.jfr/share/classes/jdk/jfr/internal/settings/ThrottleSetting.java ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc + test/hotspot/gtest/jfr/test_adaptiveSampler.cpp ! test/jdk/TEST.groups + test/jdk/jdk/jfr/event/allocation/TestObjectAllocationInNewTLABEvent.java + test/jdk/jdk/jfr/event/allocation/TestObjectAllocationOutsideTLABEvent.java + test/jdk/jdk/jfr/event/allocation/TestObjectAllocationSampleEvent.java + test/jdk/jdk/jfr/event/allocation/TestObjectAllocationSampleEventThrottling.java - test/jdk/jdk/jfr/event/compiler/TestAllocInNewTLAB.java - test/jdk/jdk/jfr/event/compiler/TestAllocOutsideTLAB.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: 0890620c Author: Magnus Ihse Bursie Date: 2020-12-10 14:54:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0890620c 8258005: JDK build fails with incorrect fixpath script Co-authored-by: Mikael Vidstedt Reviewed-by: erikj ! make/autoconf/basic_windows.m4 Changeset: 37043b05 Author: Maurizio Cimadamore Date: 2020-12-10 15:32:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/37043b05 8257837: Performance regression in heap byte buffer views Reviewed-by: chegar, roland ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/oops/methodData.cpp + test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverPollutedBuffer.java Changeset: b35401d6 Author: Michael McMahon Date: 2020-12-10 16:02:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b35401d6 8257966: Instrument test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/StateTestService.java Reviewed-by: alanb, dfuchs ! test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/InheritedChannelTest.java ! test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/StateTestService.java ! test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/java.policy.fail ! test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/java.policy.pass Changeset: d163c6fe Author: Doug Simon Date: 2020-12-10 16:16:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d163c6fe 8258015: [JVMCI] JVMCI_lock shouldn't be held while initializing box classes Reviewed-by: iveresov ! src/hotspot/share/jvmci/jvmci.cpp ! src/hotspot/share/jvmci/jvmci.hpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.hpp Changeset: 6be1f567 Author: Joe Darcy Date: 2020-12-10 16:46:28 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6be1f567 8257450: Start of release updates for JDK 17 8257451: Add SourceVersion.RELEASE_17 8257453: Add source 17 and target 17 to javac Reviewed-by: dholmes, erikj, iris, mikael, jjg, jlahoda, jwilhelm, mchung, ihse ! make/autoconf/version-numbers + make/data/symbols/java.base-G.sym.txt + make/data/symbols/java.compiler-G.sym.txt + make/data/symbols/java.datatransfer-G.sym.txt + make/data/symbols/java.desktop-G.sym.txt + make/data/symbols/java.instrument-G.sym.txt + make/data/symbols/java.logging-G.sym.txt + make/data/symbols/java.management-G.sym.txt + make/data/symbols/java.management.rmi-G.sym.txt + make/data/symbols/java.naming-G.sym.txt + make/data/symbols/java.net.http-G.sym.txt + make/data/symbols/java.rmi-G.sym.txt + make/data/symbols/java.scripting-G.sym.txt + make/data/symbols/java.security.jgss-G.sym.txt + make/data/symbols/java.security.sasl-G.sym.txt + make/data/symbols/java.smartcardio-G.sym.txt + make/data/symbols/java.sql-G.sym.txt + make/data/symbols/java.sql.rowset-G.sym.txt + make/data/symbols/java.xml-G.sym.txt + make/data/symbols/java.xml.crypto-G.sym.txt + make/data/symbols/jdk.accessibility-G.sym.txt + make/data/symbols/jdk.attach-G.sym.txt + make/data/symbols/jdk.compiler-G.sym.txt + make/data/symbols/jdk.dynalink-G.sym.txt + make/data/symbols/jdk.httpserver-G.sym.txt + make/data/symbols/jdk.incubator.foreign-G.sym.txt + make/data/symbols/jdk.incubator.jpackage-G.sym.txt + make/data/symbols/jdk.incubator.vector-G.sym.txt + make/data/symbols/jdk.jartool-G.sym.txt + make/data/symbols/jdk.javadoc-G.sym.txt + make/data/symbols/jdk.jconsole-G.sym.txt + make/data/symbols/jdk.jdi-G.sym.txt + make/data/symbols/jdk.jfr-G.sym.txt + make/data/symbols/jdk.jpackage-G.sym.txt + make/data/symbols/jdk.jshell-G.sym.txt + make/data/symbols/jdk.jsobject-G.sym.txt + make/data/symbols/jdk.management-G.sym.txt + make/data/symbols/jdk.management.jfr-G.sym.txt + make/data/symbols/jdk.net-G.sym.txt + make/data/symbols/jdk.sctp-G.sym.txt + make/data/symbols/jdk.security.auth-G.sym.txt + make/data/symbols/jdk.security.jgss-G.sym.txt + make/data/symbols/jdk.unsupported-G.sym.txt + make/data/symbols/jdk.xml.dom-G.sym.txt ! make/data/symbols/symbols ! src/hotspot/share/classfile/classFileParser.cpp ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/Opcodes.java ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassFile.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/Classfile.java ! test/hotspot/jtreg/runtime/modules/sealedP1/SuperClass.jcod ! test/hotspot/jtreg/runtime/modules/sealedP1/SuperInterface.jcod ! test/hotspot/jtreg/runtime/sealedClasses/GetPermittedSubclasses.jcod ! test/hotspot/jtreg/runtime/sealedClasses/Pkg/NotPermitted.jcod ! test/hotspot/jtreg/runtime/sealedClasses/Pkg/SealedInterface.jcod ! test/hotspot/jtreg/runtime/sealedClasses/planets/Mars.jcod ! test/hotspot/jtreg/runtime/sealedClasses/planets/OuterPlanets.jcod ! test/jdk/java/lang/module/ClassFileVersionsTest.java ! test/langtools/tools/javac/api/TestGetSourceVersions.java ! test/langtools/tools/javac/classfiles/ClassVersionChecker.java ! test/langtools/tools/javac/lib/JavacTestingAbstractProcessor.java ! test/langtools/tools/javac/preview/classReaderTest/Client.nopreview.out ! test/langtools/tools/javac/preview/classReaderTest/Client.preview.out ! test/langtools/tools/javac/versions/Versions.java Changeset: 66936111 Author: Severin Gehwolf Date: 2020-12-10 16:47:02 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/66936111 8253797: [cgroups v2] Account for the fact that swap accounting is disabled on some systems Reviewed-by: hseigel ! src/java.base/linux/classes/jdk/internal/platform/cgroupv2/CgroupV2Subsystem.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV2.java Changeset: 1e5e790b Author: Ioi Lam Date: 2020-12-10 17:04:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1e5e790b 8258018: Remove arrayOop.inline.hpp Reviewed-by: stefank, kbarrett, coleenp ! src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupTable.cpp ! src/hotspot/share/oops/arrayOop.hpp - src/hotspot/share/oops/arrayOop.inline.hpp ! src/hotspot/share/oops/objArrayKlass.inline.hpp ! src/hotspot/share/oops/objArrayOop.inline.hpp ! src/hotspot/share/oops/typeArrayOop.inline.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvmtiTagMap.cpp Changeset: f5740561 Author: Claes Redestad Date: 2020-12-10 17:22:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f5740561 8256424: Move ciSymbol::symbol_name() to ciSymbols::symbol_name() Reviewed-by: kvn, iklam ! src/hotspot/share/aot/aotCodeHeap.cpp ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_InstructionPrinter.cpp ! src/hotspot/share/ci/bcEscapeAnalyzer.cpp ! src/hotspot/share/ci/bcEscapeAnalyzer.hpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/ci/ciField.hpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciMethod.hpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/ci/ciStreams.cpp ! src/hotspot/share/ci/ciSymbol.cpp ! src/hotspot/share/ci/ciSymbol.hpp + src/hotspot/share/ci/ciSymbols.hpp ! src/hotspot/share/compiler/compilerDirectives.hpp ! src/hotspot/share/compiler/methodLiveness.cpp ! src/hotspot/share/jvmci/compilerRuntime.cpp ! src/hotspot/share/jvmci/jvmciCompiler.cpp ! src/hotspot/share/jvmci/jvmciCompiler.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/parseHelper.cpp ! src/hotspot/share/opto/stringopts.cpp ! src/hotspot/share/opto/vector.cpp ! src/hotspot/share/opto/vectorIntrinsics.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/services/threadService.cpp Changeset: 3342ecaf Author: Igor Ignatyev Date: 2020-12-10 18:16:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3342ecaf 8258054: runtime/sealedClasses/GetPermittedSubclassesTest.java fails w/ jdk17 Reviewed-by: mikael, hseigel, darcy ! test/hotspot/jtreg/runtime/sealedClasses/GetPermittedSubclasses.jcod Changeset: 42264b2d Author: Brian Burkhalter Date: 2020-12-10 19:55:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/42264b2d 8257971: (fs) Remove unused code from WindowsPath.subpath(begin, end) Reviewed-by: lancea ! src/java.base/windows/classes/sun/nio/fs/WindowsPath.java Changeset: 164c55be Author: Igor Ignatyev Date: 2020-12-10 20:21:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/164c55be 8258056: jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java fails against jdk17 Reviewed-by: jwilhelm ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java Changeset: 80dac5a8 Author: Ioi Lam Date: 2020-12-10 20:33:13 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/80dac5a8 8257912: Convert enum iteration to use range-based for loops Reviewed-by: kbarrett, tschatzl, gziemski ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/utilities/enumIterator.hpp ! test/hotspot/gtest/utilities/test_enumIterator.cpp Changeset: d4282b0c Author: Ioi Lam Date: 2020-12-10 23:57:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d4282b0c 8257731: Remove excessive include of stubRoutines.hpp Reviewed-by: coleenp, kvn ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64_trig.cpp ! src/hotspot/cpu/aarch64/methodHandles_aarch64.cpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/jniFastGetField_arm.cpp ! src/hotspot/cpu/arm/methodHandles_arm.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp ! src/hotspot/cpu/ppc/methodHandles_ppc.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp ! src/hotspot/cpu/s390/c1_Runtime1_s390.cpp ! src/hotspot/cpu/s390/c2_MacroAssembler_s390.cpp ! src/hotspot/cpu/s390/methodHandles_s390.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/jniFastGetField_x86_64.cpp ! src/hotspot/cpu/x86/methodHandles_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86_32.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp ! src/hotspot/cpu/x86/universalUpcallHandler_x86_64.cpp ! src/hotspot/cpu/x86/vm_version_ext_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/zero/interpreterRT_zero.cpp ! src/hotspot/cpu/zero/interpreterRT_zero.hpp ! src/hotspot/os/posix/vmError_posix.cpp ! src/hotspot/share/aot/aotCodeHeap.cpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/code/codeBlob.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.hpp ! src/hotspot/share/interpreter/interpreterRuntime.hpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/generateOptoStub.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/stringopts.cpp ! src/hotspot/share/prims/jvmtiCodeBlobEvents.cpp ! src/hotspot/share/prims/methodHandles.hpp ! src/hotspot/share/prims/unsafe.cpp ! src/hotspot/share/runtime/frame.inline.hpp ! src/hotspot/share/runtime/icache.cpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/utilities/copy.cpp ! src/hotspot/share/utilities/copy.hpp Changeset: 37dc675c Author: John Lin Committer: Pavel Rappo Date: 2020-12-11 00:26:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/37dc675c 8247402: Documentation for Map::compute contains confusing implementation requirements Reviewed-by: prappo, martin ! src/java.base/share/classes/java/util/Map.java Changeset: 8befc321 Author: Jie Fu Date: 2020-12-11 03:36:17 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8befc321 8258073: x86_32 build broken after JDK-8257731 Reviewed-by: iklam ! src/hotspot/cpu/x86/jniFastGetField_x86_32.cpp Changeset: 1d15ebe1 Author: Ioi Lam Date: 2020-12-11 04:18:54 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1d15ebe1 8243205: Modularize JVM flags declaration Reviewed-by: kvn, coleenp, stefank ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86_arrayCopy_avx3.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/share/c1/c1_Compilation.hpp ! src/hotspot/share/c1/c1_globals.hpp + src/hotspot/share/c1/c1_globals_pd.hpp ! src/hotspot/share/code/scopeDesc.cpp ! src/hotspot/share/compiler/compilerDirectives.hpp ! src/hotspot/share/compiler/compiler_globals.hpp + src/hotspot/share/compiler/compiler_globals_pd.hpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/jvmci/jvmci.hpp ! src/hotspot/share/jvmci/jvmciCompiler.hpp ! src/hotspot/share/jvmci/jvmci_globals.hpp ! src/hotspot/share/opto/c2_globals.hpp + src/hotspot/share/opto/c2_globals_pd.hpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/runtime/escapeBarrier.hpp + src/hotspot/share/runtime/flags/allFlags.hpp ! src/hotspot/share/runtime/globals.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/globals_extension.hpp ! src/hotspot/share/runtime/globals_shared.hpp ! src/hotspot/share/runtime/init.cpp Changeset: b90b7f50 Author: Prasanta Sadhukhan Date: 2020-12-11 04:54:27 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b90b7f50 8196090: javax/swing/JComboBox/6559152/bug6559152.java fails Reviewed-by: serb ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JComboBox/4199622/bug4199622.java ! test/jdk/javax/swing/JComboBox/4515752/DefaultButtonTest.java ! test/jdk/javax/swing/JComboBox/4743225/bug4743225.java ! test/jdk/javax/swing/JComboBox/6559152/bug6559152.java Changeset: fa20186c Author: Kim Barrett Date: 2020-12-11 07:45:18 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fa20186c 8257676: Simplify WeakProcessorPhase Reviewed-by: iwalulya, ayang, tschatzl ! src/hotspot/share/gc/shared/weakProcessor.cpp ! src/hotspot/share/gc/shared/weakProcessor.inline.hpp + src/hotspot/share/gc/shared/weakProcessorPhase.hpp ! src/hotspot/share/gc/shared/weakProcessorPhaseTimes.cpp ! src/hotspot/share/gc/shared/weakProcessorPhaseTimes.hpp - src/hotspot/share/gc/shared/weakProcessorPhases.cpp - src/hotspot/share/gc/shared/weakProcessorPhases.hpp ! src/hotspot/share/utilities/enumIterator.hpp Changeset: b28b0947 Author: Dongbo He Committer: Fei Yang Date: 2020-12-11 09:06:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b28b0947 8257145: Performance regression with -XX:-ResizePLAB after JDK-8079555 Co-authored-by: Junjun Lin Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1EvacStats.cpp ! src/hotspot/share/gc/g1/g1EvacStats.hpp ! src/hotspot/share/gc/shared/plab.cpp ! src/hotspot/share/gc/shared/plab.hpp ! test/hotspot/jtreg/gc/g1/plab/TestPLABPromotion.java Changeset: b5592c05 Author: Per Liden Date: 2020-12-11 10:17:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b5592c05 8257970: Remove julong types in os::limit_heap_by_allocatable_memory Reviewed-by: stefank, tschatzl ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/gc/z/zAddressSpaceLimit.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/arguments.hpp ! src/hotspot/share/runtime/os.hpp Changeset: ff75ad51 Author: Claes Redestad Date: 2020-12-11 11:26:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ff75ad51 8258059: Clean up MethodData::profile_unsafe Reviewed-by: roland, chegar ! src/hotspot/share/oops/methodData.cpp Changeset: 82735140 Author: Ivan ?ipka Committer: Igor Ignatyev Date: 2020-12-11 14:37:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/82735140 8166026: Refactor java/lang shell tests to java Reviewed-by: mullan - test/jdk/java/lang/SecurityManager/modules/CustomSecurityManager.sh + test/jdk/java/lang/SecurityManager/modules/CustomSecurityManagerTest.java - test/jdk/java/lang/SecurityManager/modules/Test.java Changeset: f9c9bf03 Author: Conor Cleary Committer: Daniel Fuchs Date: 2020-12-11 16:07:11 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f9c9bf03 8255583: Investigate creating a test to trigger the condition in KeepAliveStreamCleaner Reviewed-by: dfuchs, chegar, michaelm + test/jdk/sun/net/www/http/KeepAliveStreamCleaner/KeepAliveStreamCleanerTestDriver.java + test/jdk/sun/net/www/http/KeepAliveStreamCleaner/java.base/sun/net/www/http/KeepAliveStreamCleanerTest.java Changeset: 74b79c6e Author: Naoto Sato Date: 2020-12-11 21:26:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/74b79c6e 8257964: Broken Calendar#getMinimalDaysInFirstWeek with java.locale.providers=HOST Reviewed-by: joehw ! src/java.base/windows/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java ! src/java.base/windows/native/libjava/HostLocaleProviderAdapter_md.c ! test/jdk/java/util/Locale/LocaleProviders.java ! test/jdk/java/util/Locale/LocaleProvidersRun.java Changeset: e1182920 Author: Prasanta Sadhukhan Date: 2020-12-14 03:36:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e1182920 8258040: Reenable fixed problemlisted test Reviewed-by: prr ! test/jdk/ProblemList.txt Changeset: c30fff7c Author: Ioi Lam Date: 2020-12-14 07:00:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c30fff7c 8257229: gtest death tests fail with unrecognized stderr output Reviewed-by: coleenp, minqi ! test/hotspot/gtest/unittest.hpp Changeset: 2ee795d9 Author: Prasanta Sadhukhan Date: 2020-12-14 11:34:39 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2ee795d9 8196092: javax/swing/JComboBox/8032878/bug8032878.java fails Reviewed-by: serb, pbansal ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JComboBox/8032878/bug8032878.java Changeset: e69ae07f Author: Claes Redestad Date: 2020-12-14 11:59:05 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e69ae07f 8257985: count_trailing_zeros doesn't handle 64-bit values on 32-bit JVM Reviewed-by: kbarrett ! src/hotspot/share/utilities/count_trailing_zeros.hpp ! test/hotspot/gtest/utilities/test_count_trailing_zeros.cpp Changeset: 15481041 Author: Sergey Tsypanov Committer: Daniel Fuchs Date: 2020-12-14 13:03:55 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/15481041 8255477: Remove unused method URL.set(String protocol, String host, int port, String file, String ref) Reviewed-by: dfuchs ! src/java.base/share/classes/java/net/URL.java Changeset: e8c40baf Author: Anton Litvinov Date: 2020-12-14 14:36:15 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e8c40baf 8255880: UI of Swing components is not redrawn after their internal state changed Reviewed-by: prr, serb ! src/java.desktop/unix/classes/sun/awt/X11/XFramePeer.java + test/jdk/javax/swing/JFrame/8255880/RepaintOnFrameIconifiedStateChangeTest.java Changeset: 1ff0f167 Author: Kim Barrett Date: 2020-12-14 16:13:23 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1ff0f167 8258142: Simplify G1RedirtyCardsQueue Separate local redirty qset from redirty queue. Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/gc/g1/g1EvacFailure.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.hpp ! src/hotspot/share/gc/g1/g1RedirtyCardsQueue.cpp ! src/hotspot/share/gc/g1/g1RedirtyCardsQueue.hpp Changeset: 2c3ae19a Author: Zhengyu Gu Date: 2020-12-14 17:55:23 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2c3ae19a 8258239: Shenandoah: Used wrong closure to mark concurrent roots Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp Changeset: fa77008f Author: Doug Simon Date: 2020-12-10 21:18:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fa77008f 8258015: [JVMCI] JVMCI_lock shouldn't be held while initializing box classes Reviewed-by: kvn Backport-of: d163c6fe2ec235a175b62ec821477d33b14841fe ! src/hotspot/share/jvmci/jvmci.cpp ! src/hotspot/share/jvmci/jvmci.hpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.hpp Changeset: e90d0d1d Author: Markus Gr?nlund Date: 2020-12-10 22:25:23 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e90d0d1d 8258065: ProblemList JfrGTestAdaptiveSampling Reviewed-by: iignatyev ! test/hotspot/gtest/jfr/test_adaptiveSampler.cpp Changeset: 58dca925 Author: Yudi Zheng Committer: Vladimir Kozlov Date: 2020-12-10 22:43:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/58dca925 8257910: [JVMCI] Set exception_seen accordingly in the runtime. Reviewed-by: kvn ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp Changeset: bacf22b9 Author: Thomas Schatzl Date: 2020-12-11 18:14:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bacf22b9 8256641: CDS VM operations do not lock the heap Reviewed-by: kbarrett, iklam ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/shared/gcVMOperations.cpp ! src/hotspot/share/gc/shared/gcVMOperations.hpp ! src/hotspot/share/gc/z/zDriver.cpp ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/heapShared.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/vmOperations.cpp ! src/hotspot/share/runtime/vmOperations.hpp Changeset: a2801829 Author: Joe Darcy Date: 2020-12-11 18:38:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a2801829 8258060: Update @jls tags for renamed/renumbered sections Reviewed-by: jjg, abuckley ! src/java.compiler/share/classes/javax/annotation/processing/RoundEnvironment.java ! src/java.compiler/share/classes/javax/lang/model/AnnotatedConstruct.java ! src/java.compiler/share/classes/javax/lang/model/element/Element.java ! src/java.compiler/share/classes/javax/lang/model/element/NestingKind.java ! src/java.compiler/share/classes/javax/lang/model/element/package-info.java ! src/java.compiler/share/classes/javax/lang/model/util/Elements.java Changeset: b7ac32d6 Author: Vicente Romero Date: 2020-12-11 19:16:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b7ac32d6 8257598: Clarify what component values are used in Record::equals Reviewed-by: darcy, chegar ! src/java.base/share/classes/java/lang/Record.java + test/jdk/java/lang/reflect/records/CheckEqualityIsBasedOnFields.java Changeset: b1afed75 Author: Vladimir Ivanov Date: 2020-12-11 21:50:49 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b1afed75 8257919: [JVMCI] profiling info didn't change after reprofile Reviewed-by: kvn, redestad ! src/hotspot/share/ci/ciMethodData.cpp ! src/hotspot/share/ci/ciMethodData.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/oops/methodData.hpp ! test/hotspot/jtreg/ProblemList.txt Changeset: 2001da3d Author: Mandy Chung Date: 2020-12-11 22:44:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2001da3d 8257596: Clarify trusted final fields for record classes Reviewed-by: hseigel, chegar, psandoz ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/prims/jvm.cpp ! src/java.base/share/classes/java/lang/Class.java Changeset: 6d79ec87 Author: Aleksey Shipilev Date: 2020-12-12 06:09:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6d79ec87 8258111: Problemlist compiler/blackhole tests for -Xcomp until JDK-8258101 is fixed Reviewed-by: iignatyev, kvn ! test/hotspot/jtreg/ProblemList-Xcomp.txt Changeset: 43dc3f79 Author: Martin Buchholz Date: 2020-12-13 19:17:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/43dc3f79 8254350: CompletableFuture.get may swallow InterruptedException Reviewed-by: alanb, dl ! src/java.base/share/classes/java/util/concurrent/CompletableFuture.java + test/jdk/java/util/concurrent/CompletableFuture/LostInterrupt.java + test/jdk/java/util/concurrent/CompletableFuture/SwallowedInterruptedException.java Changeset: 164c8a6e Author: Hannes Walln?fer Date: 2020-12-14 08:08:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/164c8a6e 8258092: Link to early access platform documentation in TestHtmlTableTags.java Reviewed-by: jjg ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java Changeset: afc44414 Author: Markus Gr?nlund Date: 2020-12-14 11:36:01 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/afc44414 8258094: AIX build fails after 8257602 Reviewed-by: rrich, stuefe, egahlin ! src/hotspot/share/gc/shared/allocTracer.cpp ! src/hotspot/share/jfr/support/jfrAllocationTracer.cpp ! src/hotspot/share/jfr/support/jfrAllocationTracer.hpp + src/hotspot/share/jfr/support/jfrObjectAllocationSample.cpp + src/hotspot/share/jfr/support/jfrObjectAllocationSample.hpp Changeset: 381021ae Author: Jesper Wilhelmsson Date: 2020-12-15 03:40:30 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/381021ae Merge ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/runtime/thread.cpp Changeset: 3ab1dfeb Author: Thomas Stuefe Date: 2020-12-15 07:00:54 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3ab1dfeb 8257828: SafeFetch may crash if invoked in non-JavaThreads Reviewed-by: mdoerr, kbarrett, coleenp, dholmes ! src/hotspot/os/posix/signals_posix.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp ! src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp ! src/hotspot/os_cpu/bsd_zero/os_bsd_zero.cpp ! src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp ! src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp ! src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp ! src/hotspot/os_cpu/linux_s390/os_linux_s390.cpp ! src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp ! src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp + test/hotspot/gtest/runtime/test_safefetch.cpp Changeset: 568dc29b Author: Thomas Stuefe Date: 2020-12-15 09:02:46 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/568dc29b 8185734: [Windows] Structured Exception Catcher missing around gtest execution Reviewed-by: dholmes, ihse ! make/RunTests.gmk ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp ! test/hotspot/gtest/gtestLauncher.cpp ! test/hotspot/jtreg/gtest/GTestWrapper.java Changeset: a372be4b Author: Zhengyu Gu Date: 2020-12-15 13:22:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a372be4b 8258244: Shenandoah: Not expecting forwarded object in roots during mark after JDK-8240868 Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp Changeset: 65756abf Author: Eric Caspole Date: 2020-12-15 16:20:15 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/65756abf 8257802: LogCompilation throws couldn't find bytecode on JDK 8 log Reviewed-by: kvn, redestad ! src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/LogParser.java ! src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/UncommonTrapEvent.java Changeset: d53ee621 Author: Alexey Semenyuk Date: 2020-12-15 16:42:29 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d53ee621 8255899: Allow uninstallation of jpackage exe bundles Reviewed-by: almatvee, herrick ! src/jdk.jpackage/linux/native/applauncher/LinuxLauncher.cpp ! src/jdk.jpackage/macosx/native/applauncher/MacLauncher.cpp ! src/jdk.jpackage/share/native/applauncher/AppLauncher.cpp ! src/jdk.jpackage/share/native/applauncher/AppLauncher.h + src/jdk.jpackage/share/native/common/app.cpp + src/jdk.jpackage/share/native/common/app.h ! src/jdk.jpackage/share/native/common/tstrings.cpp ! src/jdk.jpackage/share/native/common/tstrings.h ! src/jdk.jpackage/windows/native/applauncher/WinLauncher.cpp + src/jdk.jpackage/windows/native/common/Flag.h + src/jdk.jpackage/windows/native/common/Guid.cpp + src/jdk.jpackage/windows/native/common/Guid.h + src/jdk.jpackage/windows/native/common/MsiDb.cpp + src/jdk.jpackage/windows/native/common/MsiDb.h + src/jdk.jpackage/windows/native/common/MsiUtils.cpp + src/jdk.jpackage/windows/native/common/MsiUtils.h = src/jdk.jpackage/windows/native/common/Resources.cpp + src/jdk.jpackage/windows/native/common/Resources.h + src/jdk.jpackage/windows/native/common/WinApp.cpp + src/jdk.jpackage/windows/native/common/WinApp.h ! src/jdk.jpackage/windows/native/libjpackage/JniUtils.h ! src/jdk.jpackage/windows/native/libjpackage/ResourceEditor.h ! src/jdk.jpackage/windows/native/libjpackage/VersionInfo.cpp ! src/jdk.jpackage/windows/native/libjpackage/jpackage.cpp ! src/jdk.jpackage/windows/native/msiwrapper/MsiWrapper.cpp - src/jdk.jpackage/windows/native/msiwrapper/Resources.h ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/WindowsHelper.java Changeset: 36e20974 Author: Yumin Qi Date: 2020-12-15 16:52:26 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/36e20974 8255917: runtime/cds/SharedBaseAddress.java failed "assert(reserved_rgn != 0LL) failed: No reserved region" Reviewed-by: ccheung, iklam, stuefe ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/memory/metaspaceShared.hpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/services/virtualMemoryTracker.cpp ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/runtime/cds/SharedBaseAddress.java + test/hotspot/jtreg/runtime/cds/appcds/MismatchedPathTriggerMemoryRelease.java Changeset: da2415fe Author: Joe Darcy Date: 2020-12-15 17:18:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/da2415fe 8257457: Update --release 16 symbol information for JDK 16 build 28 Reviewed-by: jjg ! make/data/symbols/java.base-G.sym.txt ! make/data/symbols/jdk.compiler-G.sym.txt ! make/data/symbols/jdk.incubator.foreign-G.sym.txt ! make/data/symbols/jdk.net-G.sym.txt Changeset: 2273f955 Author: Anton Kozlov Committer: Thomas Stuefe Date: 2020-12-15 18:43:49 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2273f955 8234930: Use MAP_JIT when allocating pages for code cache on macOS Reviewed-by: stuefe, iklam, burban ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/gc/z/zMarkStackAllocator.cpp ! src/hotspot/share/memory/allocation.inline.hpp ! src/hotspot/share/memory/virtualspace.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! test/hotspot/gtest/runtime/test_committed_virtualmemory.cpp Changeset: c37eabe7 Author: Coleen Phillimore Date: 2020-12-15 20:48:18 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c37eabe7 8252148: vmError::controlled_crash should be #ifdef ASSERT and move tests to gtest Reviewed-by: iklam, stuefe ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/utilities/debug.cpp ! src/hotspot/share/utilities/vmError.cpp ! src/hotspot/share/utilities/vmError.hpp ! test/hotspot/gtest/gc/g1/test_g1ServiceThread.cpp ! test/hotspot/gtest/metaspace/test_allocationGuard.cpp ! test/hotspot/gtest/metaspace/test_blocktree.cpp ! test/hotspot/gtest/runtime/test_mutex_rank.cpp ! test/hotspot/gtest/runtime/test_os.cpp ! test/hotspot/gtest/runtime/test_safepoint_locks.cpp ! test/hotspot/gtest/utilities/test_growableArray.cpp + test/hotspot/gtest/utilities/test_vmerror.cpp ! test/hotspot/jtreg/TEST.groups - test/hotspot/jtreg/runtime/ErrorHandling/ErrorHandler.java ! test/hotspot/jtreg/runtime/ErrorHandling/ShowRegistersOnAssertTest.java ! test/hotspot/jtreg/runtime/ErrorHandling/TestOnError.java Changeset: 7977e381 Author: Andrii Rodionov Committer: Bob Vandette Date: 2020-12-15 21:37:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7977e381 8254024: Enhance native libs for AWT and Swing to work with GraalVM Native Image Reviewed-by: serb, ihse, bobv ! src/java.desktop/share/native/libawt/awt/medialib/awt_ImagingLib.h ! src/java.desktop/unix/native/libawt/awt/awt_LoadLibrary.c ! src/java.desktop/unix/native/libawt/awt/awt_Mlib.c ! src/java.desktop/unix/native/libawt_xawt/xawt/XToolkit.c Changeset: 8bf46c73 Author: Ioi Lam Date: 2020-12-15 21:42:01 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8bf46c73 8258438: build error in test/hotspot/gtest/runtime/test_os.cpp Reviewed-by: dcubed, tschatzl ! test/hotspot/gtest/runtime/test_os.cpp Changeset: 4d6f3181 Author: Coleen Phillimore Date: 2020-12-15 23:54:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4d6f3181 8257726: Make -XX:+StressLdcRewrite option a diagnostic option Reviewed-by: lfoltan, stuefe, dcubed ! src/hotspot/share/runtime/globals.hpp ! test/jdk/java/lang/instrument/RedefineMethodWithAnnotations.sh Changeset: 1e778968 Author: David Holmes Date: 2020-12-16 00:00:12 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1e778968 8236225: Remove expired flags in JDK 17 8256717: Expire the long term obsoleted VM flags Reviewed-by: coleenp, kvn ! src/hotspot/share/include/jmm.h ! src/hotspot/share/runtime/arguments.cpp ! src/java.base/share/man/java.1 ! test/hotspot/jtreg/runtime/CommandLine/ObsoleteFlagErrorMessage.java - test/hotspot/jtreg/runtime/CommandLine/PermGenFlagsTest.java ! test/hotspot/jtreg/runtime/cds/SpaceUtilizationCheck.java ! test/hotspot/jtreg/runtime/cds/appcds/javaldr/GCSharedStringsDuringDump.java Changeset: 47ba652d Author: Stuart Marks Date: 2020-12-16 04:13:28 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/47ba652d 8258455: problem list tools/jdeprscan/tests/jdk/jdeprscan/TestRelease.java Reviewed-by: dholmes, darcy ! test/langtools/ProblemList.txt Changeset: 17ace833 Author: Ioi Lam Date: 2020-12-16 04:36:43 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/17ace833 8258074: Move some flags related to compiler to compiler_globals.hpp Reviewed-by: kvn, coleenp ! src/hotspot/share/ci/bcEscapeAnalyzer.cpp ! src/hotspot/share/ci/ciMethodData.cpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/compiler/compiler_globals.hpp ! src/hotspot/share/interpreter/invocationCounter.cpp ! src/hotspot/share/oops/methodCounters.cpp ! src/hotspot/share/oops/methodCounters.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/runtime/flags/allFlags.hpp ! src/hotspot/share/runtime/flags/jvmFlag.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/gtest/runtime/test_globals.cpp Changeset: cdb53422 Author: Kim Barrett Date: 2020-12-16 07:53:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/cdb53422 8258252: Move PtrQueue enqueue to PtrQueueSet subclasses Reviewed-by: tschatzl, rkennke ! src/hotspot/share/gc/g1/g1BarrierSet.cpp ! src/hotspot/share/gc/g1/g1BarrierSetRuntime.cpp ! src/hotspot/share/gc/g1/g1BarrierSetRuntime.hpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp ! src/hotspot/share/gc/g1/g1EvacFailure.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.hpp ! src/hotspot/share/gc/g1/g1RedirtyCardsQueue.cpp ! src/hotspot/share/gc/g1/g1RedirtyCardsQueue.hpp ! src/hotspot/share/gc/g1/g1SATBMarkQueueSet.cpp ! src/hotspot/share/gc/g1/g1SATBMarkQueueSet.hpp ! src/hotspot/share/gc/shared/ptrQueue.cpp ! src/hotspot/share/gc/shared/ptrQueue.hpp ! src/hotspot/share/gc/shared/satbMarkQueue.cpp ! src/hotspot/share/gc/shared/satbMarkQueue.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahSATBMarkQueueSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahSATBMarkQueueSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.hpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.hpp Changeset: 0c8cc2cd Author: Xin Liu Committer: Jie Fu Date: 2020-12-16 09:01:27 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0c8cc2cd 8258058: improve description of OutOfMemoryError relevant flags OutOfMemoryError thrown out of JVM doesn't notify hotspot, so debug.cpp::report_java_out_out_memory does not handle it. ie. Some options don't respect OOMEs from Java libraries. We need to make the description more clear to users. Reviewed-by: dholmes, jiefu ! src/hotspot/share/runtime/globals.hpp Changeset: 3c664850 Author: Erik Gahlin Date: 2020-12-16 11:03:41 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3c664850 8257906: JFR: RecordingStream leaks memory Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingStream.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ChunkParser.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/EventDirectoryStream.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/EventFileStream.java Changeset: 6eca2960 Author: Magnus Ihse Bursie Date: 2020-12-16 13:38:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6eca2960 8258420: Move URL configuration from Docs.gmk to conf dir Reviewed-by: alanb ! make/Docs.gmk + make/conf/javadoc.conf Changeset: 70183f4d Author: Gerard Ziemski Date: 2020-12-16 17:09:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/70183f4d 8251438: Issues with our POSIX set_signal_handler() Reviewed-by: dholmes, stuefe ! src/hotspot/os/posix/signals_posix.cpp Changeset: ab5d581b Author: Magnus Ihse Bursie Date: 2020-12-16 18:48:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ab5d581b 8258447: Move make/hotspot/hotspot.script to make/scripts Reviewed-by: dcubed ! make/hotspot/gensrc/GenerateSources.gmk = make/scripts/hotspot.sh Changeset: c4632647 Author: Coleen Phillimore Date: 2020-12-16 19:17:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c4632647 8258048: Placeholder hash code is the same as Dictionary hash code Reviewed-by: dholmes, hseigel, lfoltan ! src/hotspot/share/classfile/dictionary.cpp ! src/hotspot/share/classfile/dictionary.hpp ! src/hotspot/share/classfile/loaderConstraints.cpp ! src/hotspot/share/classfile/placeholders.cpp ! src/hotspot/share/classfile/placeholders.hpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp Changeset: 330ce861 Author: Harold Seigel Date: 2020-12-16 19:20:54 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/330ce861 8257700: Add logging for sealed classes in JVM_GetPermittedSubclasses Reviewed-by: lfoltan, coleenp, dholmes ! src/hotspot/share/prims/jvm.cpp Changeset: 59f4c4aa Author: Ioi Lam Date: 2020-12-16 19:39:24 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/59f4c4aa 8258075: Use auto variable declarations for enum iteration Reviewed-by: jrose, ccheung ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmSymbols.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/utilities/enumIterator.hpp Changeset: efd61c6f Author: Xue-Lei Andrew Fan Date: 2020-12-16 19:42:03 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/efd61c6f 8258514: Replace Collections.unmodifiableList with List.of Reviewed-by: jnimeh ! src/java.base/share/classes/sun/security/ssl/AlpnExtension.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java ! src/java.base/share/classes/sun/security/ssl/ServerNameExtension.java Changeset: aa9c136d Author: Roger Riggs Date: 2020-12-16 20:29:49 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/aa9c136d 8251989: Hex formatting and parsing utility Reviewed-by: tvaleev, chegar, naoto, darcy ! src/java.base/share/classes/java/lang/Integer.java ! src/java.base/share/classes/java/lang/Long.java ! src/java.base/share/classes/java/lang/module/Resolver.java + src/java.base/share/classes/java/util/HexFormat.java ! src/java.base/share/classes/java/util/Properties.java ! src/java.base/share/classes/javax/net/ssl/SNIServerName.java ! src/java.base/share/classes/sun/net/www/ParseUtil.java ! src/java.base/unix/classes/sun/nio/fs/UnixUriUtils.java ! src/java.naming/share/classes/com/sun/jndi/ldap/Filter.java ! src/java.naming/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java ! test/jdk/java/lang/StringBuffer/Supplementary.java + test/jdk/java/util/HexFormat/HexFormatTest.java ! test/jdk/java/util/Locale/ThaiGov.java Changeset: a244b822 Author: Magnus Ihse Bursie Date: 2020-12-16 21:57:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a244b822 8258411: Move module set configuration from Modules.gmk to conf dir Reviewed-by: alanb, mchung ! make/Images.gmk ! make/common/Modules.gmk + make/conf/build-module-sets.conf + make/conf/docs-modules.conf + make/conf/module-loader-map.conf Changeset: b2f03554 Author: Brent Christian Date: 2020-12-16 23:09:20 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b2f03554 8253497: Core Libs Terminology Refresh Reviewed-by: naoto, kcr, rriggs, joehw, bpb, smarks, alanb ! make/jdk/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java ! src/java.base/share/classes/java/io/ObjectInputFilter.java ! src/java.base/share/classes/java/util/Locale.java ! src/java.base/share/classes/jdk/internal/logger/BootstrapLogger.java ! src/java.base/share/classes/sun/util/locale/LanguageTag.java ! src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectorServer.java ! src/java.rmi/share/classes/sun/rmi/registry/RegistryImpl.java ! src/java.rmi/share/classes/sun/rmi/transport/DGCImpl.java ! test/jdk/java/lang/ClassLoader/Assert.java ! test/jdk/java/lang/management/ClassLoadingMXBean/LoadCounts.java ! test/jdk/java/nio/channels/AsynchronousFileChannel/Lock.java ! test/jdk/java/nio/channels/SocketChannel/CloseRegisteredChannel.java ! test/jdk/java/util/Locale/LSRDataTest.java ! test/jdk/java/util/Locale/LocaleEnhanceTest.java ! test/jdk/javax/management/remote/mandatory/connection/DefaultAgentFilterTest.java Changeset: 09e8675f Author: Richard Reingruber Date: 2020-12-15 08:38:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/09e8675f 8255381: com/sun/jdi/EATests.java should not suspend graal threads Reviewed-by: cjplummer, mdoerr, sspitsyn ! test/jdk/com/sun/jdi/EATests.java ! test/jdk/com/sun/jdi/TestScaffold.java Changeset: 7ff9c856 Author: Maurizio Cimadamore Date: 2020-12-15 13:50:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7ff9c856 8258242: Type profile pollution occurs when memory segments of different kinds are used Reviewed-by: vlivanov, redestad ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/oops/methodData.hpp ! src/java.base/share/classes/jdk/internal/access/foreign/MemorySegmentProxy.java ! src/java.base/share/classes/jdk/internal/misc/X-ScopedMemoryAccess.java.template ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAccess.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/AbstractMemorySegmentImpl.java + test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverPollutedSegments.java Changeset: fa1cbb47 Author: Markus Gr?nlund Date: 2020-12-15 14:48:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fa1cbb47 8258404: Restore stacktrace reuse after 8258094 Reviewed-by: egahlin ! src/hotspot/share/jfr/support/jfrAllocationTracer.cpp Changeset: ce36aeaa Author: Christian Hagedorn Date: 2020-12-15 15:14:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ce36aeaa 8257822: C2 crashes with SIGFPE due to a division that floats above its zero check Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/loopopts/TestDivZeroWithSplitIf.java Changeset: e9113517 Author: Joe Darcy Date: 2020-12-15 16:48:31 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e9113517 8258140: Update @jls tags in java.base for renamed/renumbered sections Reviewed-by: psandoz ! src/java.base/share/classes/java/lang/Enum.java ! src/java.base/share/classes/java/lang/annotation/Repeatable.java ! src/java.base/share/classes/java/lang/annotation/Target.java ! src/java.base/share/classes/java/lang/reflect/Method.java Changeset: e7aa5fe6 Author: Pankaj Bansal Date: 2020-12-15 21:28:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e7aa5fe6 8258427: Problem List some tests related to FileDialog for MacOS Reviewed-by: prr, serb ! test/jdk/ProblemList.txt Changeset: 1f556d22 Author: Tom Rodriguez Date: 2020-12-15 21:31:00 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1f556d22 8258380: [JVMCI] don't clear InstalledCode reference when unloading JVMCI nmethods Reviewed-by: kvn, eosterlund ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp Changeset: b97fe6c4 Author: Weijun Wang Date: 2020-12-15 22:49:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b97fe6c4 8258419: RSA cipher buffer cleanup Reviewed-by: valeriep ! src/java.base/share/classes/com/sun/crypto/provider/RSACipher.java ! src/java.base/share/classes/sun/security/rsa/RSACore.java ! src/java.base/share/classes/sun/security/rsa/RSAPadding.java Changeset: b5a3a5b6 Author: Calvin Cheung Date: 2020-12-16 02:37:29 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b5a3a5b6 8258236: Segfault in ClassListParser::resolve_indy dumping static AppCDS archive Reviewed-by: redestad, coleenp ! src/hotspot/share/classfile/classListParser.cpp ! test/hotspot/jtreg/TEST.groups + test/hotspot/jtreg/runtime/cds/appcds/LambdaVerificationFailedDuringDump.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/BadInvokeDynamic.jcod Changeset: 72dfba80 Author: Julia Boes Date: 2020-12-16 10:46:39 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/72dfba80 8257637: Update usage of "type" terminology in java.lang.annotation Reviewed-by: darcy ! src/java.base/share/classes/java/lang/annotation/Annotation.java ! src/java.base/share/classes/java/lang/annotation/Documented.java ! src/java.base/share/classes/java/lang/annotation/ElementType.java ! src/java.base/share/classes/java/lang/annotation/IncompleteAnnotationException.java ! src/java.base/share/classes/java/lang/annotation/Inherited.java ! src/java.base/share/classes/java/lang/annotation/Repeatable.java ! src/java.base/share/classes/java/lang/annotation/Retention.java ! src/java.base/share/classes/java/lang/annotation/RetentionPolicy.java ! src/java.base/share/classes/java/lang/annotation/Target.java Changeset: 87644a2b Author: Anton Litvinov Date: 2020-12-16 19:48:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/87644a2b 8255880: UI of Swing components is not redrawn after their internal state changed Reviewed-by: prr Backport-of: e8c40bafa51ed73247d2a03a8411cbcb0cdf4efa ! src/java.desktop/unix/classes/sun/awt/X11/XFramePeer.java + test/jdk/javax/swing/JFrame/8255880/RepaintOnFrameIconifiedStateChangeTest.java Changeset: 6b4b6765 Author: Jonathan Gibbons Date: 2020-12-16 22:21:54 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6b4b6765 8241353: NPE in ToolProvider.getSystemJavaCompiler Reviewed-by: vromero ! src/java.compiler/share/classes/javax/tools/ToolProvider.java Changeset: ce0ab2dd Author: Jonathan Gibbons Date: 2020-12-16 22:26:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ce0ab2dd 8258338: Support deprecated records Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DeprecatedAPIListBuilder.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java Changeset: 11bd7a81 Author: Jesper Wilhelmsson Date: 2020-12-17 03:04:19 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/11bd7a81 Merge ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/oops/methodData.cpp ! test/hotspot/jtreg/TEST.groups ! test/jdk/ProblemList.txt ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/oops/methodData.cpp ! test/hotspot/jtreg/TEST.groups ! test/jdk/ProblemList.txt Changeset: 643ddc13 Author: Nick Gasson Date: 2020-12-17 03:24:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/643ddc13 8257882: Implement linkToNative intrinsic on AArch64 Reviewed-by: jvernee, mcimadamore, aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/frame_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/javaFrameAnchor_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/register_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/os_cpu/linux_aarch64/thread_linux_aarch64.hpp ! src/hotspot/os_cpu/windows_aarch64/thread_windows_aarch64.hpp ! test/jdk/java/foreign/TestIntrinsics.java Changeset: 513269d2 Author: Prasanta Sadhukhan Date: 2020-12-17 03:32:46 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/513269d2 8196093: javax/swing/JComboBox/8072767/bug8072767.java fails Reviewed-by: prr ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JComboBox/8057893/bug8057893.java ! test/jdk/javax/swing/JComboBox/8072767/bug8072767.java Changeset: d77b49d1 Author: Prasanta Sadhukhan Date: 2020-12-17 04:36:02 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d77b49d1 8258233: Reenable another fixed problemlisted test Reviewed-by: trebari, jdv ! test/jdk/ProblemList.txt Changeset: c11525a4 Author: Jatin Bhateja Date: 2020-12-17 04:42:19 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c11525a4 8257772: Vectorizing clear memory operation using AVX-512 masked operations Reviewed-by: thartmann, kvn ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/opto/memnode.cpp + test/micro/org/openjdk/bench/vm/compiler/ClearMemory.java Changeset: 178c0018 Author: Thomas Stuefe Date: 2020-12-17 05:26:11 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/178c0018 8258479: Minor cleanups in VMError Reviewed-by: lfoltan, coleenp ! src/hotspot/os/posix/vmError_posix.cpp ! src/hotspot/os/windows/vmError_windows.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/runtime/threadSMR.cpp ! src/hotspot/share/utilities/decoder.cpp ! src/hotspot/share/utilities/events.hpp ! src/hotspot/share/utilities/vmError.cpp ! src/hotspot/share/utilities/vmError.hpp Changeset: 83be8a90 Author: Xin Liu Committer: Tobias Hartmann Date: 2020-12-17 10:05:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/83be8a90 8247732: validate user-input intrinsic_ids in ControlIntrinsic renew webrev to the latest jdk. fixed a typo and a bug. Add constraints for both DisableIntrinsic and ControlIntrinsics. Add tests to cover different use cases of them. Reviewed-by: neliasso, thartmann ! src/hotspot/share/compiler/compilerDirectives.cpp ! src/hotspot/share/compiler/compilerDirectives.hpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/directivesParser.cpp ! src/hotspot/share/compiler/methodMatcher.cpp ! src/hotspot/share/runtime/flags/jvmFlagAccess.cpp ! src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.cpp ! src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.hpp ! src/hotspot/share/runtime/flags/jvmFlagLimit.hpp ! src/hotspot/share/runtime/globals.hpp + test/hotspot/jtreg/compiler/compilercontrol/commands/ControlIntrinsicTest.java ! test/hotspot/jtreg/compiler/compilercontrol/control_off.txt + test/hotspot/jtreg/compiler/compilercontrol/directives/ControlIntrinsicTest.java + test/hotspot/jtreg/compiler/compilercontrol/jcmd/ControlIntrinsicTest.java ! test/hotspot/jtreg/compiler/compilercontrol/jcmd/PrintDirectivesTest.java ! test/hotspot/jtreg/compiler/compilercontrol/parser/HugeDirectiveUtil.java + test/hotspot/jtreg/compiler/compilercontrol/share/IntrinsicCommand.java ! test/hotspot/jtreg/compiler/compilercontrol/share/MultiCommand.java ! test/hotspot/jtreg/compiler/compilercontrol/share/processors/CommandProcessor.java ! test/hotspot/jtreg/compiler/compilercontrol/share/scenario/AbstractCommandBuilder.java ! test/hotspot/jtreg/compiler/compilercontrol/share/scenario/Command.java ! test/hotspot/jtreg/compiler/compilercontrol/share/scenario/CommandFileBuilder.java ! test/hotspot/jtreg/compiler/compilercontrol/share/scenario/CommandGenerator.java ! test/hotspot/jtreg/compiler/compilercontrol/share/scenario/CommandOptionsBuilder.java ! test/hotspot/jtreg/compiler/compilercontrol/share/scenario/CompileCommand.java ! test/hotspot/jtreg/compiler/compilercontrol/share/scenario/DirectiveBuilder.java ! test/hotspot/jtreg/compiler/compilercontrol/share/scenario/DirectiveWriter.java ! test/hotspot/jtreg/compiler/compilercontrol/share/scenario/Executor.java ! test/hotspot/jtreg/compiler/compilercontrol/share/scenario/JcmdCommand.java ! test/hotspot/jtreg/compiler/compilercontrol/share/scenario/Scenario.java ! test/hotspot/jtreg/compiler/compilercontrol/share/scenario/State.java ! test/hotspot/jtreg/compiler/intrinsics/IntrinsicDisabledTest.java Changeset: 6aa8eed3 Author: Coleen Phillimore Date: 2020-12-17 13:35:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6aa8eed3 8258415: gtest for committed memory leaks reservation Reviewed-by: hseigel, stuefe ! test/hotspot/gtest/runtime/test_committed_virtualmemory.cpp Changeset: 8251b746 Author: Coleen Phillimore Date: 2020-12-17 15:40:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8251b746 8257530: vmTestbase/metaspace/stressDictionary/StressDictionary.java timed out Reviewed-by: lfoltan ! test/hotspot/jtreg/vmTestbase/metaspace/stressDictionary/StressDictionary.java Changeset: 143998e4 Author: Brian Burkhalter Date: 2020-12-17 16:29:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/143998e4 8248383: Clarify java.io.Reader.read(char[], ...) behavior for full array Reviewed-by: naoto, smarks, rriggs ! src/java.base/share/classes/java/io/Reader.java + test/jdk/java/io/Reader/ReadIntoZeroLengthArray.java Changeset: 7b05439d Author: Patricio Chilano Mateo Date: 2020-12-17 16:41:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7b05439d 8258057: serviceability/attach/RemovingUnixDomainSocketTest.java doesn't ignore VM warnings Reviewed-by: cjplummer, amenkov, dholmes ! test/hotspot/jtreg/serviceability/attach/RemovingUnixDomainSocketTest.java ! test/lib/jdk/test/lib/process/OutputAnalyzer.java Changeset: 9ed0b764 Author: Phil Race Date: 2020-12-17 18:21:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9ed0b764 8254850: Update terminology in java.awt.GridBagLayout source code comments Reviewed-by: kcr, kizune ! src/java.desktop/share/classes/java/awt/GridBagLayout.java Changeset: 6e824b3f Author: Coleen Phillimore Date: 2020-12-17 18:49:42 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6e824b3f 8258408: SystemDictionary passes TRAPS to functions that don't throw exceptions Reviewed-by: dholmes, lfoltan ! src/hotspot/share/classfile/lambdaFormInvokers.cpp ! src/hotspot/share/classfile/placeholders.cpp ! src/hotspot/share/classfile/placeholders.hpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: 763623db Author: Jie Kang Committer: Markus Gr?nlund Date: 2020-12-17 19:21:13 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/763623db 8258524: Instrumented EventHandler calls private instance method EventWriter.reset Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventWriter.java Changeset: b0b70df4 Author: Hai-May Chao Committer: Xue-Lei Andrew Fan Date: 2020-12-17 20:10:54 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b0b70df4 8246005: KeyStoreSpi::engineStore(LoadStoreParameter) spec mismatch to its behavior Reviewed-by: xuelei ! src/java.base/share/classes/java/security/KeyStore.java ! src/java.base/share/classes/java/security/KeyStoreSpi.java Changeset: 666e6c40 Author: Rajan Halade Date: 2020-12-17 20:27:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/666e6c40 8225072: Add LuxTrust certificate that is expiring in March 2021 to list of allowed but expired certs 8258630: Add expiry exception for QuoVadis root certificate Reviewed-by: ascarpino ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: 41f312eb Author: Guoxiong Li Committer: Joel Borggr?n-Franck Date: 2020-12-17 08:06:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/41f312eb 8254023: A module declaration is not allowed to be a target of an annotation that lacks an @Target meta-annotation Reviewed-by: jfranck, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java + test/langtools/tools/javac/annotations/8254023/T8254023.java + test/langtools/tools/javac/annotations/8254023/module-info.java + test/langtools/tools/javac/annotations/8254023/test/A.java ! test/langtools/tools/javac/modules/AnnotationProcessing.java ! test/langtools/tools/javac/modules/AnnotationsOnModules.java Changeset: 04a1e5b7 Author: Christian Hagedorn Date: 2020-12-17 08:09:19 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/04a1e5b7 8258505: [TESTBUG] TestDivZeroWithSplitIf.java fails due to missing UnlockDiagnosticVMOptions Reviewed-by: thartmann, kvn, dcubed ! test/hotspot/jtreg/compiler/loopopts/TestDivZeroWithSplitIf.java Changeset: 952dc704 Author: Julia Boes Date: 2020-12-17 11:32:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/952dc704 8257636: Update usage of "type" terminology in java.lang.Class and java.lang.reflect Reviewed-by: darcy ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/reflect/AnnotatedArrayType.java ! src/java.base/share/classes/java/lang/reflect/AnnotatedElement.java ! src/java.base/share/classes/java/lang/reflect/AnnotatedParameterizedType.java ! src/java.base/share/classes/java/lang/reflect/AnnotatedType.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/GenericArrayType.java ! src/java.base/share/classes/java/lang/reflect/GenericSignatureFormatError.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/java/lang/reflect/ParameterizedType.java ! src/java.base/share/classes/java/lang/reflect/Proxy.java ! src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java ! src/java.base/share/classes/java/lang/reflect/RecordComponent.java Changeset: 61390d8e Author: Kim Barrett Date: 2020-12-17 14:18:00 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/61390d8e 8257999: Parallel GC crash in gc/parallel/TestDynShrinkHeap.java: new region is not in covered_region Reviewed-by: sjohanss, tschatzl ! src/hotspot/share/gc/parallel/psOldGen.cpp Changeset: 7aac4dc1 Author: Markus Gr?nlund Date: 2020-12-17 14:34:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7aac4dc1 8257621: JFR StringPool misses cached items across consecutive recordings Reviewed-by: egahlin ! src/hotspot/share/jfr/jni/jfrJniMethod.cpp ! src/hotspot/share/jfr/jni/jfrJniMethod.hpp ! src/hotspot/share/jfr/jni/jfrJniMethodRegistration.cpp ! src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdEpoch.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdEpoch.hpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp ! src/hotspot/share/jfr/recorder/stringpool/jfrStringPool.cpp ! src/hotspot/share/jfr/recorder/stringpool/jfrStringPool.hpp + src/hotspot/share/jfr/utilities/jfrSignal.hpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventWriter.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/StringPool.java ! test/jdk/ProblemList.txt Changeset: 61cbf0ff Author: Alexey Semenyuk Date: 2020-12-17 15:33:03 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/61cbf0ff 8258293: tools/jpackage/share/RuntimePackageTest.java#id0 with RuntimePackageTest.testUsrInstallDir2 Reviewed-by: almatvee, herrick ! test/jdk/tools/jpackage/share/RuntimePackageTest.java Changeset: cb5a6b1a Author: Nils Eliasson Date: 2020-12-17 17:50:53 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/cb5a6b1a 8258225: compiler/c2/cr6340864/TestIntVect.java runs faster in interpreter Reviewed-by: vlivanov, thartmann, kvn ! test/hotspot/jtreg/compiler/c2/cr6340864/TestByteVect.java ! test/hotspot/jtreg/compiler/c2/cr6340864/TestDoubleVect.java ! test/hotspot/jtreg/compiler/c2/cr6340864/TestFloatVect.java ! test/hotspot/jtreg/compiler/c2/cr6340864/TestIntVect.java ! test/hotspot/jtreg/compiler/c2/cr6340864/TestIntVectRotate.java ! test/hotspot/jtreg/compiler/c2/cr6340864/TestLongVect.java ! test/hotspot/jtreg/compiler/c2/cr6340864/TestLongVectRotate.java ! test/hotspot/jtreg/compiler/c2/cr6340864/TestShortVect.java Changeset: 47c180da Author: Vicente Romero Date: 2020-12-17 18:08:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/47c180da 8258515: javac should issue an error if an annotation is nested in a local class or interface Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.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/Enter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/JNIWriter.java ! test/langtools/tools/javac/records/RecordCompilationTests.java Changeset: 30ca0a5d Author: Jonathan Gibbons Date: 2020-12-17 18:34:27 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/30ca0a5d 8247994: Localize javadoc search Reviewed-by: hannesw, ihse ! make/CompileInterimLangtools.gmk ! make/CompileJavaModules.gmk ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js.template ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocFile.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocPaths.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/tool/CheckResourceKeys.java Changeset: f15528eb Author: Jesper Wilhelmsson Date: 2020-12-17 20:41:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f15528eb Merge ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventWriter.java ! test/jdk/ProblemList.txt ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventWriter.java ! test/jdk/ProblemList.txt Changeset: 3f77a600 Author: Daniel Fuchs Date: 2020-12-17 22:33:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3f77a600 8258582: HttpClient: the HttpClient doesn't explicitly shutdown its default executor when stopping. Reviewed-by: chegar, michaelm ! src/java.base/share/lib/security/default.policy ! src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java Changeset: 1e03ca13 Author: Yasumasa Suenaga Date: 2020-12-18 04:50:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1e03ca13 8258471: "search codecache" clhsdb command does not work Reviewed-by: cjplummer, sspitsyn ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/CodeCache.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/VtableBlob.java Changeset: 853c0471 Author: Thomas Stuefe Date: 2020-12-18 08:13:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/853c0471 8258469: Cleanup remaining safefetch test coding Reviewed-by: coleenp, dholmes ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/utilities/vmError.cpp ! src/hotspot/share/utilities/vmError.hpp ! test/hotspot/gtest/runtime/test_safefetch.cpp Changeset: 00d80fdd Author: Kim Barrett Date: 2020-12-18 15:08:46 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/00d80fdd 8258255: Move PtrQueue active flag to SATBMarkQueue Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1BarrierSet.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1RedirtyCardsQueue.cpp ! src/hotspot/share/gc/g1/vmStructs_g1.hpp ! src/hotspot/share/gc/shared/ptrQueue.cpp ! src/hotspot/share/gc/shared/ptrQueue.hpp ! src/hotspot/share/gc/shared/satbMarkQueue.cpp ! src/hotspot/share/gc/shared/satbMarkQueue.hpp Changeset: 1dae45d7 Author: Roger Riggs Date: 2020-12-18 16:34:17 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1dae45d7 8250523: Remove abortOnException diagnostic option from TestHumongousNonArrayAllocation.java Reviewed-by: kbarrett ! test/hotspot/jtreg/gc/g1/humongousObjects/TestHumongousNonArrayAllocation.java Changeset: 68f2acbf Author: Roger Riggs Date: 2020-12-18 16:35:11 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/68f2acbf 8252055: Use java.util.HexFormat in java.security Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/provider/AbstractDrbg.java ! src/java.base/share/classes/sun/security/provider/AbstractHashDrbg.java ! src/java.base/share/classes/sun/security/provider/CtrDrbg.java ! src/java.base/share/classes/sun/security/provider/HashDrbg.java ! src/java.base/share/classes/sun/security/provider/HmacDrbg.java ! src/java.base/share/classes/sun/security/provider/certpath/RevocationChecker.java ! src/java.base/share/classes/sun/security/ssl/SSLLogger.java ! src/java.base/share/classes/sun/security/ssl/ServerHello.java ! src/java.base/share/classes/sun/security/ssl/Utilities.java ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/java.base/share/classes/sun/security/util/Debug.java ! src/java.base/share/classes/sun/security/util/ManifestEntryVerifier.java ! src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java ! src/java.base/share/classes/sun/security/x509/AVA.java ! src/java.base/share/classes/sun/security/x509/X509CertImpl.java Changeset: 71ae05d5 Author: Leonid Mesnik Date: 2020-12-18 16:40:12 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/71ae05d5 8258061: Improve diagnostic information about errors during class redefinition Reviewed-by: coleenp, sspitsyn ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp Changeset: 3c488199 Author: Xue-Lei Andrew Fan Date: 2020-12-18 18:52:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3c488199 8169086: DTLS tests fail intermittently with too much loops or timeout Reviewed-by: ascarpino ! src/java.base/share/classes/sun/security/ssl/SSLEngineImpl.java ! test/jdk/ProblemList.txt Changeset: a4f393ca Author: Xue-Lei Andrew Fan Date: 2020-12-18 19:01:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a4f393ca 8258661: Inner class ResponseCacheEntry could be static Reviewed-by: jnimeh ! src/java.base/share/classes/sun/security/ssl/StatusResponseManager.java Changeset: be41468c Author: Chris Hegarty Date: 2020-12-18 19:49:28 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/be41468c 8258696: Temporarily revert use of pattern match instanceof until docs-reference is fixed Reviewed-by: rriggs, dcubed, bpb, jjg, dfuchs, aefimov ! src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java Changeset: 06c24e14 Author: Yumin Qi Date: 2020-12-18 20:23:43 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/06c24e14 8256213: Remove os::split_reserved_memory Reviewed-by: ccheung, iklam ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/memory/virtualspace.cpp ! src/hotspot/share/memory/virtualspace.hpp ! src/hotspot/share/runtime/os.hpp Changeset: adf0e23a Author: Xin Liu Committer: Paul Hohensee Date: 2020-12-18 20:35:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/adf0e23a 8257800: CompileCommand TypedMethodOptionMatcher::parse_method_pattern() may over consume Reviewed-by: thartmann, chagedorn, phh ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp ! src/hotspot/share/compiler/methodMatcher.cpp + test/hotspot/jtreg/compiler/compilercontrol/commands/OptionTest.java Changeset: 7f92d187 Author: Igor Veresov Date: 2020-12-18 21:08:04 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7f92d187 8258553: Limit number of fields in instance to be considered for scalar replacement Reviewed-by: kvn, vlivanov ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/escape.cpp Changeset: 6a78b2a2 Author: Alexandre Iline Date: 2020-12-18 21:16:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6a78b2a2 8258645: Bring Jemmy 1.3.11 to JDK test base Reviewed-by: serb ! test/jdk/sanity/client/SwingSet/src/SliderDemoTest.java ! test/jdk/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/DefaultDriverInstaller.java ! test/jdk/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/ComponentOperator.java ! test/jdk/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JFileChooserOperator.java ! test/jdk/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JTextComponentOperator.java ! test/jdk/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JToolTipOperator.java ! test/jdk/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/Operator.java ! test/jdk/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/TextComponentOperator.java ! test/jdk/sanity/client/lib/jemmy/src/org/netbeans/jemmy/version_info Changeset: 64644a10 Author: Mikael Vidstedt Date: 2020-12-19 02:47:28 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/64644a10 8253881: Hotspot/Serviceability Terminology Refresh Reviewed-by: kbarrett, tschatzl, dholmes, lfoltan, dcubed ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/compiler/abstractCompiler.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp ! src/hotspot/share/jfr/support/jfrJdkJfrEvent.cpp ! test/hotspot/jtreg/compiler/c2/stemmer/words Changeset: c50b464a Author: Doug Simon Date: 2020-12-19 11:17:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c50b464a 8258715: [JVMCI] separate JVMCI code install timers for CompileBroker and hosted compilations Reviewed-by: kvn ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/jvmci/jvmciCompiler.cpp ! src/hotspot/share/jvmci/jvmciCompiler.hpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp Changeset: c7c53d01 Author: Prasanta Sadhukhan Date: 2020-12-19 12:00:18 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c7c53d01 8258554: javax/swing/JTable/4235420/bug4235420.java fails in GTK L&F Reviewed-by: serb ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JTable/4235420/bug4235420.java Changeset: dc7f01f4 Author: Alexander Zuev Date: 2020-12-19 21:34:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/dc7f01f4 8257584: [macos] NullPointerException originating from LWCToolkit.java Reviewed-by: serb ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessibility.java Changeset: 580af490 Author: Andrey Turbanov Committer: Sergey Bylokhov Date: 2020-12-19 22:19:41 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/580af490 8258006: Replaces while cycles with iterator with enhanced for in java.desktop Reviewed-by: prr, serb ! src/java.desktop/share/classes/com/sun/imageio/plugins/gif/GIFImageWriter.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/DHTMarkerSegment.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/DQTMarkerSegment.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFIFD.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFImageMetadata.java ! src/java.desktop/share/classes/com/sun/media/sound/SF2Soundbank.java ! src/java.desktop/share/classes/java/awt/DefaultKeyboardFocusManager.java ! src/java.desktop/share/classes/java/awt/Dialog.java ! src/java.desktop/share/classes/java/awt/SequencedEvent.java ! src/java.desktop/share/classes/java/beans/Introspector.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/IIOMetadataFormatImpl.java ! src/java.desktop/share/classes/javax/imageio/metadata/IIOMetadataNode.java ! src/java.desktop/share/classes/javax/imageio/plugins/tiff/TIFFDirectory.java ! src/java.desktop/share/classes/javax/imageio/plugins/tiff/TIFFTagSet.java ! src/java.desktop/share/classes/javax/imageio/spi/ServiceRegistry.java ! src/java.desktop/share/classes/javax/print/StreamPrintServiceFactory.java ! src/java.desktop/share/classes/javax/sound/midi/MidiSystem.java ! src/java.desktop/share/classes/javax/swing/text/DateFormatter.java ! src/java.desktop/share/classes/sun/awt/SunDisplayChanger.java ! src/java.desktop/share/classes/sun/awt/SunToolkit.java ! src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java Changeset: fa50877c Author: Phil Race Date: 2020-12-19 23:35:04 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fa50877c 8257853: Remove dependencies on JNF's JNI utility functions in AWT and 2D code Reviewed-by: psadhukhan, kizune ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/ApplicationDelegate.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CClipboard.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDragSource.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDropTarget.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDropTargetContextPeer.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CFileDialog.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsDevice.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsEnv.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CImage.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CInputMethod.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuItem.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CPrinterJob.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CSystemColors.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CTextPipe.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/GeomUtilities.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/GeomUtilities.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/ImageSurfaceData.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaAccessibilityAction.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaAccessibilityUtilities.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaAccessibilityUtilities.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaTextAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/LWCToolkit.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/PrintModel.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/PrinterView.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/awt_DrawingSurface.m ! src/java.desktop/macosx/native/libawt_lwawt/font/AWTFont.m ! src/java.desktop/macosx/native/libawt_lwawt/font/AWTStrike.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLLayer.m + src/java.desktop/macosx/native/libosxapp/JNIUtilities.h ! src/java.desktop/macosx/native/libosxapp/PropertiesUtilities.m ! src/java.desktop/macosx/native/libosxui/ScreenMenu.m Changeset: 8e42efaa Author: Christian Hagedorn Date: 2020-12-21 08:06:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8e42efaa 8257513: C2: assert((constant_addr - _masm.code()->consts()->start()) == con.offset()) Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/constantTable.cpp ! src/hotspot/share/opto/constantTable.hpp ! src/hotspot/share/opto/output.cpp + test/hotspot/jtreg/compiler/codecache/TestStressCodeBuffers.java Changeset: d4c7db50 Author: Anton Kozlov Committer: Vladimir Kempik Date: 2020-12-21 08:44:59 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d4c7db50 8257620: Do not use objc_msgSend_stret to get macOS version Reviewed-by: ihse, rriggs ! src/java.base/macosx/native/libjava/java_props_macosx.c Changeset: 9fdfc6df Author: Rajan Halade Date: 2020-12-17 22:14:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9fdfc6df 8225072: Add LuxTrust certificate that is expiring in March 2021 to list of allowed but expired certs 8258630: Add expiry exception for QuoVadis root certificate Backport-of: 666e6c4033762e4e1a8997819de1518616cc0fa8 ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: 7320e051 Author: Nils Eliasson Date: 2020-12-17 22:43:00 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7320e051 8258647: TestCharVect2 is very slow Reviewed-by: vlivanov, kvn ! test/hotspot/jtreg/compiler/codegen/TestCharVect2.java Changeset: cbc3feeb Author: Stuart Marks Date: 2020-12-18 00:36:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/cbc3feeb 8258259: Unicode linebreak matching behavior is incorrect; backout JDK-8235812 Reviewed-by: naoto ! src/java.base/share/classes/java/util/regex/Pattern.java ! test/jdk/java/util/regex/RegExTest.java Changeset: 7afb01dc Author: Sergey Bylokhov Date: 2020-12-18 06:26:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7afb01dc 8258373: Update the text handling in the JPasswordField Reviewed-by: kizune, prr, psadhukhan ! src/java.desktop/share/classes/javax/swing/JPasswordField.java ! src/java.desktop/share/classes/javax/swing/text/GapContent.java ! src/java.desktop/share/classes/javax/swing/text/Segment.java ! src/java.desktop/share/classes/javax/swing/text/SegmentCache.java + test/jdk/javax/swing/JPasswordField/CheckCommonUseCases.java + test/jdk/javax/swing/JPasswordField/CleanInternalStorageOnSetText.java + test/jdk/javax/swing/JPasswordField/TextBeanProperty.java Changeset: 38593a4f Author: Stefan Johansson Date: 2020-12-18 08:14:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/38593a4f 8257974: Regression 21% in DaCapo-lusearch-large after JDK-8236926 Reviewed-by: ayang, redestad, tschatzl ! src/hotspot/share/gc/g1/g1UncommitRegionTask.cpp ! src/hotspot/share/gc/g1/g1UncommitRegionTask.hpp Changeset: 45a150b8 Author: Jie Fu Date: 2020-12-18 12:50:19 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/45a150b8 8258134: assert(size == calc_size) failed: incorrect size calculation on x86_32 with AVX512 machines Reviewed-by: kvn, thartmann ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad Changeset: 1ce2e94f Author: Richard Reingruber Date: 2020-12-18 13:16:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1ce2e94f 8256843: [PPC64] runtime/logging/RedefineClasses.java fails with assert: registers not saved on stack Reviewed-by: mdoerr, lucy ! src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp ! src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp ! src/hotspot/share/utilities/nativeCallStack.cpp Changeset: 1cc98bde Author: Joel Borggr?n-Franck Date: 2020-12-18 13:34:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1cc98bde 8256693: getAnnotatedReceiverType parameterizes types too eagerly Reviewed-by: vromero ! src/java.base/share/classes/java/lang/reflect/AnnotatedParameterizedType.java ! src/java.base/share/classes/java/lang/reflect/Constructor.java ! src/java.base/share/classes/java/lang/reflect/Executable.java ! test/jdk/java/lang/annotation/typeAnnotations/GetAnnotatedReceiverType.java Changeset: 59ae0548 Author: Jie Fu Date: 2020-12-18 14:13:01 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/59ae0548 8258687: Build broken on Windows after fix for JDK-8258134 Reviewed-by: thartmann ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp Changeset: 45bd3b9e Author: Hannes Walln?fer Date: 2020-12-18 15:46:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/45bd3b9e 8223607: --override-methods=summary ignores some signature changes Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg6/Base.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg6/Sub.java + test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg7/Annotated.java ! test/langtools/jdk/javadoc/doclet/testVisibleMembers/TestVisibleMembers.java Changeset: c04c7e1f Author: Jonathan Gibbons Date: 2020-12-18 18:34:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c04c7e1f 8258002: Update "type" terminology in generated docs Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllPackagesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Contents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MarkerComments.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SectionName.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/AbstractDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Resources.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/ClassBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! test/langtools/jdk/javadoc/doclet/testAnnotationOptional/TestAnnotationOptional.java ! test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java ! test/langtools/jdk/javadoc/doclet/testClassTree/TestClassTree.java ! test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java ! test/langtools/jdk/javadoc/doclet/testHelpFile/TestHelpFile.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java ! test/langtools/jdk/javadoc/doclet/testLists/TestLists.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testOptions/TestOptions.java ! test/langtools/jdk/javadoc/doclet/testOrdering/TestOrdering.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java ! test/langtools/jdk/javadoc/doclet/testRecordLinks/TestRecordLinks.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java + test/langtools/jdk/javadoc/doclet/testTerminology/TestTerminology.java ! test/langtools/jdk/javadoc/tool/CheckResourceKeys.java Changeset: e680ebeb Author: Brent Christian Date: 2020-12-19 00:17:02 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e680ebeb 8258007: Add instrumentation to NativeLibraryTest Reviewed-by: mchung, naoto ! test/jdk/java/lang/ClassLoader/nativeLibrary/NativeLibraryTest.java ! test/lib/jdk/test/lib/util/ForceGC.java Changeset: d2343880 Author: Jesper Wilhelmsson Date: 2020-12-21 09:09:05 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d2343880 Merge ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp ! src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp ! src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp Changeset: a06cea50 Author: Jaroslav Bachorik Date: 2020-12-21 11:43:13 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a06cea50 8258396: SIGILL in jdk.jfr.internal.PlatformRecorder.rotateDisk() Reviewed-by: mgronlun ! src/hotspot/share/jfr/recorder/storage/jfrStorage.cpp Changeset: 01d51a10 Author: Guoxiong Li Committer: Jonathan Gibbons Date: 2020-12-21 17:50:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/01d51a10 8231622: SuppressWarning("serial") ignored on field serialVersionUID Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java + test/langtools/tools/javac/T8231622/T8231622.java Changeset: 12297a00 Author: Xue-Lei Andrew Fan Date: 2020-12-21 19:09:03 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/12297a00 8258736: No break in the loop Reviewed-by: wetmore ! src/java.base/share/classes/sun/security/ssl/SSLCipher.java Changeset: 30b9ff66 Author: Xin Liu Committer: Vladimir Ivanov Date: 2020-12-21 23:27:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/30b9ff66 8258653: CallJavaNode::_bci is not in use Reviewed-by: kvn, vlivanov ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/stringopts.cpp ! src/hotspot/share/opto/vectornode.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: 1594372c Author: Jie Fu Date: 2020-12-22 02:07:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1594372c 8258584: java/util/HexFormat/HexFormatTest.java fails on x86_32 Reviewed-by: rriggs ! test/jdk/java/util/HexFormat/HexFormatTest.java Changeset: 3df6ec2f Author: Roberto Casta?eda Lozano Committer: Christian Hagedorn Date: 2020-12-22 10:04:00 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3df6ec2f 8258682: compiler/intrinsics/mathexact/sanity tests fail with RepeatCompilation Normalize match and suspect counts in the verify() method by the number of compilation repetitions, if the RepeatCompilation option is used. Reviewed-by: kvn, chagedorn ! test/hotspot/jtreg/compiler/testlibrary/intrinsics/Verifier.java Changeset: 172af152 Author: Daniel D. Daugherty Date: 2020-12-22 14:07:43 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/172af152 8258284: clean up issues with nested ThreadsListHandles Reviewed-by: eosterlund, rehn ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/threadSMR.cpp ! src/hotspot/share/runtime/threadSMR.hpp + test/hotspot/gtest/runtime/test_ThreadsListHandle.cpp Changeset: 0849117d Author: Corey Ashford Committer: Martin Doerr Date: 2020-12-22 14:19:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0849117d 8256431: [PPC64] Implement Base64 encodeBlock() for Power64-LE Reviewed-by: mdoerr ! src/hotspot/cpu/ppc/assembler_ppc.hpp ! src/hotspot/cpu/ppc/assembler_ppc.inline.hpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp Changeset: 9e463d1a Author: Weijun Wang Date: 2020-12-22 16:41:19 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9e463d1a 8258631: Remove sun.security.jgss.krb5.Krb5Util.getSubject() Reviewed-by: xuelei ! src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5Util.java Changeset: 39e03a0b Author: Xue-Lei Andrew Fan Date: 2020-12-22 18:12:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/39e03a0b 8258804: Collection.toArray() should use empty array Reviewed-by: mullan ! src/java.base/share/classes/sun/security/ssl/SSLContextImpl.java ! src/java.base/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java Changeset: 0ae78d4c Author: Lin Zang Committer: Chris Plummer Date: 2020-12-22 19:19:51 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0ae78d4c 8258593: remove redundant codes in HeapObjectDumper Reviewed-by: coleenp, lfoltan, cjplummer ! src/hotspot/share/services/heapDumper.cpp Changeset: 47c9b437 Author: Xue-Lei Andrew Fan Date: 2020-12-22 19:43:20 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/47c9b437 8258828: The method local variable is not really used Reviewed-by: jnimeh, wetmore ! src/java.base/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java Changeset: 2525f39d Author: Roman Kennke Date: 2020-12-21 12:42:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2525f39d 8258714: Shenandoah: Process references before evacuation during degen Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Changeset: 4e8338eb Author: Roberto Casta?eda Lozano Committer: Christian Hagedorn Date: 2020-12-21 13:04:24 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4e8338eb 8255763: C2: OSR miscompilation caused by invalid memory instruction placement Disable GCM hoisting of memory-writing nodes for irreducible CFGs. This prevents GCM from wrongly "hoisting" stores into descendants of their original loop. Such an "inverted hoisting" can happen due to CFGLoop::compute_freq()'s inaccurate estimation of frequencies for irreducible CFGs. Extend CFG verification code by checking that memory-writing nodes are placed in either their original loop or an ancestor. Add tests for the reducible and irreducible cases. The former was already handled correctly before the change (the frequency estimation model prevents "inverted hoisting" for reducible CFGs), and is just added for coverage. This change addresses the specific miscompilation issue in a conservative way, for simplicity and safety. Future work includes investigating if only the illegal blocks can be discarded as candidates for GCM hoisting, and refining frequency estimation for irreducible CFGs. Reviewed-by: kvn, chagedorn ! src/hotspot/share/opto/block.cpp ! src/hotspot/share/opto/block.hpp ! src/hotspot/share/opto/gcm.cpp + test/hotspot/jtreg/compiler/codegen/TestGCMStorePlacement.java Changeset: 8da7c580 Author: Jonathan Gibbons Date: 2020-12-21 17:04:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8da7c580 8258443: doclint should be service-loaded with system class loader Reviewed-by: alanb ! src/jdk.compiler/share/classes/com/sun/tools/doclint/DocLint.java Changeset: 772addfd Author: Vladimir Ivanov Date: 2020-12-22 12:12:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/772addfd 8258790: C2: Crash on empty macro node list Reviewed-by: kvn, chagedorn ! src/hotspot/share/opto/macro.cpp Changeset: 88dd6a94 Author: Daniel D. Daugherty Date: 2020-12-22 13:43:17 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/88dd6a94 8258802: ProblemList TestJstatdDefaults.java, TestJstatdRmiPort.java, and TestJstatdServer.java Reviewed-by: amenkov, cjplummer ! test/jdk/ProblemList.txt Changeset: eabc9030 Author: Daniel D. Daugherty Date: 2020-12-22 17:15:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/eabc9030 8258827: ProblemList Naming/DefaultRegistryPort.java and Naming/legalRegistryNames/LegalRegistryNames.java on Windows Reviewed-by: rriggs, msheppar, prr ! test/jdk/ProblemList.txt Changeset: 61e5e393 Author: Daniel D. Daugherty Date: 2020-12-22 18:59:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/61e5e393 8258832: ProblemList com/sun/jdi/AfterThreadDeathTest.java on Linux-X64 Reviewed-by: ccheung, amenkov ! test/jdk/ProblemList.txt Changeset: f2bad3a0 Author: Jesper Wilhelmsson Date: 2020-12-22 21:16:59 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f2bad3a0 Merge ! src/hotspot/share/opto/macro.cpp ! test/jdk/ProblemList.txt ! src/hotspot/share/opto/macro.cpp ! test/jdk/ProblemList.txt Changeset: 4ea88512 Author: Hao Sun Committer: Ningsheng Jian Date: 2020-12-23 01:32:05 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4ea88512 8257928: Test image build failure with clang-10 due to -Wmisleading-indentation Reviewed-by: amenkov, cjplummer ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass028/redefclass028.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass029/redefclass029.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass030/redefclass030.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t003/hs201t003.cpp Changeset: a4e082e9 Author: Sean Coffey Date: 2020-12-23 12:26:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a4e082e9 8253368: TLS connection always receives close_notify exception Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! test/jdk/sun/security/ssl/SSLSocketImpl/SSLSocketCloseHang.java Changeset: 24457350 Author: Harold Seigel Date: 2020-12-23 14:45:13 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/24457350 8258837: Remove JVM option DisableStartThread Reviewed-by: kbarrett, dcubed ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/thread.cpp Changeset: 91244cc7 Author: Prasanta Sadhukhan Date: 2020-12-23 16:35:31 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/91244cc7 8258557: Deproblemlist fixed problemlisted test Reviewed-by: trebari, serb ! test/jdk/ProblemList.txt Changeset: e46edb55 Author: Daniel D. Daugherty Date: 2020-12-23 20:30:27 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e46edb55 8258911: ProblemList serviceability/attach/RemovingUnixDomainSocketTest.java on Linux-X64 Reviewed-by: amenkov ! test/hotspot/jtreg/ProblemList.txt Changeset: cd94606c Author: Valerie Peng Date: 2020-12-23 20:47:54 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/cd94606c 8258186: Replace use of JNI_COMMIT mode with mode 0 Reviewed-by: xuelei, alanb ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_crypt.c Changeset: fda09434 Author: Harold Seigel Date: 2020-12-23 20:49:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fda09434 8258839: Remove JVM option ExitVMOnVerifyError Reviewed-by: iignatyev, dcubed, coleenp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/runtime/globals.hpp Changeset: 78c9fb92 Author: Valerie Peng Date: 2020-12-23 22:36:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/78c9fb92 8258851: Mismatch in SunPKCS11 provider registration properties and actual implementation Reviewed-by: weijun ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java + test/jdk/sun/security/pkcs11/Provider/CheckRegistration.java Changeset: cdb487a6 Author: Hao Sun Committer: Jie Fu Date: 2020-12-23 23:14:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/cdb487a6 8258856: VM build without C1/C2 fails after JDK-8243205 Reviewed-by: jiefu, kvn ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/share/compiler/oopMap.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp Changeset: 127582f8 Author: Daniel D. Daugherty Date: 2020-12-23 23:19:18 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/127582f8 8258913: ProblemList javax/swing/JComboBox/6559152/bug6559152.java on Linux-X64 Reviewed-by: prr ! test/jdk/ProblemList.txt Changeset: 9cd8e38a Author: Daniel D. Daugherty Date: 2020-12-23 14:36:47 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9cd8e38a 8257521: runtime/logging/MonitorInflationTest.java crashed in MonitorList::unlink_deflated Reviewed-by: kbarrett ! src/hotspot/share/runtime/synchronizer.cpp Changeset: 8b37c2c5 Author: Daniel D. Daugherty Date: 2020-12-23 22:02:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8b37c2c5 8257468: runtime/whitebox/TestWBDeflateIdleMonitors.java fails with Monitor should be deflated.: expected true to equal false Reviewed-by: hseigel ! test/hotspot/jtreg/runtime/whitebox/TestWBDeflateIdleMonitors.java Changeset: 23b83c51 Author: Vicente Romero Date: 2020-12-24 01:24:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/23b83c51 8253954: javac crash when compiling code with enhanced switch expressions with option -Xjcov Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/CRTable.java ! test/langtools/tools/javac/switchexpr/CRT.java Changeset: c398a828 Author: Jonathan Gibbons Date: 2020-12-24 04:52:49 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c398a828 8258916: javac/doclint reports broken HTML on multiline mailto links Reviewed-by: jlaskey, iris ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! test/langtools/tools/doclint/HtmlAttrsTest.java Changeset: 57217b58 Author: Jesper Wilhelmsson Date: 2020-12-24 08:28:24 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/57217b58 Merge Changeset: b575dd80 Author: Xue-Lei Andrew Fan Date: 2020-12-25 04:25:20 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b575dd80 8258914: javax/net/ssl/DTLS/RespondToRetransmit.java timed out Reviewed-by: wetmore ! test/jdk/javax/net/ssl/DTLS/RespondToRetransmit.java Changeset: 97c99b5d Author: Guoxiong Li Committer: Jonathan Gibbons Date: 2020-12-26 17:30:39 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/97c99b5d 8216400: improve handling of IOExceptions in JavaCompiler.close() 8069116: improve fatal error handling in JavaCompiler Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java + test/langtools/tools/javac/fatalErrors/ImproveFatalErrorHandling.java Changeset: 779ee110 Author: Xiaohong Gong Committer: Ningsheng Jian Date: 2020-12-28 02:44:03 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/779ee110 8257147: [TESTBUG] Set a larger default loop count for the VectorAPI jtreg tests Reviewed-by: psandoz ! test/jdk/jdk/incubator/vector/Byte128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Byte128VectorTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Double128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Int128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Int128VectorTests.java ! test/jdk/jdk/incubator/vector/Int256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Int256VectorTests.java ! test/jdk/jdk/incubator/vector/Int512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Int512VectorTests.java ! test/jdk/jdk/incubator/vector/Int64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Int64VectorTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Long128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Long128VectorTests.java ! test/jdk/jdk/incubator/vector/Long256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Long256VectorTests.java ! test/jdk/jdk/incubator/vector/Long512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Long512VectorTests.java ! test/jdk/jdk/incubator/vector/Long64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Long64VectorTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Short128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Short128VectorTests.java ! test/jdk/jdk/incubator/vector/Short256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Short256VectorTests.java ! test/jdk/jdk/incubator/vector/Short512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Short512VectorTests.java ! test/jdk/jdk/incubator/vector/Short64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Short64VectorTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorTests.java ! test/jdk/jdk/incubator/vector/VectorReshapeTests.java ! test/jdk/jdk/incubator/vector/templates/Unit-header.template ! test/jdk/jdk/incubator/vector/templates/X-LoadStoreTest.java.template Changeset: e2aa724a Author: Jonathan Gibbons Date: 2020-12-24 17:32:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e2aa724a 8258941: Test specify the Classpath exception in the header Reviewed-by: vromero ! test/langtools/lib/combo/tools/javac/combo/CompilationTestCase.java ! test/langtools/tools/javac/lint/JdkInternalAbuseOfVbc.out ! test/langtools/tools/javac/lint/SomeVbc.java ! test/langtools/tools/javac/records/RecordCompilationTests.java ! test/langtools/tools/javac/records/RecordMemberTests.java ! test/langtools/tools/javac/records/VarargsRecordsTest.java ! test/langtools/tools/javac/sealed/SealedCompilationTests.java Changeset: 3f67afd3 Author: Prasanta Sadhukhan Date: 2020-12-24 18:50:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3f67afd3 8251377: [macos11] JTabbedPane selected tab text is barely legible Reviewed-by: prr ! src/java.desktop/macosx/classes/apple/laf/JRSUIUtils.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaImageFactory.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaLookAndFeel.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/java.desktop/macosx/native/libawt_lwawt/awt/CSystemColors.m Changeset: fb607f16 Author: Sergey Bylokhov Date: 2020-12-26 05:52:05 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fb607f16 8245922: [macos] Taskbar.Feature.ICON_BADGE_NUMBER no longer supported on MacOS Reviewed-by: kcr, prr ! src/java.desktop/macosx/classes/apple/laf/JRSUIUtils.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CTaskbarPeer.java Changeset: 881bceb9 Author: Guoxiong Li Committer: Vicente Romero Date: 2020-12-28 15:32:02 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/881bceb9 8258662: JDK 17ea: Crash compiling instanceof check involving sealed interface Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java + test/langtools/tools/javac/sealed/T8258662/T8258662.java Changeset: 07c93fab Author: Jesper Wilhelmsson Date: 2020-12-29 05:24:20 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/07c93fab Merge ! src/java.desktop/macosx/native/libawt_lwawt/awt/CSystemColors.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CSystemColors.m Changeset: 8435f0da Author: Guoxiong Li Committer: Jonathan Gibbons Date: 2020-12-30 17:20:54 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8435f0da 8258525: Some existing tests should use /nodynamiccopyright/ instead of the standard header Reviewed-by: jjg ! test/langtools/tools/javac/4917091/Test256a.java ! test/langtools/tools/javac/4917091/Test256a.out ! test/langtools/tools/javac/4917091/Test256b.java ! test/langtools/tools/javac/4917091/Test256b.out ! test/langtools/tools/javac/6979683/TestCast6979683_BAD34.java ! test/langtools/tools/javac/6979683/TestCast6979683_BAD34.java.errlog ! test/langtools/tools/javac/6979683/TestCast6979683_BAD35.java ! test/langtools/tools/javac/6979683/TestCast6979683_BAD35.java.errlog ! test/langtools/tools/javac/6979683/TestCast6979683_BAD36.java ! test/langtools/tools/javac/6979683/TestCast6979683_BAD36.java.errlog ! test/langtools/tools/javac/6979683/TestCast6979683_BAD37.java ! test/langtools/tools/javac/6979683/TestCast6979683_BAD37.java.errlog ! test/langtools/tools/javac/6979683/TestCast6979683_BAD38.java ! test/langtools/tools/javac/6979683/TestCast6979683_BAD38.java.errlog ! test/langtools/tools/javac/6979683/TestCast6979683_BAD39.java ! test/langtools/tools/javac/6979683/TestCast6979683_BAD39.java.errlog ! test/langtools/tools/javac/7023703/T7023703neg.java ! test/langtools/tools/javac/7023703/T7023703neg.out ! test/langtools/tools/javac/7024568/T7024568.java ! test/langtools/tools/javac/7024568/T7024568.out ! test/langtools/tools/javac/AnonStaticMember_1.java ! test/langtools/tools/javac/AnonStaticMember_1.out ! test/langtools/tools/javac/ClassCycle/ClassCycle1a.out ! test/langtools/tools/javac/ClassCycle/ClassCycle1b.java ! test/langtools/tools/javac/ClassCycle/ClassCycle2a.out ! test/langtools/tools/javac/ClassCycle/ClassCycle2b.java ! test/langtools/tools/javac/ClassCycle/ClassCycle3a.out ! test/langtools/tools/javac/ClassCycle/ClassCycle3b.java ! test/langtools/tools/javac/T6326693/FinalVariableAssignedToInCatchBlockTest.java ! test/langtools/tools/javac/T6326693/FinalVariableAssignedToInCatchBlockTest.out ! test/langtools/tools/javac/T6326754.java ! test/langtools/tools/javac/T6326754.out ! test/langtools/tools/javac/T6356530/SerializableAbstractClassTest.java ! test/langtools/tools/javac/T6356530/SerializableAbstractClassTest.out ! test/langtools/tools/javac/T8171332/Buggy.java ! test/langtools/tools/javac/T8171332/Processor.out ! test/langtools/tools/javac/T8171528/DuplicatedAnnotatedPackagesTest.out ! test/langtools/tools/javac/T8171528/pkg1/package-info.java ! test/langtools/tools/javac/T8171528/pkg2/package-info.java ! test/langtools/tools/javac/T8222035/MinContextOpTest.java ! test/langtools/tools/javac/T8222035/MinContextOpTest_A.out ! test/langtools/tools/javac/T8222035/MinContextOpTest_B.out ! test/langtools/tools/javac/T8255968/T8255968_1.java ! test/langtools/tools/javac/T8255968/T8255968_1.out ! test/langtools/tools/javac/T8255968/T8255968_10.java ! test/langtools/tools/javac/T8255968/T8255968_10.out ! test/langtools/tools/javac/T8255968/T8255968_11.java ! test/langtools/tools/javac/T8255968/T8255968_11.out ! test/langtools/tools/javac/T8255968/T8255968_12.java ! test/langtools/tools/javac/T8255968/T8255968_12.out ! test/langtools/tools/javac/T8255968/T8255968_13.java ! test/langtools/tools/javac/T8255968/T8255968_13.out ! test/langtools/tools/javac/T8255968/T8255968_14.java ! test/langtools/tools/javac/T8255968/T8255968_14.out ! test/langtools/tools/javac/T8255968/T8255968_15.java ! test/langtools/tools/javac/T8255968/T8255968_15.out ! test/langtools/tools/javac/T8255968/T8255968_16.java ! test/langtools/tools/javac/T8255968/T8255968_16.out ! test/langtools/tools/javac/T8255968/T8255968_2.java ! test/langtools/tools/javac/T8255968/T8255968_2.out ! test/langtools/tools/javac/T8255968/T8255968_3.java ! test/langtools/tools/javac/T8255968/T8255968_3.out ! test/langtools/tools/javac/T8255968/T8255968_4.java ! test/langtools/tools/javac/T8255968/T8255968_4.out ! test/langtools/tools/javac/T8255968/T8255968_5.java ! test/langtools/tools/javac/T8255968/T8255968_5.out ! test/langtools/tools/javac/T8255968/T8255968_6.java ! test/langtools/tools/javac/T8255968/T8255968_6.out ! test/langtools/tools/javac/T8255968/T8255968_7.java ! test/langtools/tools/javac/T8255968/T8255968_7.out ! test/langtools/tools/javac/TryWithResources/ResourceInterface.java ! test/langtools/tools/javac/TryWithResources/ResourceInterface.out ! test/langtools/tools/javac/analyzer/AnalyzerMandatoryWarnings.java ! test/langtools/tools/javac/analyzer/StuckLambdas.java ! test/langtools/tools/javac/analyzer/StuckLambdas.out ! test/langtools/tools/javac/annotations/clinit/AnnoWithClinitFail.java ! test/langtools/tools/javac/annotations/clinit/AnnoWithClinitFail.out ! test/langtools/tools/javac/annotations/default/Derr.java ! test/langtools/tools/javac/annotations/default/Derr.out ! test/langtools/tools/javac/annotations/default/Eerr.java ! test/langtools/tools/javac/annotations/default/Eerr.out ! test/langtools/tools/javac/annotations/neg/InvalidPackageAnno.out ! test/langtools/tools/javac/annotations/neg/bar/package-info.java ! test/langtools/tools/javac/annotations/repeatingAnnotations/DefaultTargetTypeParameter.java ! test/langtools/tools/javac/annotations/repeatingAnnotations/DefaultTargetTypeParameter.out ! test/langtools/tools/javac/annotations/repeatingAnnotations/DefaultTargetTypeUse.java ! test/langtools/tools/javac/annotations/repeatingAnnotations/DefaultTargetTypeUse.out ! test/langtools/tools/javac/annotations/repeatingAnnotations/DuplicateErrors.java ! test/langtools/tools/javac/annotations/repeatingAnnotations/DuplicateErrors.out ! test/langtools/tools/javac/annotations/repeatingAnnotations/RepeatingTargetNotAllowed.java ! test/langtools/tools/javac/annotations/repeatingAnnotations/RepeatingTargetNotAllowed.out ! test/langtools/tools/javac/annotations/typeAnnotations/6967002/T6967002.java ! test/langtools/tools/javac/annotations/typeAnnotations/6967002/T6967002.out ! test/langtools/tools/javac/annotations/typeAnnotations/DeclVsUseErrorMessage.java ! test/langtools/tools/javac/annotations/typeAnnotations/DeclVsUseErrorMessage.out ! test/langtools/tools/javac/annotations/typeAnnotations/failures/TypeVariableMissingTA.java ! test/langtools/tools/javac/annotations/typeAnnotations/failures/TypeVariableMissingTA.out ! test/langtools/tools/javac/annotations/typeAnnotations/failures/common/receiver/StaticThings.java ! test/langtools/tools/javac/annotations/typeAnnotations/failures/common/receiver/StaticThings.out ! test/langtools/tools/javac/annotations/typeAnnotations/failures/common/receiver/WrongType.java ! test/langtools/tools/javac/annotations/typeAnnotations/failures/common/receiver/WrongType.out ! test/langtools/tools/javac/annotations/typeAnnotations/failures/target/DotClass.java ! test/langtools/tools/javac/annotations/typeAnnotations/failures/target/DotClass.out ! test/langtools/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.java ! test/langtools/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.out ! test/langtools/tools/javac/cast/6270087/T6270087neg.java ! test/langtools/tools/javac/cast/6270087/T6270087neg.out ! test/langtools/tools/javac/cast/6932571/T6932571neg.java ! test/langtools/tools/javac/cast/6932571/T6932571neg.out ! test/langtools/tools/javac/danglingDep/DepX.java ! test/langtools/tools/javac/danglingDep/DepX.out ! test/langtools/tools/javac/defaultMethods/static/Static02.java ! test/langtools/tools/javac/defaultMethods/static/Static02.out ! test/langtools/tools/javac/defaultMethods/static/import/StaticImport2.java ! test/langtools/tools/javac/defaultMethods/static/import/StaticImport2.out ! test/langtools/tools/javac/defaultMethods/static/import/StaticImport3.java ! test/langtools/tools/javac/defaultMethods/static/import/StaticImport3.out ! test/langtools/tools/javac/depOverrides/doccomment/B3.java ! test/langtools/tools/javac/depOverrides/doccomment/I.java ! test/langtools/tools/javac/depOverrides/doccomment/P.java ! test/langtools/tools/javac/depOverrides/doccomment/Test1B3.out ! test/langtools/tools/javac/depOverrides/doccomment/Test1I.out ! test/langtools/tools/javac/depOverrides/doccomment/Test2P.out ! test/langtools/tools/javac/diags/EagerInitCheck.out ! test/langtools/tools/javac/diags/IEagerInitCheck.java ! test/langtools/tools/javac/generics/7022054/T7022054pos1.java ! test/langtools/tools/javac/generics/7022054/T7022054pos1.out ! test/langtools/tools/javac/generics/7022054/T7022054pos2.java ! test/langtools/tools/javac/generics/7022054/T7022054pos2.out ! test/langtools/tools/javac/generics/inference/6650759/T6650759m.java ! test/langtools/tools/javac/generics/inference/6650759/T6650759m.out ! test/langtools/tools/javac/generics/typevars/5060485/Compatibility.java ! test/langtools/tools/javac/generics/typevars/5060485/Compatibility.out ! test/langtools/tools/javac/generics/typevars/5060485/Compatibility02.java ! test/langtools/tools/javac/generics/typevars/5060485/Compatibility02.out ! test/langtools/tools/javac/generics/wildcards/6886247/T6886247_2.java ! test/langtools/tools/javac/generics/wildcards/6886247/T6886247_2.out ! test/langtools/tools/javac/generics/wildcards/7034495/T7034495.java ! test/langtools/tools/javac/generics/wildcards/7034495/T7034495.out ! test/langtools/tools/javac/generics/wildcards/AssignmentDifferentTypes.java ! test/langtools/tools/javac/generics/wildcards/AssignmentDifferentTypes.out ! test/langtools/tools/javac/generics/wildcards/AssignmentSameType.java ! test/langtools/tools/javac/generics/wildcards/AssignmentSameType.out ! test/langtools/tools/javac/generics/wildcards/neg/CastFail.java ! test/langtools/tools/javac/generics/wildcards/neg/CastFail.out ! test/langtools/tools/javac/generics/wildcards/neg/CastWarn.java ! test/langtools/tools/javac/generics/wildcards/neg/CastWarn.out ! test/langtools/tools/javac/importChecks/ImportCanonical1.out ! test/langtools/tools/javac/importChecks/ImportCanonical2.java ! test/langtools/tools/javac/importChecks/ImportCanonicalSameName/ImportCanonicalSameName.java ! test/langtools/tools/javac/importChecks/ImportCanonicalSameName/ImportCanonicalSameName.out ! test/langtools/tools/javac/importChecks/ImportsObservable.java ! test/langtools/tools/javac/importChecks/ImportsObservable.out ! test/langtools/tools/javac/importOnDemand/ImportOnDemandConflicts.out ! test/langtools/tools/javac/importOnDemand/p1/Object.java ! test/langtools/tools/javac/importOnDemand/p1/String.java ! test/langtools/tools/javac/importOnDemand/p2/Boolean.java ! test/langtools/tools/javac/importscope/ImportInaccessible.java ! test/langtools/tools/javac/importscope/ImportInaccessible.out ! test/langtools/tools/javac/lambda/ExceptionsInLambda.java ! test/langtools/tools/javac/lambda/ExceptionsInLambda.out ! test/langtools/tools/javac/lambda/Intersection02.java ! test/langtools/tools/javac/lambda/Intersection02.out ! test/langtools/tools/javac/lambda/MethodReference25.java ! test/langtools/tools/javac/lambda/MethodReference25.out ! test/langtools/tools/javac/lambda/MethodReference56.java ! test/langtools/tools/javac/lambda/MethodReference56.out ! test/langtools/tools/javac/lambda/MethodReference58.java ! test/langtools/tools/javac/lambda/MethodReference58.out ! test/langtools/tools/javac/lambda/MethodReference60.java ! test/langtools/tools/javac/lambda/MethodReference60.out ! test/langtools/tools/javac/lambda/MostSpecific04.java ! test/langtools/tools/javac/lambda/MostSpecific04.out ! test/langtools/tools/javac/lambda/MostSpecific05.java ! test/langtools/tools/javac/lambda/MostSpecific05.out ! test/langtools/tools/javac/lambda/MostSpecific08.java ! test/langtools/tools/javac/lambda/MostSpecific08.out ! test/langtools/tools/javac/lambda/TargetType01.java ! test/langtools/tools/javac/lambda/TargetType01.out ! test/langtools/tools/javac/lambda/TargetType36.java ! test/langtools/tools/javac/lambda/TargetType36.out ! test/langtools/tools/javac/lambda/TargetType68.java ! test/langtools/tools/javac/lambda/TargetType68.out ! test/langtools/tools/javac/lambda/UnderscoreAsIdent.java ! test/langtools/tools/javac/lambda/UnderscoreAsIdent8.out ! test/langtools/tools/javac/lambda/UnderscoreAsIdent9.out ! test/langtools/tools/javac/lambda/inaccessibleMref01/InaccessibleMref01.java ! test/langtools/tools/javac/lambda/inaccessibleMref01/InaccessibleMref01.out ! test/langtools/tools/javac/lambda/methodReference/MethodRefStuck.java ! test/langtools/tools/javac/lambda/methodReference/MethodRefStuck.out ! test/langtools/tools/javac/lambda/methodReference/MethodRefStuckParenthesized.java ! test/langtools/tools/javac/lambda/methodReference/MethodRefStuckParenthesized.out ! test/langtools/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestVarHandle_neg.java ! test/langtools/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestVarHandle_neg.out ! test/langtools/tools/javac/lambda/speculative/A.java ! test/langtools/tools/javac/lambda/speculative/Main.out ! test/langtools/tools/javac/limits/ArrayDims2.java ! test/langtools/tools/javac/limits/ArrayDims2.out ! test/langtools/tools/javac/limits/ArrayDims4.java ! test/langtools/tools/javac/limits/ArrayDims4.out ! test/langtools/tools/javac/limits/ArrayDims5.java ! test/langtools/tools/javac/limits/ArrayDims5.out ! test/langtools/tools/javac/limits/CodeSize.java ! test/langtools/tools/javac/limits/CodeSize.out ! test/langtools/tools/javac/limits/LongName.java ! test/langtools/tools/javac/limits/LongName.out ! test/langtools/tools/javac/limits/PoolSize1.java ! test/langtools/tools/javac/limits/PoolSize1.out ! test/langtools/tools/javac/limits/PoolSize2.java ! test/langtools/tools/javac/limits/PoolSize2.out ! test/langtools/tools/javac/limits/StringLength.java ! test/langtools/tools/javac/limits/StringLength.out ! test/langtools/tools/javac/overrridecrash/A.java ! test/langtools/tools/javac/overrridecrash/B.out ! test/langtools/tools/javac/parser/SingleCommaAnnotationValueFail.java ! test/langtools/tools/javac/parser/SingleCommaAnnotationValueFail.out ! test/langtools/tools/javac/parser/T4881269.java ! test/langtools/tools/javac/parser/T4881269.out ! test/langtools/tools/javac/patterns/CastConversionMatch.java ! test/langtools/tools/javac/patterns/NullsInPatterns.java ! test/langtools/tools/javac/patterns/NullsInPatterns.out ! test/langtools/tools/javac/patterns/PatternVariablesAreNonFinal.java ! test/langtools/tools/javac/patterns/PatternVariablesAreNonFinal.out ! test/langtools/tools/javac/plugin/showtype/Identifiers.java ! test/langtools/tools/javac/processing/TestMultipleErrors.java ! test/langtools/tools/javac/processing/errors/TestParseErrors/ParseErrors.java ! test/langtools/tools/javac/processing/errors/TestParseErrors/TestParseErrors.out ! test/langtools/tools/javac/processing/model/element/TestMissingElement/InvalidSource.java ! test/langtools/tools/javac/processing/model/element/TestMissingElement/TestMissingElement.ref ! test/langtools/tools/javac/processing/model/trees/BrokenEnumConstructor.java ! test/langtools/tools/javac/processing/model/trees/BrokenEnumConstructor.out ! test/langtools/tools/javac/processing/model/util/directSupersOfErr/C1.java ! test/langtools/tools/javac/processing/model/util/directSupersOfErr/DirectSupersOfErr.ref ! test/langtools/tools/javac/recovery/LocalVarHiding.java ! test/langtools/tools/javac/recovery/LocalVarHiding.out ! test/langtools/tools/javac/sourcePath2/SourcePath2.out ! test/langtools/tools/javac/sourcePath2/p/SourcePath2A.java ! test/langtools/tools/javac/staticImport/6695838/T6695838.out ! test/langtools/tools/javac/staticImport/6695838/a/Foo.java ! test/langtools/tools/javac/switchexpr/EmptySwitch.java ! test/langtools/tools/javac/switchexpr/EmptySwitch.out ! test/langtools/tools/javac/switchexpr/WarnWrongYieldTest.java ! test/langtools/tools/javac/switchexpr/WarnWrongYieldTest.out ! test/langtools/tools/javac/switchexpr/WrongBreakTest.java ! test/langtools/tools/javac/switchexpr/WrongBreakTest.out ! test/langtools/tools/javac/switchexpr/WrongYieldTest.java ! test/langtools/tools/javac/switchexpr/WrongYieldTest.out ! test/langtools/tools/javac/switchextra/SwitchArrowBrokenConstant.java ! test/langtools/tools/javac/switchextra/SwitchStatementArrow.java ! test/langtools/tools/javac/varargs/5088429/T5088429Neg01.java ! test/langtools/tools/javac/varargs/5088429/T5088429Neg01.out ! test/langtools/tools/javac/varargs/5088429/T5088429Neg02.java ! test/langtools/tools/javac/varargs/5088429/T5088429Neg02.out ! test/langtools/tools/javac/varargs/VarargsOverride.java ! test/langtools/tools/javac/warnings/AuxiliaryClass/ClassUsingAnotherAuxiliary.java ! test/langtools/tools/javac/warnings/AuxiliaryClass/ClassUsingAnotherAuxiliary.out ! test/langtools/tools/javac/warnings/AuxiliaryClass/ClassUsingAuxiliary.java ! test/langtools/tools/javac/warnings/AuxiliaryClass/ClassUsingAuxiliary1.out ! test/langtools/tools/javac/warnings/AuxiliaryClass/ClassUsingAuxiliary2.out ! test/langtools/tools/javac/warnings/MaxDiagsRecompile.all.out ! test/langtools/tools/javac/warnings/MaxDiagsRecompile.java ! test/langtools/tools/javac/warnings/MaxDiagsRecompile.max1.out ! test/langtools/tools/javac/warnings/MaxWarnsRecompile.all.out ! test/langtools/tools/javac/warnings/MaxWarnsRecompile.java ! test/langtools/tools/javac/warnings/MaxWarnsRecompile.max1.out Changeset: f5ee3565 Author: Jamil Nimeh Date: 2020-12-31 18:03:54 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f5ee3565 8179503: Java should support GET OCSP calls Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/provider/certpath/OCSP.java + test/jdk/java/security/cert/CertPathValidator/OCSP/GetAndPostTests.java ! test/jdk/java/security/testlibrary/SimpleOCSPServer.java Changeset: 497efefa Author: Sergey Bylokhov Date: 2021-01-03 05:08:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/497efefa 8225116: Test OwnedWindowsLeak.java intermittently fails Reviewed-by: pbansal ! test/jdk/java/awt/Window/OwnedWindowsLeak/OwnedWindowsLeak.java Changeset: 526c0005 Author: Guoxiong Li Committer: Jonathan Gibbons Date: 2021-01-03 17:32:46 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/526c0005 8255729: com.sun.tools.javac.processing.JavacFiler.FilerOutputStream is inefficient Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacFiler.java Changeset: f351e155 Author: Hao Sun Committer: Ningsheng Jian Date: 2021-01-04 02:21:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f351e155 8258382: Fix optimization-unstable code involving pointer overflow Reviewed-by: kbarrett ! src/hotspot/share/gc/parallel/psPromotionLAB.hpp ! src/hotspot/share/gc/parallel/psPromotionLAB.inline.hpp Changeset: a2a3f4a3 Author: Prasanta Sadhukhan Date: 2021-01-04 04:33:30 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a2a3f4a3 8258924: javax/swing/JSplitPane/4201995/bug4201995.java fails in GTk L&F Reviewed-by: serb ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JSplitPane/4201995/bug4201995.java Changeset: d679caa2 Author: Prasanta Sadhukhan Date: 2021-01-04 06:35:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d679caa2 8196466: javax/swing/JFileChooser/8062561/bug8062561.java fails Reviewed-by: serb ! test/jdk/ProblemList.txt Changeset: 7f04d23b Author: Coleen Phillimore Date: 2021-01-04 16:44:39 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7f04d23b 8258800: Deprecate -XX:+AlwaysLockClassLoader Reviewed-by: hseigel ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp Changeset: f80c63b3 Author: Zhengyu Gu Date: 2021-01-04 18:10:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f80c63b3 8258490: Shenandoah: Full GC does not need to remark threads and drain SATB buffers Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp Changeset: 9d160aa1 Author: Claes Redestad Date: 2021-01-04 21:01:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9d160aa1 8257815: Replace global log2 functions with efficient implementations Reviewed-by: kbarrett, stefank ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/z/zGlobals_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp ! src/hotspot/cpu/ppc/assembler_ppc.cpp ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp ! src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.inline.hpp ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp ! src/hotspot/cpu/s390/c1_LIRGenerator_s390.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/gc/z/zGlobals_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/compiler/compilationPolicy.cpp ! src/hotspot/share/compiler/compilerDefinitions.cpp ! src/hotspot/share/compiler/tieredThresholdPolicy.cpp ! src/hotspot/share/gc/g1/g1BiasedArray.hpp ! src/hotspot/share/gc/g1/g1FreeIdSet.cpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp ! src/hotspot/share/gc/shared/partialArrayTaskStepper.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNumberSeq.cpp ! src/hotspot/share/gc/z/zHeuristics.cpp ! src/hotspot/share/opto/divnode.cpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/vectorIntrinsics.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/hotspot/share/utilities/hashtable.cpp ! src/hotspot/share/utilities/powerOfTwo.hpp ! test/hotspot/gtest/utilities/test_globalDefinitions.cpp ! test/hotspot/gtest/utilities/test_powerOfTwo.cpp Changeset: e6f99260 Author: Phil Race Date: 2021-01-04 21:09:01 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e6f99260 8257809: JNI warnings from Toolkit JPEG image decoding Reviewed-by: serb ! src/java.desktop/share/native/libjavajpeg/jpegdecoder.c + test/jdk/java/awt/image/GetImageJNICheck/GetImageJNICheck.java + test/jdk/java/awt/image/GetImageJNICheck/GetImageJNICheck.sh = test/jdk/java/awt/image/GetImageJNICheck/duke.jpg Changeset: f0aae81e Author: Xin Liu Committer: Paul Hohensee Date: 2021-01-04 23:58:53 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f0aae81e 8259020: null-check of g1 write_ref_field_pre_entry is not necessary Reviewed-by: kbarrett, ayang, phh ! src/hotspot/share/gc/g1/g1BarrierSetRuntime.cpp Changeset: 2499ac3d Author: Xue-Lei Andrew Fan Date: 2021-01-05 00:11:55 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2499ac3d 8259069: Fields could be final Reviewed-by: wetmore ! src/java.base/share/classes/sun/security/ssl/DHClientKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/EphemeralKeyManager.java ! src/java.base/share/classes/sun/security/ssl/HelloCookieManager.java ! src/java.base/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java ! src/java.base/share/classes/sun/security/ssl/SSLCipher.java ! src/java.base/share/classes/sun/security/ssl/SSLConfiguration.java ! src/java.base/share/classes/sun/security/ssl/SSLEngineOutputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLExtensions.java ! src/java.base/share/classes/sun/security/ssl/SSLKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java ! src/java.base/share/classes/sun/security/ssl/SunJSSE.java ! src/java.base/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java ! src/java.base/share/classes/sun/security/ssl/TrustStoreManager.java Changeset: 5ea96072 Author: Ioi Lam Date: 2021-01-05 05:57:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5ea96072 8258459: Decouple gc_globals.hpp from globals.hpp Reviewed-by: lfoltan, coleenp ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/cardTableBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/z/zGlobals_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/z/z_aarch64.ad ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/arm/c1_MacroAssembler_arm.cpp ! src/hotspot/cpu/arm/c1_Runtime1_arm.cpp ! src/hotspot/cpu/arm/templateTable_arm.cpp ! src/hotspot/cpu/ppc/c1_MacroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/s390/c1_MacroAssembler_s390.cpp ! src/hotspot/cpu/s390/templateTable_s390.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/gc/shared/cardTableBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/cpu/x86/gc/z/zGlobals_x86.cpp ! src/hotspot/cpu/x86/gc/z/z_x86_64.ad ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/share/aot/aotCodeHeap.cpp ! src/hotspot/share/gc/epsilon/epsilonArguments.cpp ! src/hotspot/share/gc/epsilon/epsilonInitLogger.cpp ! src/hotspot/share/gc/epsilon/epsilonThreadLocalData.hpp ! src/hotspot/share/gc/g1/g1AllocRegion.cpp ! src/hotspot/share/gc/g1/g1Allocator.cpp ! src/hotspot/share/gc/g1/g1Analytics.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1EvacStats.cpp ! src/hotspot/share/gc/g1/g1FromCardCache.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/g1/g1InitLogger.cpp ! src/hotspot/share/gc/g1/g1ThreadLocalData.hpp ! src/hotspot/share/gc/parallel/jvmFlagConstraintsParallel.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/parallel/psPromotionManager.inline.hpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/serial/markSweep.cpp ! src/hotspot/share/gc/shared/ageTable.cpp ! src/hotspot/share/gc/shared/blockOffsetTable.hpp ! src/hotspot/share/gc/shared/c1/cardTableBarrierSetC1.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/cardTableBarrierSetC2.cpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/gcConfiguration.cpp ! src/hotspot/share/gc/shared/gcInitLogger.cpp ! src/hotspot/share/gc/shared/gcOverheadChecker.hpp ! src/hotspot/share/gc/shared/gcPolicyCounters.cpp ! src/hotspot/share/gc/shared/gcStats.cpp ! src/hotspot/share/gc/shared/gcVMOperations.cpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.cpp ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/gc/shared/plab.cpp ! src/hotspot/share/gc/shared/pretouchTask.cpp ! src/hotspot/share/gc/shared/referencePolicy.cpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupTable.cpp ! src/hotspot/share/gc/shared/suspendibleThreadSet.cpp ! src/hotspot/share/gc/shared/taskTerminator.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.inline.hpp + src/hotspot/share/gc/shared/tlab_globals.hpp ! src/hotspot/share/gc/shared/weakProcessor.cpp ! src/hotspot/share/gc/shared/workerManager.hpp ! src/hotspot/share/gc/shared/workgroup.cpp ! src/hotspot/share/gc/shared/workgroup.hpp ! 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/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.cpp ! src/hotspot/share/gc/z/zAddressSpaceLimit.cpp ! src/hotspot/share/gc/z/zDirector.cpp ! src/hotspot/share/gc/z/zHeap.cpp ! src/hotspot/share/gc/z/zHeapIterator.cpp ! src/hotspot/share/gc/z/zHeuristics.cpp ! src/hotspot/share/gc/z/zMarkStackAllocator.cpp ! src/hotspot/share/gc/z/zRelocate.cpp ! src/hotspot/share/gc/z/zRelocationSetSelector.cpp ! src/hotspot/share/gc/z/zRuntimeWorkers.cpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zThreadLocalAllocBuffer.cpp ! src/hotspot/share/gc/z/zUncommitter.cpp ! src/hotspot/share/gc/z/zUnmapper.cpp ! src/hotspot/share/gc/z/zValue.inline.hpp ! src/hotspot/share/gc/z/zVerify.cpp ! src/hotspot/share/gc/z/zWorkers.inline.hpp ! src/hotspot/share/interpreter/zero/bytecodeInterpreter.cpp ! src/hotspot/share/jfr/leakprofiler/chains/pathToGcRootsOperation.cpp ! src/hotspot/share/jfr/support/jfrObjectAllocationSample.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/heapShared.hpp ! src/hotspot/share/memory/metaspace/virtualSpaceNode.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/oops/oop.cpp ! src/hotspot/share/oops/oop.hpp ! src/hotspot/share/oops/oop.inline.hpp ! src/hotspot/share/opto/arraycopynode.cpp ! src/hotspot/share/opto/lcm.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/flags/allFlags.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/thread.inline.hpp ! src/hotspot/share/runtime/threadSMR.inline.hpp ! test/hotspot/gtest/runtime/test_globals.cpp Changeset: dd8996c5 Author: Hao Sun Committer: Ningsheng Jian Date: 2021-01-05 07:31:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/dd8996c5 8258946: Fix optimization-unstable code involving signed integer overflow Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/parse2.cpp Changeset: 17d1645e Author: Hao Sun Committer: Ningsheng Jian Date: 2021-01-05 08:29:41 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/17d1645e 8258751: Improve ExceptionHandlerTable dump Reviewed-by: thartmann, chagedorn, njian ! src/hotspot/share/code/exceptionHandlerTable.cpp ! src/hotspot/share/code/exceptionHandlerTable.hpp ! src/hotspot/share/code/nmethod.cpp Changeset: 3817c32f Author: Lehua Ding Committer: Jie Fu Date: 2021-01-05 08:34:11 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3817c32f 8258534: Epsilon: clean up unused includes Reviewed-by: shade, jiefu ! src/hotspot/share/gc/epsilon/epsilonArguments.cpp ! src/hotspot/share/gc/epsilon/epsilonBarrierSet.cpp Changeset: db6f3930 Author: Aleksey Shipilev Date: 2021-01-05 08:37:06 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/db6f3930 8251944: Add Shenandoah test config to compiler/gcbarriers/UnsafeIntrinsicsTest.java Reviewed-by: rkennke, adityam ! test/hotspot/jtreg/compiler/gcbarriers/UnsafeIntrinsicsTest.java Changeset: 9f151649 Author: Christian Hagedorn Date: 2021-01-05 09:54:18 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9f151649 8259049: Uninitialized variable after JDK-8257513 Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/constantTable.cpp Changeset: a6c08813 Author: Sergey Bylokhov Date: 2021-01-05 12:47:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a6c08813 8256321: Some "inactive" color profiles use the wrong profile class Reviewed-by: prr ! src/java.desktop/share/classes/java/awt/color/ICC_Profile.java + test/jdk/java/awt/color/CheckDefaultProperties.java Changeset: fc3b45c0 Author: Alexander Zuev Date: 2021-01-05 14:46:03 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fc3b45c0 8258643: javax/swing/JComponent/7154030/bug7154030.java failed with "Exception: Failed to hide opaque button" Reviewed-by: psadhukhan ! test/jdk/javax/swing/JComponent/7154030/bug7154030.java Changeset: f4122d6a Author: Harold Seigel Date: 2021-01-05 16:14:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f4122d6a 8258896: Remove the JVM ForceFloatExceptions option Reviewed-by: lfoltan, iklam, coleenp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/runtime/globals.hpp Changeset: 82bdbfd7 Author: Hao Sun Committer: Aleksey Shipilev Date: 2021-01-05 16:28:28 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/82bdbfd7 8258857: Zero: non-PCH release build fails after JDK-8258074 Reviewed-by: jiefu, shade, iklam ! src/hotspot/share/compiler/compiler_globals.hpp Changeset: d5aa49d1 Author: Claes Redestad Date: 2021-01-05 16:41:17 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d5aa49d1 8259236: C2 compilation fails with assert(is_power_of_2(value)) failed: value must be a power of 2: 8000000000000000 Reviewed-by: thartmann ! src/hotspot/cpu/x86/x86_64.ad Changeset: 85bac8c4 Author: Peter Levart Date: 2021-01-05 17:41:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/85bac8c4 8259021: SharedSecrets should avoid double racy reads from non-volatile fields Reviewed-by: shade, redestad, rriggs, mchung, rrich, alanb ! src/java.base/share/classes/jdk/internal/access/SharedSecrets.java Changeset: 7ddc2b56 Author: Xue-Lei Andrew Fan Date: 2021-01-05 18:29:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7ddc2b56 8258852: Arrays.asList() for single item could be replaced with List.of() Reviewed-by: mullan ! src/java.base/share/classes/sun/security/ssl/ClientHello.java ! src/java.base/share/classes/sun/security/ssl/KeyShareExtension.java ! src/java.base/share/classes/sun/security/ssl/SSLConfiguration.java Changeset: 1b60acd8 Author: Zhengyu Gu Date: 2021-01-05 18:33:41 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1b60acd8 8259252: Shenandoah: Shenandoah build failed on AArch64 after JDK-8258459 Reviewed-by: rkennke, shade ! src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp Changeset: 4d3d5991 Author: Xue-Lei Andrew Fan Date: 2021-01-05 19:32:46 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4d3d5991 8259223: Simplify boolean expression in the SunJSSE provider Reviewed-by: mullan ! src/java.base/share/classes/sun/security/ssl/CipherSuite.java ! src/java.base/share/classes/sun/security/ssl/EphemeralKeyManager.java ! src/java.base/share/classes/sun/security/ssl/Finished.java ! src/java.base/share/classes/sun/security/ssl/HandshakeContext.java ! src/java.base/share/classes/sun/security/ssl/KeyManagerFactoryImpl.java ! src/java.base/share/classes/sun/security/ssl/ProtocolVersion.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/SignatureScheme.java ! src/java.base/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java ! src/java.base/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java ! src/java.base/share/classes/sun/security/ssl/X509KeyManagerImpl.java Changeset: cf9908b4 Author: Harold Seigel Date: 2021-01-05 21:15:13 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/cf9908b4 8258937: Remove JVM IgnoreRewrites flag Reviewed-by: coleenp ! src/hotspot/share/oops/generateOopMap.cpp ! src/hotspot/share/runtime/globals.hpp Changeset: 7d769663 Author: Guoxiong Li Committer: Vicente Romero Date: 2021-01-05 22:21:19 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7d769663 8255757: Javac emits duplicate pool entries on array::clone Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java + test/langtools/tools/javac/classfiles/T8255757/T8255757.java Changeset: 8b454977 Author: Yasumasa Suenaga Date: 2021-01-05 22:36:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8b454977 8259037: livenmethods cannot find hsdis library Reviewed-by: cjplummer, sspitsyn ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/asm/Disassembler.java ! src/jdk.hotspot.agent/share/native/libsaproc/sadis.c Changeset: 52d3feec Author: Xiaohong Gong Committer: Ningsheng Jian Date: 2021-01-06 01:40:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/52d3feec 8258813: [TESTBUG] Fix incorrect Vector API test output message Reviewed-by: psandoz, njian ! test/jdk/jdk/incubator/vector/AbstractVectorTest.java ! test/jdk/jdk/incubator/vector/Byte128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Byte128VectorTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Double128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Int128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Int128VectorTests.java ! test/jdk/jdk/incubator/vector/Int256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Int256VectorTests.java ! test/jdk/jdk/incubator/vector/Int512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Int512VectorTests.java ! test/jdk/jdk/incubator/vector/Int64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Int64VectorTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Long128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Long128VectorTests.java ! test/jdk/jdk/incubator/vector/Long256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Long256VectorTests.java ! test/jdk/jdk/incubator/vector/Long512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Long512VectorTests.java ! test/jdk/jdk/incubator/vector/Long64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Long64VectorTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Short128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Short128VectorTests.java ! test/jdk/jdk/incubator/vector/Short256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Short256VectorTests.java ! test/jdk/jdk/incubator/vector/Short512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Short512VectorTests.java ! test/jdk/jdk/incubator/vector/Short64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Short64VectorTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorTests.java ! test/jdk/jdk/incubator/vector/VectorReshapeTests.java ! test/jdk/jdk/incubator/vector/templates/Unit-Binary-Broadcast-Long-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Binary-Broadcast-Masked-Long-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Binary-Broadcast-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Binary-Broadcast-op-math.template ! test/jdk/jdk/incubator/vector/templates/Unit-Binary-Broadcast-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Binary-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Binary-op-math.template ! test/jdk/jdk/incubator/vector/templates/Unit-Binary-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Blend-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-BoolReduction-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Broadcast.template ! test/jdk/jdk/incubator/vector/templates/Unit-Gather-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Gather-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Get-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Miscellaneous.template ! test/jdk/jdk/incubator/vector/templates/Unit-Rearrange.template ! test/jdk/jdk/incubator/vector/templates/Unit-Reduction-Masked-Max-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Reduction-Masked-Min-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Reduction-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Reduction-Max-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Reduction-Min-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Reduction-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Scatter-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Scatter-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Shift-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Shift-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Single-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Slice-Masked-bop.template ! test/jdk/jdk/incubator/vector/templates/Unit-Slice-bop.template ! test/jdk/jdk/incubator/vector/templates/Unit-Slice-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Ternary-Broadcast-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Ternary-Broadcast-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Ternary-Double-Broadcast-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Ternary-Double-Broadcast-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Ternary-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Ternary-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Unary-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Unary-op-math.template ! test/jdk/jdk/incubator/vector/templates/Unit-Unary-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Unslice-Masked-bop.template ! test/jdk/jdk/incubator/vector/templates/Unit-Unslice-bop.template ! test/jdk/jdk/incubator/vector/templates/Unit-Unslice-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-With-Op.template ! test/jdk/jdk/incubator/vector/templates/Unit-header.template ! test/jdk/jdk/incubator/vector/templates/X-LoadStoreTest.java.template Changeset: 32538b5b Author: Prasanta Sadhukhan Date: 2021-01-06 06:45:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/32538b5b 8193942: Regression automated test '/open/test/jdk/javax/swing/JFrame/8175301/ScaledFrameBackgroundTest.java' fails Reviewed-by: serb ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JFrame/8175301/ScaledFrameBackgroundTest.java Changeset: e3b9da14 Author: Xin Liu Committer: Aleksey Shipilev Date: 2021-01-06 09:51:18 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e3b9da14 8259287: AbstractCompiler marks const in wrong position for is_c1/is_c2/is_jvmci Reviewed-by: thartmann, chagedorn, shade ! src/hotspot/share/compiler/abstractCompiler.hpp Changeset: 8a05d605 Author: Sergey Bylokhov Date: 2021-01-06 10:07:03 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8a05d605 8259042: Inconsistent use of general primitives loops Reviewed-by: prr ! src/java.desktop/share/classes/sun/java2d/loops/Blit.java ! src/java.desktop/share/classes/sun/java2d/loops/BlitBg.java ! src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphList.java ! src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphListAA.java ! src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphListLCD.java ! src/java.desktop/share/classes/sun/java2d/loops/DrawLine.java ! src/java.desktop/share/classes/sun/java2d/loops/DrawParallelogram.java ! src/java.desktop/share/classes/sun/java2d/loops/DrawPath.java ! src/java.desktop/share/classes/sun/java2d/loops/DrawPolygons.java ! src/java.desktop/share/classes/sun/java2d/loops/DrawRect.java ! src/java.desktop/share/classes/sun/java2d/loops/FillParallelogram.java ! src/java.desktop/share/classes/sun/java2d/loops/FillPath.java ! src/java.desktop/share/classes/sun/java2d/loops/FillRect.java ! src/java.desktop/share/classes/sun/java2d/loops/FillSpans.java ! src/java.desktop/share/classes/sun/java2d/loops/GraphicsPrimitive.java ! src/java.desktop/share/classes/sun/java2d/loops/GraphicsPrimitiveMgr.java ! src/java.desktop/share/classes/sun/java2d/loops/GraphicsPrimitiveProxy.java ! src/java.desktop/share/classes/sun/java2d/loops/MaskBlit.java ! src/java.desktop/share/classes/sun/java2d/loops/MaskFill.java ! src/java.desktop/share/classes/sun/java2d/loops/ScaledBlit.java ! src/java.desktop/share/classes/sun/java2d/loops/TransformBlit.java ! src/java.desktop/share/classes/sun/java2d/loops/TransformHelper.java Changeset: 7e01bc96 Author: Mat Carter Committer: Alan Bateman Date: 2021-01-06 10:39:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7e01bc96 8255264: Support for identifying the full range of IPv4 localhost addresses on Windows Reviewed-by: alanb ! src/java.base/windows/native/libnet/net_util_md.h Changeset: c0540ffd Author: Daniel D. Daugherty Date: 2021-01-06 14:34:55 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c0540ffd 8231627: ThreadsListHandleInErrorHandlingTest.java fails in printing all threads Reviewed-by: eosterlund, coleenp, pchilanomate, sspitsyn ! src/hotspot/share/runtime/threadSMR.cpp ! test/hotspot/jtreg/runtime/ErrorHandling/NestedThreadsListHandleInErrorHandlingTest.java ! test/hotspot/jtreg/runtime/ErrorHandling/ThreadsListHandleInErrorHandlingTest.java Changeset: f6cb8c55 Author: Harold Seigel Date: 2021-01-06 15:11:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f6cb8c55 8258908: Remove JVM option CleanChunkPoolAsync Reviewed-by: coleenp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/memory/arena.cpp ! src/hotspot/share/memory/arena.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/thread.cpp Changeset: 722f2361 Author: Lehua Ding Committer: Aleksey Shipilev Date: 2021-01-06 15:36:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/722f2361 8259231: Epsilon: improve performance under contention during virtual space expansion Reviewed-by: shade ! src/hotspot/share/gc/epsilon/epsilonHeap.cpp Changeset: 3be6e069 Author: Rajan Halade Date: 2021-01-06 16:20:24 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3be6e069 8259312: VerifyCACerts.java fails as soneraclass2ca cert will expire in 90 days Reviewed-by: mullan ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: d20d2fa9 Author: Joe Darcy Date: 2021-01-06 16:26:23 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d20d2fa9 8258143: Update --release 16 symbol information for JDK 16 build 30 or later Reviewed-by: iris, erikj ! make/data/symbols/java.desktop-G.sym.txt Changeset: df721f0c Author: Xue-Lei Andrew Fan Date: 2021-01-06 16:57:17 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/df721f0c 8259291: Cleanup unnecessary local variables Reviewed-by: mullan ! src/java.base/share/classes/sun/security/ssl/Finished.java ! src/java.base/share/classes/sun/security/ssl/OutputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLExtension.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketOutputRecord.java ! src/java.base/share/classes/sun/security/ssl/ServerNameExtension.java ! src/java.base/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java Changeset: 940b0530 Author: Phil Race Date: 2021-01-06 17:34:15 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/940b0530 8259232: Bad JNI lookup during printing Reviewed-by: psadhukhan ! src/java.desktop/macosx/native/libawt_lwawt/awt/CPrinterJob.m ! test/jdk/java/awt/print/bug8023392/bug8023392.java Changeset: 80544e4d Author: Joe Darcy Date: 2021-01-06 18:05:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/80544e4d 8250564: Remove terminally deprecated constructor in GSSUtil 8250565: Remove terminally deprecated constructor in java.net.URLDecoder Reviewed-by: bpb, smarks, alanb, mullan ! src/java.base/share/classes/java/net/URLDecoder.java ! src/jdk.security.jgss/share/classes/com/sun/security/jgss/GSSUtil.java ! test/jdk/java/net/URLDecoder/B6463990.java Changeset: 28e1f4d9 Author: Yoshiki Sato Committer: Jonathan Gibbons Date: 2021-01-06 22:48:00 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/28e1f4d9 8247957: remove doclint support for HTML 4 8257204: Remove usage of -Xhtmlversion option from javac 8256313: JavaCompilation.gmk needs to be updated not to use --doclint-format html5 option 8258460: Remove --doclint-format option from javac 8256312: Valid anchor 'id' value not allowed Reviewed-by: jjg, ihse ! make/common/JavaCompilation.gmk ! src/jdk.compiler/share/classes/com/sun/tools/doclint/DocLint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Arguments.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/DocLint.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Env.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/HtmlTag.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/HtmlVersion.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_zh_CN.properties ! test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java ! test/langtools/tools/doclint/AccessibilityTest.java ! test/langtools/tools/doclint/AccessibilityTest.out - test/langtools/tools/doclint/AccessibilityTest5.java - test/langtools/tools/doclint/AccessibilityTest5.out ! test/langtools/tools/doclint/AnchorTest.java ! test/langtools/tools/doclint/AnchorTest.out ! test/langtools/tools/doclint/AnchorTest2.java ! test/langtools/tools/doclint/AnchorTest2.out ! test/langtools/tools/doclint/AnchorTest2a.java ! test/langtools/tools/doclint/EndTagsTest.java ! test/langtools/tools/doclint/HtmlAttrsTest.java ! test/langtools/tools/doclint/HtmlAttrsTest.out ! test/langtools/tools/doclint/HtmlTagsTest.java ! test/langtools/tools/doclint/HtmlTagsTest.out - test/langtools/tools/doclint/HtmlVersionTest.java ! test/langtools/tools/doclint/anchorTests/p/Test.java ! test/langtools/tools/doclint/anchorTests/p/Test.out ! test/langtools/tools/doclint/anchorTests/p/package-info.java ! test/langtools/tools/doclint/anchorTests/p/package-info.javac.out ! test/langtools/tools/doclint/anchorTests/p/package-info.out ! test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTest.java + test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTest.out - test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTestHtml4.out - test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTestHtml5.out + test/langtools/tools/doclint/html/InlineTagTest.out ! test/langtools/tools/doclint/html/InlineTagsTest.java ! test/langtools/tools/doclint/html/OtherTagsTest.java ! test/langtools/tools/doclint/html/OtherTagsTest.out + test/langtools/tools/doclint/html/TableTagTest.out ! test/langtools/tools/doclint/html/TableTagsTest.java ! test/langtools/tools/doclint/html/TagNotAllowed.java ! test/langtools/tools/doclint/html/TagNotAllowed.out ! test/langtools/tools/doclint/html/TextNotAllowed.java ! test/langtools/tools/doclint/html/TextNotAllowed.out ! test/langtools/tools/doclint/tidy/AnchorAlreadyDefined.java ! test/langtools/tools/doclint/tidy/AnchorAlreadyDefined.out ! test/langtools/tools/doclint/tidy/BadEnd.java ! test/langtools/tools/doclint/tidy/BadEnd.out ! test/langtools/tools/doclint/tidy/InvalidName.java ! test/langtools/tools/doclint/tidy/InvalidName.out ! test/langtools/tools/doclint/tidy/TextNotAllowed.java ! test/langtools/tools/doclint/tidy/TextNotAllowed.out ! test/langtools/tools/doclint/tidy/TrimmingEmptyTag.java ! test/langtools/tools/doclint/tidy/TrimmingEmptyTag.out ! test/langtools/tools/javac/doclint/DocLintFormatTest.java Changeset: 67c22114 Author: Yasumasa Suenaga Date: 2021-01-06 23:59:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/67c22114 8259045: Exception message from saproc.dll is garbled on Windows with Japanese locale Reviewed-by: erikj, cjplummer, iklam ! make/modules/jdk.hotspot.agent/Lib.gmk ! src/jdk.hotspot.agent/share/native/libsaproc/sadis.c Changeset: 227f99d3 Author: Prasanta Sadhukhan Date: 2021-01-07 03:57:43 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/227f99d3 8233555: [TESTBUG] JRadioButton tests failing on MacoS Reviewed-by: serb ! test/jdk/ProblemList.txt Changeset: 81c06242 Author: Carter Kozak Committer: Erik Gahlin Date: 2021-01-07 06:11:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/81c06242 8259354: Fix race condition in AbstractEventStream.nextThreadName Reviewed-by: egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/AbstractEventStream.java Changeset: 0e6de4eb Author: Tobias Hartmann Date: 2021-01-07 12:15:23 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0e6de4eb 8259339: AllocateUninitializedArray C2 intrinsic fails with void.class input Reviewed-by: kvn, chagedorn ! src/hotspot/share/opto/library_call.cpp ! test/hotspot/jtreg/compiler/intrinsics/unsafe/AllocateUninitializedArray.java Changeset: 1c33847b Author: Coleen Phillimore Date: 2021-01-07 12:35:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1c33847b 8259067: bootclasspath append takes out object lock Reviewed-by: lfoltan, sspitsyn, iklam, dholmes ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp ! src/hotspot/share/classfile/classLoader.inline.hpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp Changeset: 3f9f86f0 Author: Matthias Baesken Date: 2021-01-07 12:39:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3f9f86f0 8258484: AIX build fails in Harfbuzz with XLC 16.01.0000.0006 Reviewed-by: clanger, mdoerr ! make/modules/java.desktop/lib/Awt2dLibraries.gmk Changeset: f91f92dc Author: Harold Seigel Date: 2021-01-07 13:18:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f91f92dc 8259317: Remove JVM option BreakAtWarning Reviewed-by: lfoltan, coleenp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/utilities/debug.cpp Changeset: 8530ef0e Author: Coleen Phillimore Date: 2021-01-07 17:13:41 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8530ef0e 8259375: JvmtiExport::jni_Get/SetField_probe calls do not need ResetNoHandleMark Reviewed-by: lfoltan, dcubed ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvmtiExport.cpp Changeset: 2e99e28f Author: Sergey Bylokhov Date: 2021-01-07 17:49:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2e99e28f 8213126: java/awt/Window/MainKeyWindow/TestMainKeyWindow.java time-out on mac10.13 Reviewed-by: psadhukhan ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Window/MainKeyWindowTest/TestMainKeyWindow.java Changeset: 4ce83f2a Author: Rajan Halade Date: 2021-01-07 18:47:43 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4ce83f2a 8039278: console.sh failed Automatically with exit code 1 Reviewed-by: xuelei, weijun ! test/jdk/TEST.groups - test/jdk/sun/security/tools/keytool/console.sh Changeset: d8ad6301 Author: Roberto Casta?eda Lozano Committer: Vladimir Kozlov Date: 2021-01-07 18:57:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d8ad6301 8258772: Some runtime/cds tests fail with +LogCompilation or +StressX Emit warning about TraceDependencies results in ClassHierarchyWalker::count_find_witness_calls() only if TraceDependencies is actually enabled. Use standard warning() function instead of ad hoc printing. Remove warning about using Stress(LCM|GCM|IGVN) without LogCompilation in Compile::Compile(), and add the information to the description of the StressSeed option instead. These changes prevent false test failures when using LogCompilation or Stress(LCM|GCM|IGVN). Reviewed-by: chagedorn, kvn, thartmann ! src/hotspot/share/code/dependencies.cpp ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/compile.cpp Changeset: bc565414 Author: Roberto Casta?eda Lozano Committer: Vladimir Kozlov Date: 2021-01-07 20:43:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bc565414 8256535: C2: randomize CCP processing order for stress testing Add 'StressCCP' option to randomize the selection of the node to be examined in each CCP iteration. Reviewed-by: chagedorn, kvn, thartmann ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/phaseX.cpp - test/hotspot/jtreg/compiler/arguments/TestStressIGVNOptions.java + test/hotspot/jtreg/compiler/arguments/TestStressOptions.java ! test/hotspot/jtreg/compiler/debug/TestGenerateStressSeed.java - test/hotspot/jtreg/compiler/debug/TestStressIGVN.java + test/hotspot/jtreg/compiler/debug/TestStressIGVNAndCCP.java Changeset: 2659bc44 Author: Brian Burkhalter Date: 2021-01-07 20:57:11 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2659bc44 8259274: Increase timeout duration in sun/nio/ch/TestMaxCachedBufferSize.java Reviewed-by: lancea ! test/jdk/sun/nio/ch/TestMaxCachedBufferSize.java Changeset: 73f54153 Author: Chris Hegarty Date: 2021-01-02 19:29:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/73f54153 8258955: (bf) slice(int, int) on view buffers fails to adjust index according to primitive size Reviewed-by: alanb ! src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template ! test/jdk/java/nio/Buffer/ByteBufferViews.java Changeset: 216c2ec0 Author: Jie Fu Date: 2021-01-04 23:41:51 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/216c2ec0 8258703: Incorrect 512-bit vector registers restore on x86_32 Reviewed-by: kvn, sviswanathan ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp Changeset: 4ffbe841 Author: Jan Lahoda Date: 2021-01-05 11:40:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4ffbe841 8256266: Binding variables don't correctly support declaration annotations and the final modifier Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/langtools/tools/javac/patterns/Annotations.java ! test/langtools/tools/javac/patterns/BindingsTest1.java ! test/langtools/tools/javac/patterns/BindingsTest2.java ! test/langtools/tools/javac/patterns/BindingsTest2.out + test/langtools/tools/javac/patterns/NoModifiersOnBinding.java + test/langtools/tools/javac/patterns/NoModifiersOnBinding.out Changeset: 6775113c Author: Roland Westrelin Date: 2021-01-05 13:06:54 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6775113c 8258393: Shenandoah: "graph should be schedulable" assert failure Reviewed-by: rkennke, thartmann ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/opto/loopnode.cpp + test/hotspot/jtreg/gc/shenandoah/compiler/TestBadRawMemoryAfterCall.java Changeset: bbc2e951 Author: Erik Gahlin Date: 2021-01-05 13:39:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bbc2e951 8257906: JFR: RecordingStream leaks memory Reviewed-by: mgronlun Backport-of: 3c6648501589bf36945340cb1e82c833ebd7485d ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingStream.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ChunkParser.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/EventDirectoryStream.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/EventFileStream.java Changeset: b7940aa1 Author: Maurizio Cimadamore Date: 2021-01-05 16:15:28 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b7940aa1 8259027: NullPointerException in makeMappedSegment due to NULL Unmapper when length of segment is 0 Reviewed-by: chegar, uschindler ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MappedMemorySegmentImpl.java ! test/jdk/java/foreign/TestByteBuffer.java Changeset: 50bf4330 Author: Sandhya Viswanathan Date: 2021-01-05 17:42:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/50bf4330 8259213: Vector conversion with part > 0 is not getting intrinsic implementation Reviewed-by: psandoz ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractShuffle.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractVector.java Changeset: d5293067 Author: Vicente Romero Date: 2021-01-05 21:35:47 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d5293067 8213032: program fails with LambdaConversionException at execution time Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/langtools/tools/javac/lambda/methodReferenceExecution/MethodReferenceIntersection4.java Changeset: 554e60c4 Author: Wang Huang Committer: Fei Yang Date: 2021-01-06 01:49:15 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/554e60c4 8258989: JVM is failed to inline in jdk.internal.vm.vector.VectorSupport::convert Co-authored-by: He Xuejin Reviewed-by: vlivanov, thartmann ! src/hotspot/share/opto/vectorIntrinsics.cpp Changeset: 80110dac Author: Prasanta Sadhukhan Date: 2021-01-06 06:36:29 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/80110dac 8259007: This test printed a blank page Reviewed-by: prr, serb ! src/java.desktop/windows/classes/sun/awt/windows/WPathGraphics.java ! src/java.desktop/windows/classes/sun/awt/windows/WPrinterJob.java ! src/java.desktop/windows/native/libawt/windows/awt_PrintJob.cpp - test/jdk/java/awt/print/PathPrecisionScaleFactor/PathPrecisionScaleFactorTest.java Changeset: e66187d8 Author: Maurizio Cimadamore Date: 2021-01-06 12:18:43 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e66187d8 8259032: MappedMemorySegmentImpl#makeMappedSegment() ignores Unmapper#pagePosition Co-authored-by: Uwe Schindler Reviewed-by: alanb ! src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java ! test/jdk/java/foreign/TestByteBuffer.java Changeset: ad456787 Author: Aleksey Shipilev Date: 2021-01-06 13:27:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ad456787 8258558: Revert changes for JDK-8252505 and related issues Reviewed-by: kvn ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciMethod.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/regmask.cpp ! src/hotspot/share/opto/regmask.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! test/hotspot/jtreg/ProblemList-Xcomp.txt ! test/hotspot/jtreg/TEST.groups - test/hotspot/jtreg/compiler/blackhole/BlackholeDiagnosticUnlockTest.java - test/hotspot/jtreg/compiler/blackhole/BlackholeInstanceReturnTest.java - test/hotspot/jtreg/compiler/blackhole/BlackholeInstanceTest.java - test/hotspot/jtreg/compiler/blackhole/BlackholeNonVoidWarningTest.java - test/hotspot/jtreg/compiler/blackhole/BlackholeNullCheckTest.java - test/hotspot/jtreg/compiler/blackhole/BlackholeStaticReturnTest.java - test/hotspot/jtreg/compiler/blackhole/BlackholeStaticTest.java - test/hotspot/jtreg/compiler/blackhole/BlackholeTarget.java Changeset: d25a1bed Author: Rafael Winterhalter Committer: Joel Borggr?n-Franck Date: 2021-01-06 15:46:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d25a1bed 8259224: (ann) getAnnotatedReceiverType should not parameterize owner(s) of statically nested classes Reviewed-by: jfranck ! src/java.base/share/classes/java/lang/reflect/Executable.java + test/jdk/java/lang/annotation/typeAnnotations/TestReceiverTypeOwnerType.java Changeset: 4a5786b5 Author: Naoto Sato Date: 2021-01-06 16:30:30 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4a5786b5 8259075: Update the copyright notice in the files generated by CLDR Converter tool Reviewed-by: joehw ! make/jdk/src/classes/build/tools/cldrconverter/CopyrightHeaders.java Changeset: f1bc4e05 Author: Rajan Halade Date: 2021-01-06 16:39:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f1bc4e05 8259312: VerifyCACerts.java fails as soneraclass2ca cert will expire in 90 days Backport-of: 3be6e06958c4304cafee707a29d06d6b2cc5b76b ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: eef43be7 Author: Jonathan Gibbons Date: 2021-01-06 18:52:59 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/eef43be7 8251200: False positive messages about missing comments for serialization Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/SerializedFormBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java + test/langtools/jdk/javadoc/doclet/testSerialMissing/TestSerialMissing.java Changeset: 4f914e21 Author: Jonathan Gibbons Date: 2021-01-06 19:26:17 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4f914e21 8249633: doclint reports missing javadoc for JavaFX property methods that have a property description Reviewed-by: hannesw ! 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 ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java Changeset: 555641ed Author: Jesper Wilhelmsson Date: 2021-01-07 21:17:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/555641ed Merge ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciMethod.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/vectorIntrinsics.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! test/hotspot/jtreg/TEST.groups ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciMethod.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/vectorIntrinsics.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! test/hotspot/jtreg/TEST.groups Changeset: b996cccf Author: Coleen Phillimore Date: 2021-01-07 23:04:11 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b996cccf 8259373: c1 and jvmci runtime code use ResetNoHandleMark incorrectly Reviewed-by: kvn ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/code/compiledMethod.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp Changeset: 4a478b8a Author: Erik Gahlin Date: 2021-01-07 12:21:59 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4a478b8a 8250903: jdk/jfr/javaagent/TestLoadedAgent.java fails with Mismatch in TestEvent count Reviewed-by: mgronlun ! test/jdk/jdk/jfr/javaagent/EventEmitterAgent.java Changeset: 484e23b9 Author: Erik Joelsson Date: 2021-01-07 14:57:30 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/484e23b9 8258657: Doc build is broken by use of new language features Reviewed-by: tbell, iris ! make/Docs.gmk ! make/autoconf/boot-jdk.m4 ! make/autoconf/configure.ac ! make/autoconf/spec.gmk.in ! make/conf/jib-profiles.js Changeset: c1fb5216 Author: Christian Hagedorn Date: 2021-01-07 15:02:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c1fb5216 8259227: C2 crashes with SIGFPE due to a division that floats above its zero check Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phaseX.hpp + test/hotspot/jtreg/compiler/loopopts/TestDivZeroDominatedBy.java ! test/hotspot/jtreg/compiler/loopopts/TestDivZeroWithSplitIf.java Changeset: acdd90b6 Author: Vicente Romero Date: 2021-01-07 16:38:53 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/acdd90b6 8258972: unexpected compilation error with generic sealed interface Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! test/langtools/tools/javac/sealed/SealedCompilationTests.java Changeset: 1973fbee Author: Rajan Halade Date: 2021-01-07 19:21:41 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1973fbee 8039278: console.sh failed Automatically with exit code 1 Backport-of: 4ce83f2a3a6c5fe11c298bed557c341e286e068a ! test/jdk/TEST.groups - test/jdk/sun/security/tools/keytool/console.sh Changeset: 677802d2 Author: Christoph Langer Date: 2021-01-07 22:51:49 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/677802d2 8258484: AIX build fails in Harfbuzz with XLC 16.01.0000.0006 Backport-of: 3f9f86f0d3f918b9955ba6ba73c9c58ae8fcf7cb ! make/modules/java.desktop/lib/Awt2dLibraries.gmk Changeset: 56a354eb Author: Jesper Wilhelmsson Date: 2021-01-07 23:51:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/56a354eb Merge ! make/Docs.gmk ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/phaseX.cpp ! make/Docs.gmk ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/phaseX.cpp Changeset: 712014c5 Author: David Holmes Date: 2021-01-08 04:11:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/712014c5 8258077: Using -Xcheck:jni can lead to a double-free after JDK-8193234 Reviewed-by: dcubed, hseigel ! src/hotspot/share/prims/jniCheck.cpp + test/hotspot/jtreg/runtime/jni/checked/TestCheckedReleaseArrayElements.java + test/hotspot/jtreg/runtime/jni/checked/TestCheckedReleaseCriticalArray.java + test/hotspot/jtreg/runtime/jni/checked/libTestCheckedReleaseArrayElements.c + test/hotspot/jtreg/runtime/jni/checked/libTestCheckedReleaseCriticalArray.c Changeset: fc1d2a1e Author: Claes Redestad Date: 2021-01-08 09:20:42 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fc1d2a1e 8259065: Optimize MessageDigest.getInstance Reviewed-by: valeriep ! src/java.base/share/classes/java/security/MessageDigest.java ! src/java.base/share/classes/java/security/Provider.java ! src/java.base/share/classes/sun/security/jca/ProviderConfig.java + test/micro/org/openjdk/bench/java/security/GetMessageDigest.java Changeset: b549cbd3 Author: Thomas Schatzl Date: 2021-01-08 10:52:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b549cbd3 8258481: gc.g1.plab.TestPLABPromotion fails on Linux x86 Reviewed-by: sjohanss, kbarrett ! test/hotspot/jtreg/gc/g1/plab/TestPLABPromotion.java Changeset: 697bf7ab Author: Guoxiong Li Committer: Vicente Romero Date: 2021-01-08 13:56:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/697bf7ab 8257740: Compiler crash when compiling type annotation on multicatch inside lambda Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/langtools/tools/javac/T8257740/T8257740_1.java + test/langtools/tools/javac/T8257740/T8257740_2.java Changeset: 6f7723b4 Author: Eric Caspole Date: 2021-01-08 14:18:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6f7723b4 8258792: LogCompilation: remove redundant check fixed by 8257518 Reviewed-by: kvn, redestad ! src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/LogCompilation.java Changeset: 10a6b0d9 Author: Kim Barrett Date: 2021-01-08 14:25:12 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/10a6b0d9 8234773: Fix ThreadsSMRSupport::_bootstrap_list Make ThreadsList noncopyable, direct initializing _bootstrap_list. Avoid C-heap allocation for _bootstrap_list. Reviewed-by: dholmes, dcubed ! src/hotspot/share/runtime/threadSMR.cpp ! src/hotspot/share/runtime/threadSMR.hpp Changeset: 090bd3af Author: Daniel D. Daugherty Date: 2021-01-08 15:30:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/090bd3af 8259397: ThreadsSMRSupport::print_info_on() should use try_lock_without_rank_check() Reviewed-by: coleenp, dholmes ! src/hotspot/share/runtime/threadSMR.cpp Changeset: 876c7fb5 Author: Roger Riggs Date: 2021-01-08 21:31:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/876c7fb5 8259493: [test] Use HexFormat instead of adhoc hex utilities in network code and locale SoftKeys Reviewed-by: lancea, naoto ! test/jdk/java/net/Authenticator/B6870935.java ! test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPTestServer.java ! test/jdk/java/net/httpclient/DigestEchoServer.java ! test/jdk/java/util/Locale/SoftKeys.java ! test/jdk/sun/net/www/protocol/http/DigestTest.java Changeset: 628c546b Author: Roger Riggs Date: 2021-01-08 21:32:54 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/628c546b 8258796: [test] Apply HexFormat to tests for java.security Reviewed-by: xuelei ! test/jdk/com/sun/crypto/provider/Cipher/AEAD/SameBuffer.java ! test/jdk/com/sun/crypto/provider/Cipher/Blowfish/BlowfishTestVector.java ! test/jdk/com/sun/crypto/provider/Cipher/ChaCha20/ChaCha20KAT.java ! test/jdk/com/sun/crypto/provider/Cipher/ChaCha20/ChaCha20KeyGeneratorTest.java ! test/jdk/com/sun/crypto/provider/Cipher/ChaCha20/ChaCha20NoReuse.java ! test/jdk/com/sun/crypto/provider/Cipher/ChaCha20/ChaCha20Poly1305ParamTest.java ! test/jdk/com/sun/crypto/provider/Cipher/ChaCha20/unittest/ChaCha20CipherUnitTest.java ! test/jdk/com/sun/crypto/provider/KeyAgreement/DHKeyAgreement2.java ! test/jdk/com/sun/crypto/provider/KeyAgreement/DHKeyAgreement3.java ! test/jdk/com/sun/crypto/provider/KeyFactory/PBKDF2HmacSHA1FactoryTest.java ! test/jdk/com/sun/crypto/provider/TLS/TestLeadingZeroes.java ! test/jdk/java/security/KeyAgreement/KeySizeTest.java ! test/jdk/java/security/KeyAgreement/NegativeTest.java ! test/jdk/javax/crypto/SecretKeyFactory/SecKeyFacSunJCEPrf.java ! test/jdk/sun/security/ec/SignatureDigestTruncate.java ! test/jdk/sun/security/ec/SignatureKAT.java ! test/jdk/sun/security/ec/ed/EdDSAKeySize.java ! test/jdk/sun/security/ec/ed/EdDSANegativeTest.java ! test/jdk/sun/security/ec/ed/EdDSAParamSpec.java ! test/jdk/sun/security/ec/ed/EdDSATest.java ! test/jdk/sun/security/ec/ed/EdECKeyFormat.java ! test/jdk/sun/security/ec/ed/TestEdDSA.java ! test/jdk/sun/security/ec/ed/TestEdOps.java ! test/jdk/sun/security/ec/xec/TestXDH.java ! test/jdk/sun/security/ec/xec/TestXECOps.java ! test/jdk/sun/security/ec/xec/XECIterative.java ! test/jdk/sun/security/ec/xec/XECKeyFormat.java ! test/jdk/sun/security/krb5/RFC396xTest.java ! test/jdk/sun/security/krb5/auto/ReplayCacheTestProc.java ! test/jdk/sun/security/krb5/etype/KerberosAesSha2.java ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java ! test/jdk/sun/security/pkcs/pkcs8/PKCS8Test.java ! test/jdk/sun/security/pkcs11/tls/TestLeadingZeroesP11.java ! test/jdk/sun/security/provider/DSA/TestDSA.java ! test/jdk/sun/security/provider/MessageDigest/DigestKAT.java ! test/jdk/sun/security/rsa/SigRecord.java ! test/jdk/sun/security/rsa/TestSigGen15.java ! test/jdk/sun/security/rsa/pss/SigRecord.java ! test/jdk/sun/security/rsa/pss/TestSigGenPSS.java ! test/jdk/sun/security/util/math/TestIntegerModuloP.java ! test/jdk/sun/security/x509/X500Name/DerValueConstructor.java ! test/lib/jdk/test/lib/Convert.java ! test/lib/jdk/test/lib/Utils.java Changeset: 7e6677b5 Author: David Holmes Date: 2021-01-08 22:25:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7e6677b5 8259446: runtime/jni/checked/TestCheckedReleaseArrayElements.java fails with stderr not empty Reviewed-by: dcubed ! test/hotspot/jtreg/runtime/jni/checked/TestCheckedReleaseArrayElements.java Changeset: a6539282 Author: Joe Darcy Date: 2021-01-09 00:03:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a6539282 8259512: Update --release 16 symbol information for JDK 16 build 31 Reviewed-by: jjg ! make/data/symbols/jdk.incubator.vector-G.sym.txt Changeset: 6472104e Author: Sergey Bylokhov Date: 2021-01-09 07:22:20 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6472104e 6278172: TextComponent.getSelectedText() throws StringIndexOutOfBoundsException Reviewed-by: aivanov ! src/java.desktop/share/classes/java/awt/TextComponent.java + test/jdk/java/awt/TextComponent/SetTextSelection.java Changeset: 5cfa8c94 Author: Martin Buchholz Date: 2021-01-09 20:57:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5cfa8c94 8246585: ForkJoin updates 8229253: forkjoin/FJExceptionTableLeak.java fails "AssertionError: failed to satisfy condition" Reviewed-by: dl ! src/java.base/share/classes/java/util/concurrent/CountedCompleter.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinTask.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinWorkerThread.java + test/jdk/java/util/concurrent/forkjoin/AsyncShutdownNow.java + test/jdk/java/util/concurrent/forkjoin/AsyncShutdownNowInvokeAny.java + test/jdk/java/util/concurrent/forkjoin/AsyncShutdownNowInvokeAnyRace.java - test/jdk/java/util/concurrent/forkjoin/FJExceptionTableLeak.java ! test/jdk/java/util/concurrent/tck/ForkJoinTaskTest.java Changeset: 63e3bd76 Author: Martin Buchholz Date: 2021-01-09 21:08:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/63e3bd76 8246677: LinkedTransferQueue and SynchronousQueue synchronization updates Reviewed-by: alanb, dl ! src/java.base/share/classes/java/util/concurrent/LinkedTransferQueue.java ! src/java.base/share/classes/java/util/concurrent/SynchronousQueue.java ! test/jdk/java/util/concurrent/LinkedTransferQueue/WhiteBox.java Changeset: 270014ab Author: Martin Buchholz Date: 2021-01-09 21:59:27 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/270014ab 8234131: Miscellaneous changes imported from jsr166 CVS 2021-01 8257671: ThreadPoolExecutor.Discard*Policy: rejected tasks are not cancelled Reviewed-by: alanb, prappo, dl ! src/java.base/share/classes/java/util/concurrent/AbstractExecutorService.java ! src/java.base/share/classes/java/util/concurrent/CopyOnWriteArraySet.java ! src/java.base/share/classes/java/util/concurrent/CountDownLatch.java ! src/java.base/share/classes/java/util/concurrent/CyclicBarrier.java ! src/java.base/share/classes/java/util/concurrent/Exchanger.java ! src/java.base/share/classes/java/util/concurrent/ExecutorService.java ! src/java.base/share/classes/java/util/concurrent/Future.java ! src/java.base/share/classes/java/util/concurrent/Phaser.java ! src/java.base/share/classes/java/util/concurrent/PriorityBlockingQueue.java ! src/java.base/share/classes/java/util/concurrent/Semaphore.java ! src/java.base/share/classes/java/util/concurrent/SubmissionPublisher.java ! src/java.base/share/classes/java/util/concurrent/ThreadPoolExecutor.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicBoolean.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java ! src/java.base/share/classes/java/util/concurrent/atomic/DoubleAccumulator.java ! src/java.base/share/classes/java/util/concurrent/atomic/DoubleAdder.java ! src/java.base/share/classes/java/util/concurrent/atomic/LongAccumulator.java ! src/java.base/share/classes/java/util/concurrent/atomic/LongAdder.java ! src/java.base/share/classes/java/util/concurrent/atomic/Striped64.java ! src/java.base/share/classes/java/util/concurrent/atomic/package-info.java ! src/java.base/share/classes/java/util/concurrent/locks/AbstractQueuedSynchronizer.java ! src/java.base/share/classes/java/util/concurrent/locks/ReentrantLock.java ! src/java.base/share/classes/java/util/concurrent/locks/ReentrantReadWriteLock.java ! src/java.base/share/classes/java/util/concurrent/locks/StampedLock.java ! test/jdk/java/util/Collection/IteratorMicroBenchmark.java ! test/jdk/java/util/concurrent/ExecutorService/Invoke.java ! test/jdk/java/util/concurrent/tck/ArrayBlockingQueueTest.java ! test/jdk/java/util/concurrent/tck/ArrayDequeTest.java ! test/jdk/java/util/concurrent/tck/ArrayListTest.java ! test/jdk/java/util/concurrent/tck/Collection8Test.java ! test/jdk/java/util/concurrent/tck/CompletableFutureTest.java ! test/jdk/java/util/concurrent/tck/ConcurrentLinkedDequeTest.java ! test/jdk/java/util/concurrent/tck/ExecutorsTest.java ! test/jdk/java/util/concurrent/tck/ForkJoinPoolTest.java ! test/jdk/java/util/concurrent/tck/JSR166TestCase.java ! test/jdk/java/util/concurrent/tck/RecursiveTaskTest.java ! test/jdk/java/util/concurrent/tck/SplittableRandomTest.java ! test/jdk/java/util/concurrent/tck/StampedLockTest.java ! test/jdk/java/util/concurrent/tck/SubmissionPublisherTest.java ! test/jdk/java/util/concurrent/tck/SynchronousQueueTest.java ! test/jdk/java/util/concurrent/tck/ThreadLocalRandomTest.java Changeset: 81db63e8 Author: Xue-Lei Andrew Fan Date: 2021-01-10 04:36:12 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/81db63e8 8259517: Incorrect test path in test cases Reviewed-by: weijun ! test/jdk/javax/net/ssl/SSLEngine/ArgCheck.java ! test/jdk/javax/net/ssl/SSLEngine/Basics.java ! test/jdk/javax/net/ssl/templates/SSLSocketTemplate.java Changeset: 65ca5c66 Author: Tejpal Rebari Date: 2021-01-10 12:38:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/65ca5c66 8048109: JToggleButton does not fire actionPerformed under certain conditions Reviewed-by: serb, psadhukhan, vdyakov ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java ! src/java.desktop/share/classes/javax/swing/plaf/nimbus/skin.laf ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java + test/jdk/javax/swing/JPopupMenu/SetInvokerJPopupMenuTest.java Changeset: 11d5b047 Author: Martin Buchholz Date: 2021-01-10 18:20:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/11d5b047 8258217: PriorityBlockingQueue constructor spec and behavior mismatch Reviewed-by: dl ! src/java.base/share/classes/java/util/concurrent/PriorityBlockingQueue.java Changeset: e7c17408 Author: Martin Buchholz Date: 2021-01-10 18:38:00 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e7c17408 8258187: IllegalMonitorStateException in ArrayBlockingQueue Reviewed-by: dl ! src/java.base/share/classes/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java ! src/java.base/share/classes/java/util/concurrent/locks/AbstractQueuedSynchronizer.java Changeset: 9154f643 Author: Martin Buchholz Date: 2021-01-10 23:47:04 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9154f643 8254973: CompletableFuture.ThreadPerTaskExecutor does not throw NPE in #execute Reviewed-by: dl ! src/java.base/share/classes/java/util/concurrent/CompletableFuture.java Changeset: b72de3c5 Author: Xue-Lei Andrew Fan Date: 2021-01-11 00:33:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b72de3c5 8259385: Cleanup unused assignment Reviewed-by: attila ! src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java ! src/java.base/share/classes/sun/security/ssl/CertificateStatus.java ! src/java.base/share/classes/sun/security/ssl/CertificateVerify.java ! src/java.base/share/classes/sun/security/ssl/DHServerKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/DTLSInputRecord.java ! src/java.base/share/classes/sun/security/ssl/ECDHClientKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/ECDHServerKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/Finished.java ! src/java.base/share/classes/sun/security/ssl/OutputRecord.java ! src/java.base/share/classes/sun/security/ssl/RSAKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/RSAServerKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/SSLCipher.java ! src/java.base/share/classes/sun/security/ssl/SSLContextImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLEngineInputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketInputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLTransport.java ! src/java.base/share/classes/sun/security/ssl/X509TrustManagerImpl.java Changeset: 2806bf2e Author: Aleksey Shipilev Date: 2021-01-11 07:32:27 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2806bf2e 8259475: Fix bad merge in compilerOracle Reviewed-by: redestad, thartmann ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp Changeset: bb247b02 Author: Aleksey Shipilev Date: 2021-01-11 07:32:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bb247b02 8259392: Zero error reporting is broken after JDK-8255711 Reviewed-by: dholmes ! src/hotspot/os/posix/signals_posix.cpp Changeset: 3974fd4f Author: Aleksey Shipilev Date: 2021-01-11 07:33:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3974fd4f 8259451: Zero: skip serviceability/sa tests, set vm.hasSA to false Reviewed-by: sgehwolf, cjplummer ! test/lib/jdk/test/lib/Platform.java Changeset: d21a0ea1 Author: Magnus Ihse Bursie Date: 2021-01-11 07:37:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d21a0ea1 8258449: Move make/hotspot/symbols to make/data Reviewed-by: erikj = make/data/hotspot-symbols/symbols-aix = make/data/hotspot-symbols/symbols-aix-debug = make/data/hotspot-symbols/symbols-linux = make/data/hotspot-symbols/symbols-macosx = make/data/hotspot-symbols/symbols-shared = make/data/hotspot-symbols/symbols-unix ! make/hotspot/lib/JvmMapfile.gmk Changeset: bd344184 Author: Magnus Ihse Bursie Date: 2021-01-11 07:42:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bd344184 8258445: Move make/templates to make/data Reviewed-by: erikj = make/data/license-templates/bsd-header = make/data/license-templates/gpl-cp-header = make/data/license-templates/gpl-header ! make/scripts/lic_check.sh Changeset: e0d748d5 Author: Thomas Stuefe Date: 2021-01-11 09:06:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e0d748d5 8258606: os::print_signal_handlers() should resolve the function name of the handlers Reviewed-by: dholmes, coleenp, gziemski ! src/hotspot/os/posix/signals_posix.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! test/hotspot/gtest/runtime/test_os.cpp Changeset: a03e22bb Author: Aleksey Shipilev Date: 2021-01-11 09:42:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a03e22bb 8253910: UseCompressedClassPointers depends on UseCompressedOops in vmError.cpp Reviewed-by: rrich, dholmes ! src/hotspot/share/utilities/vmError.cpp Changeset: 18a37f94 Author: Aleksey Shipilev Date: 2021-01-11 09:43:18 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/18a37f94 8259368: Zero: UseCompressedClassPointers does not depend on UseCompressedOops Reviewed-by: aph, zgu ! src/hotspot/cpu/zero/globalDefinitions_zero.hpp Changeset: 23548821 Author: Jan Lahoda Date: 2021-01-11 10:10:47 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/23548821 8250768: javac should be adapted to changes in JEP 12 Reviewed-by: mcimadamore, erikj, jjg, ihse ! make/CompileInterimLangtools.gmk ! make/Docs.gmk ! make/autoconf/spec.gmk.in - make/jdk/src/classes/build/tools/taglet/Preview.java ! make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java ! make/modules/jdk.compiler/Gendata.gmk ! make/modules/jdk.javadoc/Gendata.gmk ! src/java.base/share/classes/java/lang/Class.java = src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java ! src/java.base/share/classes/module-info.java ! src/java.compiler/share/classes/javax/lang/model/element/Modifier.java ! src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java ! src/jdk.compiler/share/classes/com/sun/source/tree/ClassTree.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/Preview.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/Modules.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/jvm/ClassReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Contents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/LinkFactoryImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/LinkInfoImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/NestedClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriterImpl.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PreviewListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PropertyWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SubWriterHolderWriter.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SummaryListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TagName.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/AnnotationTypeRequiredMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/ConstructorWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/EnumConstantWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/FieldWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/MethodWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/PropertyWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/ConstructorBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/EnumConstantBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/FieldBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MethodBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/PropertyBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Comparators.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DeprecatedAPIListBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocLink.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocPaths.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/PreviewAPIListBuilder.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/SummaryAPIListBuilder.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/links/LinkFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/links/LinkInfo.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java ! src/jdk.jshell/share/classes/jdk/jshell/Snippet.java ! test/jdk/java/lang/invoke/defineHiddenClass/PreviewHiddenClass.java ! test/jdk/java/lang/ref/CleanerTest.java ! test/jdk/java/util/Arrays/TimSortStackSize2.java ! test/jdk/jdk/modules/etc/JdkQualifiedExportTest.java ! test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java + test/langtools/jdk/javadoc/doclet/testPreview/TestPreview.java + test/langtools/jdk/javadoc/doclet/testPreview/api/preview/Core.java + test/langtools/jdk/javadoc/doclet/testPreview/api/preview/CoreRecord.java + test/langtools/jdk/javadoc/doclet/testPreview/api/preview/CoreRecordComponent.java + test/langtools/jdk/javadoc/doclet/testPreview/api/preview/Reflective.java + test/langtools/jdk/javadoc/doclet/testPreview/doc/element-list = test/langtools/jdk/javadoc/doclet/testPreview/doc/java.base/preview/Core.html = test/langtools/jdk/javadoc/doclet/testPreview/doc/java.base/preview/Reflective.html + test/langtools/jdk/javadoc/doclet/testPreview/m/module-info.java + test/langtools/jdk/javadoc/doclet/testPreview/m/pkg/DocAnnotation.java + test/langtools/jdk/javadoc/doclet/testPreview/m/pkg/DocAnnotationUse1.java + test/langtools/jdk/javadoc/doclet/testPreview/m/pkg/DocAnnotationUse2.java + test/langtools/jdk/javadoc/doclet/testPreview/m/pkg/TestPreviewAPIUse.java + test/langtools/jdk/javadoc/doclet/testPreview/m/pkg/TestPreviewDeclaration.java + test/langtools/jdk/javadoc/doclet/testPreview/m/pkg/TestPreviewDeclarationUse.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java ! test/langtools/jdk/javadoc/doclet/testSealedTypes/TestSealedTypes.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java ! test/langtools/jdk/javadoc/tool/CheckResourceKeys.java ! test/langtools/tools/javac/diags/examples.not-yet.txt ! test/langtools/tools/javac/diags/examples/CantExtendSealedInAnotherModule/CantExtendSealedInAnotherModule.java ! test/langtools/tools/javac/diags/examples/CantExtendSealedInAnotherPkg/CantExtendSealedInAnotherPkg.java ! test/langtools/tools/javac/diags/examples/SealedTypes.java + test/langtools/tools/javac/enum/FauxEnum3-preview.out ! test/langtools/tools/javac/lib/combo/ComboTask.java ! test/langtools/tools/javac/options/BCPOrSystemNotSpecified.java ! test/langtools/tools/javac/patterns/BreakAndLoops.java ! test/langtools/tools/javac/patterns/ConditionalTest.java ! test/langtools/tools/javac/patterns/PatternMatchPosTest.out ! test/langtools/tools/javac/platform/PreviewAPIsWithRelease.out + test/langtools/tools/javac/preview/DeclaredUsingPreview-class.out + test/langtools/tools/javac/preview/DeclaredUsingPreview-source.out + test/langtools/tools/javac/preview/DeclaredUsingPreview.java + test/langtools/tools/javac/preview/DeclaredUsingPreviewDeclarations.java + test/langtools/tools/javac/preview/PreviewAutoSuppress.java ! test/langtools/tools/javac/preview/PreviewErrors.java ! test/langtools/tools/javac/processing/model/element/TestSealed.java ! test/langtools/tools/javac/sealed/SealedDiffConfigurationsTest.java ! test/langtools/tools/jdeps/listdeps/ListModuleDeps.java Changeset: 1bd015fb Author: Magnus Ihse Bursie Date: 2021-01-11 11:28:29 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1bd015fb 8258407: Split up CompileJavaModules.gmk into make/modules/$M/Java.gmk Reviewed-by: erikj ! make/CompileJavaModules.gmk + make/modules/java.base/Java.gmk + make/modules/java.compiler/Java.gmk + make/modules/java.datatransfer/Java.gmk + make/modules/java.desktop/Java.gmk + make/modules/java.instrument/Java.gmk + make/modules/java.logging/Java.gmk + make/modules/java.management.rmi/Java.gmk + make/modules/java.management/Java.gmk + make/modules/java.naming/Java.gmk + make/modules/java.prefs/Java.gmk + make/modules/java.rmi/Java.gmk + make/modules/java.scripting/Java.gmk + make/modules/java.security.jgss/Java.gmk + make/modules/java.smartcardio/Java.gmk + make/modules/java.sql.rowset/Java.gmk + make/modules/java.sql/Java.gmk + make/modules/java.transaction.xa/Java.gmk + make/modules/java.xml.crypto/Java.gmk + make/modules/java.xml/Java.gmk + make/modules/jdk.aot/Java.gmk + make/modules/jdk.charsets/Java.gmk + make/modules/jdk.compiler/Java.gmk + make/modules/jdk.dev/Java.gmk + make/modules/jdk.dynalink/Java.gmk + make/modules/jdk.editpad/Java.gmk + make/modules/jdk.hotspot.agent/Java.gmk + make/modules/jdk.httpserver/Java.gmk + make/modules/jdk.incubator.vector/Java.gmk + make/modules/jdk.internal.jvmstat/Java.gmk + make/modules/jdk.internal.le/Java.gmk + make/modules/jdk.internal.opt/Java.gmk + make/modules/jdk.internal.vm.ci/Java.gmk + make/modules/jdk.internal.vm.compiler/Java.gmk + make/modules/jdk.jartool/Java.gmk + make/modules/jdk.javadoc/Java.gmk + make/modules/jdk.jcmd/Java.gmk + make/modules/jdk.jconsole/Java.gmk + make/modules/jdk.jdeps/Java.gmk + make/modules/jdk.jdi/Java.gmk + make/modules/jdk.jfr/Java.gmk + make/modules/jdk.jpackage/Java.gmk + make/modules/jdk.jshell/Java.gmk + make/modules/jdk.localedata/Java.gmk + make/modules/jdk.sctp/Java.gmk + make/modules/jdk.unsupported.desktop/Java.gmk + make/modules/sun.charsets/Java.gmk Changeset: 01b2804e Author: Clive Verghese Committer: Volker Simonis Date: 2021-01-11 12:02:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/01b2804e 8237578: JDK-8214339 (SSLSocketImpl wraps SocketException) appears to not be fully fixed Reviewed-by: xuelei, simonis ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLTransport.java ! test/jdk/sun/security/ssl/SSLContextImpl/TrustTrustedCert.java + test/jdk/sun/security/ssl/SSLSocketImpl/SSLSocketShouldThrowSocketException.java = test/jdk/sun/security/ssl/SSLSocketImpl/SocketExceptionForSocketIssues.java Changeset: 23801da9 Author: Coleen Phillimore Date: 2021-01-11 12:27:30 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/23801da9 8259482: jni_Set/GetField_probe are the same as their _nh versions Reviewed-by: hseigel, sspitsyn, dholmes ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExport.hpp Changeset: 33fbc10c Author: Guoxiong Li Committer: Attila Szegedi Date: 2021-01-11 13:50:53 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/33fbc10c 8259025: Record compact constructor using Objects.requireNonNull Reviewed-by: attila ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! test/langtools/tools/javac/records/RecordCompilationTests.java Changeset: cf3e4bfd Author: Harold Seigel Date: 2021-01-11 18:18:13 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/cf3e4bfd 8258838: Remove JVM option UseStackBanging Reviewed-by: dholmes, coleenp, kvn ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/share/asm/assembler.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/runtime/globals.hpp ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java Changeset: dab17875 Author: Magnus Ihse Bursie Date: 2021-01-11 18:18:46 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/dab17875 8259559: COMPARE_BUILD can't compare patch files Reviewed-by: erikj ! make/Init.gmk Changeset: 38619602 Author: Magnus Ihse Bursie Date: 2021-01-11 18:22:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/38619602 8258426: Split up autoconf/version-numbers and move it to conf dir Reviewed-by: erikj ! .github/workflows/submit.yml ! make/autoconf/jdk-options.m4 ! make/autoconf/jdk-version.m4 ! make/autoconf/spec.gmk.in - make/autoconf/version-numbers + make/conf/branding.conf ! make/conf/jib-profiles.js + make/conf/version-numbers.conf Changeset: c956e7a6 Author: Jonathan Gibbons Date: 2021-01-11 18:46:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c956e7a6 8258659: Eliminate whitespace comments from generated pages Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Navigation.java ! test/langtools/jdk/javadoc/doclet/AccessSkipNav/AccessSkipNav.java ! test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java ! test/langtools/jdk/javadoc/doclet/testNavigation/TestNavigation.java Changeset: d9f21346 Author: Jonathan Gibbons Date: 2021-01-11 18:49:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d9f21346 8258655: remove <-- NewPage --> comment from generated pages Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Contents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexRedirectWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlDocument.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties Changeset: 8dfc77bf Author: Daniel D. Daugherty Date: 2021-01-11 19:44:26 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8dfc77bf 8259586: ProblemList dll_address_to_function_and_library_name Reviewed-by: hseigel ! test/hotspot/gtest/runtime/test_os.cpp Changeset: e9929e2b Author: Volker Simonis Date: 2021-01-11 21:36:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e9929e2b 8259582: Backout JDK-8237578 until all affected tests have been fixed Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLTransport.java ! test/jdk/sun/security/ssl/SSLContextImpl/TrustTrustedCert.java = test/jdk/sun/security/ssl/SSLSocketImpl/SSLExceptionForIOIssue.java - test/jdk/sun/security/ssl/SSLSocketImpl/SSLSocketShouldThrowSocketException.java Changeset: cd73939b Author: Naoto Sato Date: 2021-01-11 22:02:46 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/cd73939b 8259528: Broken Link for [java.text.Normalizer.Form] Reviewed-by: lancea, joehw, iris ! src/java.base/share/classes/java/text/Normalizer.java Changeset: 712ea250 Author: Yasumasa Suenaga Date: 2021-01-11 23:13:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/712ea250 8258925: configure script failed on WSL Reviewed-by: dholmes, erikj ! make/scripts/fixpath.sh Changeset: ff54b77b Author: Sergey Bylokhov Date: 2021-01-11 23:14:56 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ff54b77b 8259439: Apply java.io.Serial annotations in java.datatransfer Reviewed-by: aivanov, pbansal, trebari, darcy ! src/java.datatransfer/share/classes/java/awt/datatransfer/DataFlavor.java ! src/java.datatransfer/share/classes/java/awt/datatransfer/FlavorEvent.java ! src/java.datatransfer/share/classes/java/awt/datatransfer/MimeType.java ! src/java.datatransfer/share/classes/java/awt/datatransfer/MimeTypeParseException.java ! src/java.datatransfer/share/classes/java/awt/datatransfer/UnsupportedFlavorException.java Changeset: 022bc9f0 Author: Andrey Turbanov Committer: Aleksei Efimov Date: 2021-01-11 23:30:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/022bc9f0 8258422: Cleanup unnecessary null comparison before instanceof check in java.base Reviewed-by: chegar, aefimov ! src/java.base/share/classes/java/io/File.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/AbstractPlainDatagramSocketImpl.java ! src/java.base/share/classes/java/net/AbstractPlainSocketImpl.java ! src/java.base/share/classes/java/net/DatagramPacket.java ! src/java.base/share/classes/java/net/HttpConnectSocketImpl.java ! src/java.base/share/classes/java/net/Inet4Address.java ! src/java.base/share/classes/java/net/Inet6Address.java ! src/java.base/share/classes/java/net/InetSocketAddress.java ! src/java.base/share/classes/java/net/NetMulticastSocket.java ! src/java.base/share/classes/java/net/Proxy.java ! src/java.base/share/classes/java/net/SocksSocketImpl.java ! src/java.base/share/classes/java/nio/file/attribute/AclEntry.java ! src/java.base/share/classes/jdk/internal/misc/Signal.java ! src/java.base/share/classes/sun/net/www/protocol/http/Negotiator.java ! src/java.base/share/classes/sun/net/www/protocol/https/HttpsClient.java ! src/java.base/share/classes/sun/nio/ch/DatagramSocketAdaptor.java ! src/java.base/share/classes/sun/nio/fs/PollingWatchService.java ! src/java.base/unix/classes/sun/nio/fs/UnixPath.java ! src/java.base/windows/classes/sun/nio/fs/WindowsPath.java Changeset: b6d51e15 Author: Alexander Zuev Date: 2021-01-12 00:28:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b6d51e15 8259585: Accessible actions do not work on mac os x Reviewed-by: serb ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaAccessibilityAction.m Changeset: fb68395d Author: Michael McMahon Date: 2021-01-08 15:59:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fb68395d 8259014: (so) ServerSocketChannel.bind(UnixDomainSocketAddress)/SocketChannel.bind(UnixDomainSocketAddress) will have unknown user and group owner (win) Reviewed-by: alanb ! src/java.base/windows/native/libnio/ch/UnixDomainSockets.c Changeset: 020ec848 Author: Erik Joelsson Date: 2021-01-08 18:30:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/020ec848 8259429: Update reference to README.md Reviewed-by: iris ! make/conf/jib-profiles.js Changeset: e05f36f4 Author: Aleksey Shipilev Date: 2021-01-11 13:45:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e05f36f4 8259043: More Zero architectures need linkage with libatomic Co-authored-by: Matthias Klose Reviewed-by: erikj ! make/autoconf/libraries.m4 Changeset: d60a937e Author: Maurizio Cimadamore Date: 2021-01-11 16:14:56 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d60a937e 8259028: ClassCastException when using custom filesystem with wrapper FileChannel impl Reviewed-by: chegar, alanb, uschindler ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MappedMemorySegmentImpl.java ! test/jdk/java/foreign/TestByteBuffer.java Changeset: 2cb271e6 Author: Jonathan Gibbons Date: 2021-01-11 17:35:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2cb271e6 8253996: Javac error on jdk16 build 18: invalid flag: -Xdoclint:-missing Reviewed-by: hannesw ! src/jdk.compiler/share/classes/com/sun/tools/doclint/DocLint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/BasicJavacTask.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlOptions.java ! test/langtools/tools/javac/diags/examples.not-yet.txt + test/langtools/tools/javac/doclint/LimitedImage.java Changeset: b378f54d Author: Jesper Wilhelmsson Date: 2021-01-12 01:08:14 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b378f54d Merge ! make/conf/jib-profiles.js ! src/jdk.compiler/share/classes/com/sun/tools/doclint/DocLint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/langtools/tools/javac/diags/examples.not-yet.txt ! make/conf/jib-profiles.js ! src/jdk.compiler/share/classes/com/sun/tools/doclint/DocLint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/langtools/tools/javac/diags/examples.not-yet.txt Changeset: ae0532ed Author: Wang Huang Committer: Fei Yang Date: 2021-01-12 01:40:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ae0532ed 8259044: JVM lacks data type qualifier when using -XX:+PrintAssembly with AArch64-Neon backend Co-authored-by: He Xuejin Reviewed-by: njian, aph ! src/hotspot/cpu/aarch64/aarch64_neon.ad ! src/hotspot/cpu/aarch64/aarch64_neon_ad.m4 Changeset: 2255ab76 Author: Kim Barrett Date: 2021-01-12 03:38:54 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2255ab76 8258810: Improve enum traits Reviewed-by: ayang, iklam, lfoltan ! src/hotspot/share/utilities/enumIterator.hpp ! test/hotspot/gtest/utilities/test_enumIterator.cpp Changeset: 77f62909 Author: Kim Barrett Date: 2021-01-12 04:12:31 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/77f62909 8258254: Move PtrQueue flush to PtrQueueSet subclasses Reviewed-by: tschatzl, shade ! src/hotspot/share/gc/g1/g1BarrierSet.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp ! src/hotspot/share/gc/g1/g1EvacFailure.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1RedirtyCardsQueue.cpp ! src/hotspot/share/gc/g1/g1RedirtyCardsQueue.hpp ! src/hotspot/share/gc/shared/ptrQueue.cpp ! src/hotspot/share/gc/shared/ptrQueue.hpp ! src/hotspot/share/gc/shared/satbMarkQueue.cpp ! src/hotspot/share/gc/shared/satbMarkQueue.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp Changeset: 61c5b95b Author: Sergey Bylokhov Date: 2021-01-12 06:53:17 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/61c5b95b 7194219: java/awt/Component/UpdatingBootTime/UpdatingBootTime.html fails on Linux Reviewed-by: aivanov ! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java ! src/java.desktop/unix/classes/sun/awt/X11/XWindow.java ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Component/UpdatingBootTime/UpdatingBootTime.html ! test/jdk/java/awt/Component/UpdatingBootTime/UpdatingBootTime.java Changeset: 98ccfbf4 Author: Sergey Bylokhov Date: 2021-01-12 06:56:49 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/98ccfbf4 8255710: Opensource unit/regression tests for CMM Reviewed-by: pbansal, prr + test/jdk/java/awt/color/GetInstanceNullData.java + test/jdk/java/awt/color/GetNameExceptionTest.java + test/jdk/java/awt/color/GetNameTest.java + test/jdk/java/awt/color/ICC_ProfileSetNullDataTest.java + test/jdk/java/awt/color/MultiThreadCMMTest.java + test/jdk/java/awt/color/StandardProfileTest.java + test/jdk/java/awt/color/StandardProfileTest.policy + test/jdk/java/awt/color/XYZTest.java Changeset: 9d4e84fd Author: Aleksey Shipilev Date: 2021-01-12 07:49:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9d4e84fd 8259565: Zero: compiler/runtime/criticalnatives fails because CriticalJNINatives is not supported Reviewed-by: coleenp, zgu ! src/hotspot/cpu/zero/vm_version_zero.cpp ! test/hotspot/jtreg/compiler/runtime/criticalnatives/argumentcorruption/CheckLongArgs.java ! test/hotspot/jtreg/compiler/runtime/criticalnatives/lookup/LookUp.java Changeset: 46637047 Author: Aleksey Shipilev Date: 2021-01-12 07:58:12 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/46637047 8259583: Remove unused decode_env::_codeBuffer Reviewed-by: thartmann ! src/hotspot/share/compiler/disassembler.cpp Changeset: a3561ae8 Author: Christian Hagedorn Date: 2021-01-12 08:18:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a3561ae8 8258243: C2: assert failed ("Bad derived pointer") with -XX:+VerifyRegisterAllocator Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/chaitin.cpp + test/hotspot/jtreg/compiler/regalloc/TestVerifyRegisterAllocator.java Changeset: a6ab9e47 Author: Richard Reingruber Date: 2021-01-12 08:35:12 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a6ab9e47 8258576: Try to get zerobased CCS if heap is above 32 and CDS is disabled Reviewed-by: mdoerr, stuefe ! src/hotspot/share/memory/metaspace.cpp ! test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointers.java Changeset: 4697cfa4 Author: Aleksey Shipilev Date: 2021-01-12 10:52:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4697cfa4 8259576: Misplaced curly brace in Matcher::find_shared_post_visit Reviewed-by: lucy, thartmann ! src/hotspot/share/opto/matcher.cpp Changeset: ac2dee56 Author: Thomas Stuefe Date: 2021-01-12 11:41:29 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ac2dee56 8259539: JDK-8255711 broke trap messages Reviewed-by: lfoltan, dholmes ! src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp ! src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp ! src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp Changeset: 400dc76f Author: Peter Zhelezniakov Committer: Alexander Scherbatiy Date: 2021-01-12 11:50:19 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/400dc76f 8252015: [macos11] java.awt.TrayIcon requires updates for template images Co-authored-by: Tres Finocchiaro Co-authored-by: Peter Zhelezniakov Reviewed-by: serb ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CTrayIcon.java ! src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.m ! src/java.desktop/share/classes/java/awt/TrayIcon.java Changeset: 563b268c Author: Sergey Platonov Committer: Aleksey Shipilev Date: 2021-01-12 11:57:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/563b268c 8257709: C1: Double assignment in InstructionPrinter::print_stack Reviewed-by: shade, chagedorn ! src/hotspot/share/c1/c1_InstructionPrinter.cpp Changeset: 4c75d14a Author: Coleen Phillimore Date: 2021-01-12 13:07:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4c75d14a 8259374: Make ThreadInVMfromNative have ResetNoHandleMark Reviewed-by: dcubed, pchilanomate ! src/hotspot/share/ci/ciUtilities.inline.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp ! src/hotspot/share/jfr/recorder/repository/jfrChunkRotation.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/runtime/handles.hpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp Changeset: ccac7aae Author: Dong Bo Committer: Fei Yang Date: 2021-01-12 13:27:47 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ccac7aae 8258932: AArch64: Enhance floating-point Min/MaxReductionV with fminp/fmaxp Reviewed-by: aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/aarch64_neon.ad ! src/hotspot/cpu/aarch64/aarch64_neon_ad.m4 ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! test/hotspot/gtest/aarch64/aarch64-asmtest.py ! test/hotspot/gtest/aarch64/asmtest.out.h + test/micro/org/openjdk/bench/vm/compiler/VectorReductionFloatingMinMax.java Changeset: c338f116 Author: Daniel D. Daugherty Date: 2021-01-12 14:39:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c338f116 8259349: -XX:AvgMonitorsPerThreadEstimate=1 does not work right Reviewed-by: coleenp, dholmes ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp Changeset: d6a2105b Author: Phil Race Date: 2021-01-12 20:19:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d6a2105b 8259343: [macOS] Update JNI error handling in Cocoa code. Reviewed-by: erikj, serb ! make/modules/java.desktop/Lib.gmk ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CPrinterJob.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/GeomUtilities.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaTextAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/PrinterView.m ! src/java.desktop/macosx/native/libosxapp/JNIUtilities.h Changeset: 5f7ccce0 Author: Evan Whelan Committer: Alan Bateman Date: 2021-01-12 20:41:04 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5f7ccce0 8226810: Failed to launch JVM because of NullPointerException occured on System.props Reviewed-by: alanb, naoto ! make/data/charsetmapping/stdcs-windows Changeset: e4df2098 Author: Laurent Bourg?s Date: 2021-01-12 20:51:54 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e4df2098 7018932: Drawing very large coordinates with a dashed Stroke can cause Java to hang Reviewed-by: serb, prr ! 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/TransformingPathConsumer2D.java ! src/java.desktop/share/classes/sun/java2d/pipe/LoopPipe.java ! src/java.desktop/share/classes/sun/java2d/pipe/RenderingEngine.java ! src/java.desktop/share/classes/sun/java2d/pipe/SpanShapeRenderer.java + test/jdk/sun/java2d/marlin/StrokedLinePerf.java Changeset: 4be21734 Author: Martin Balao Date: 2021-01-12 23:44:19 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4be21734 8259319: Illegal package access when SunPKCS11 requires SunJCE's classes Reviewed-by: valeriep, mullan ! src/java.base/share/classes/module-info.java ! src/java.base/share/lib/security/default.policy ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Util.java + test/jdk/sun/security/pkcs11/KeyAgreement/IllegalPackageAccess.java Changeset: c6d798c2 Author: Dong Bo Committer: Vladimir Kozlov Date: 2021-01-13 00:30:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c6d798c2 8259629: aarch64 builds fail after JDK-8258932 Reviewed-by: kvn ! test/hotspot/gtest/aarch64/aarch64-asmtest.py ! test/hotspot/gtest/aarch64/asmtest.out.h Changeset: 65bed647 Author: Xue-Lei Andrew Fan Date: 2021-01-13 01:10:29 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/65bed647 8253635: Implement toString() for SSLEngineImpl Reviewed-by: coffeys, wetmore ! src/java.base/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java Changeset: 0957d9eb Author: Sergey Bylokhov Date: 2021-01-13 02:30:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0957d9eb 8259519: The java.awt.datatransfer.DataFlavor#ioInputStreamClass field is redundant Reviewed-by: aivanov ! src/java.datatransfer/share/classes/java/awt/datatransfer/DataFlavor.java + test/jdk/java/awt/datatransfer/DataFlavor/DefaultRepresentation.java Changeset: 44c83794 Author: Prasanta Sadhukhan Date: 2021-01-13 06:57:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/44c83794 8256019: JLabel HTML text does not support translucent text colors Reviewed-by: serb ! src/java.desktop/share/classes/javax/swing/text/html/CSS.java + test/jdk/javax/swing/JLabel/TestTranslucentLabelText.java Changeset: a483869a Author: Prasanta Sadhukhan Date: 2021-01-13 07:00:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a483869a 8225045: javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java fails on linux-x64 Reviewed-by: serb, pbansal, trebari ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java Changeset: 139b6dae Author: Matthias Baesken Date: 2021-01-13 07:53:39 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/139b6dae 8259372: remove AIX related USE_LIBRARY_BASED_TLS_ONLY and THREAD_LOCAL special handling Reviewed-by: dholmes, stuefe ! src/hotspot/share/utilities/globalDefinitions_xlc.hpp Changeset: 2243a170 Author: liach Committer: Aleksey Shipilev Date: 2021-01-13 08:02:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2243a170 8259485: Document need for short paths when building on Windows Reviewed-by: erikj, shade ! doc/building.html ! doc/building.md Changeset: 77ca1031 Author: Jan Lahoda Date: 2021-01-13 11:27:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/77ca1031 8257236: can't use var with a class named Z Reviewed-by: sundar ! src/jdk.jshell/share/classes/jdk/jshell/Wrap.java ! test/langtools/jdk/jshell/VariablesTest.java Changeset: 2e124544 Author: Aleksey Shipilev Date: 2021-01-13 11:55:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2e124544 8259580: Shenandoah: uninitialized label in VerifyThreadGCState Reviewed-by: zgu, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: ce945120 Author: Aleksey Shipilev Date: 2021-01-13 12:30:28 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ce945120 8259619: C1: 3-arg StubAssembler::call_RT stack-use condition is incorrect Reviewed-by: chagedorn, kvn ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp Changeset: 535f2da5 Author: Coleen Phillimore Date: 2021-01-13 14:32:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/535f2da5 8259486: Replace PreserveExceptionMark with implementation for CautiouslyPreserveExceptionMark Reviewed-by: dholmes, sspitsyn ! src/hotspot/cpu/arm/methodHandles_arm.cpp ! src/hotspot/cpu/ppc/methodHandles_ppc.cpp ! src/hotspot/cpu/s390/methodHandles_s390.cpp ! src/hotspot/cpu/x86/methodHandles_x86.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderThread.cpp ! src/hotspot/share/prims/jvmtiEnter.xsl ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/handshake.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/utilities/exceptions.cpp ! src/hotspot/share/utilities/exceptions.hpp ! src/hotspot/share/utilities/preserveException.cpp ! src/hotspot/share/utilities/preserveException.hpp Changeset: 5df2a949 Author: Mahendra Chhipa Committer: Daniel Fuchs Date: 2021-01-13 15:53:05 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5df2a949 8212035: merge jdk.test.lib.util.SimpleHttpServer with jaxp.library.SimpleHttpServer Reviewed-by: dfuchs - test/jaxp/javax/xml/jaxp/libs/jaxp/library/SimpleHttpServer.java ! test/jaxp/javax/xml/jaxp/unittest/catalog/CatalogFileInputTest.java ! test/jdk/java/util/jar/JarFile/mrjar/MultiReleaseJarAPI.java ! test/jdk/java/util/jar/JarFile/mrjar/MultiReleaseJarHttpProperties.java ! test/jdk/java/util/jar/JarFile/mrjar/MultiReleaseJarProperties.java ! test/jdk/java/util/jar/JarFile/mrjar/TestVersionedStream.java ! test/jdk/lib/testlibrary/java/util/jar/CreateMultiReleaseTestJars.java - test/jdk/lib/testlibrary/java/util/jar/SimpleHttpServer.java ! test/jdk/sun/net/www/protocol/jar/B4756443.java ! test/jdk/sun/net/www/protocol/jar/B5105410.java ! test/jdk/sun/net/www/protocol/jar/JarURLConnectionUseCaches.java ! test/jdk/sun/net/www/protocol/jar/MultiReleaseJarURLConnection.java ! test/jdk/sun/net/www/protocol/jar/jarbug/TestDriver.java ! test/jdk/sun/net/www/protocol/jar/jarbug/src/jar1/GetResource.java ! test/jdk/sun/net/www/protocol/jar/jarbug/src/jar1/LoadResourceBundle.java ! test/jdk/sun/net/www/protocol/jar/jarbug/src/test/JarTest.java + test/lib/jdk/test/lib/net/SimpleHttpServer.java Changeset: 916ab4e7 Author: Jonathan Gibbons Date: 2021-01-13 17:01:39 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/916ab4e7 8259283: use new HtmlId and HtmlIds classes Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlIds.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlIndexBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/LinkFactoryImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/NestedClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PropertyWriterImpl.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SectionName.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SourceToHTMLConverter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SubWriterHolderWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SummaryListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlId.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Links.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/SummaryAPIListBuilder.java Changeset: ccdf171d Author: Zhengyu Gu Date: 2021-01-13 19:01:18 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ccdf171d 8259377: Shenandoah: Enhance weak reference processing time tracking Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahReferenceProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahReferenceProcessor.hpp Changeset: c7e2174b Author: Hai-May Chao Committer: Weijun Wang Date: 2021-01-13 22:32:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c7e2174b 8259401: Add checking to jarsigner to warn weak algorithms used in signer?s cert chain Reviewed-by: mullan, weijun, rhalade ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java + test/jdk/sun/security/tools/jarsigner/CheckSignerCertChain.java Changeset: a7e5da22 Author: Ningsheng Jian Date: 2021-01-12 01:31:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a7e5da22 8258384: AArch64: SVE verify_ptrue fails on some tests Reviewed-by: adinn, ngasson ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp Changeset: 28ff2de1 Author: Pankaj Bansal Date: 2021-01-12 09:46:06 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/28ff2de1 8259237: Demo selection changes with left/right arrow key. No need to press space for selection. Reviewed-by: psadhukhan, kizune, serb ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicButtonUI.java ! test/jdk/javax/swing/ButtonGroup/TestButtonGroupFocusTraversal.java Changeset: 67e1b639 Author: Patrick Zhang Committer: Thomas Schatzl Date: 2021-01-12 10:10:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/67e1b639 8259380: Correct pretouch chunk size to cap with actual page size Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/shared/pretouchTask.cpp Changeset: 8a81cf15 Author: Stuart Marks Date: 2021-01-12 17:04:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8a81cf15 8259298: broken link in Stream::toList spec Reviewed-by: bchristi, iris, lancea, naoto ! src/java.base/share/classes/java/util/stream/Stream.java Changeset: b03880e3 Author: Maurizio Cimadamore Date: 2021-01-12 17:09:05 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b03880e3 8259634: MemorySegment::asByteBuffer does not respect spatial bounds Reviewed-by: alanb, chegar ! src/java.base/share/classes/java/nio/Buffer.java ! test/jdk/java/foreign/TestByteBuffer.java Changeset: 5f9cd72c Author: Jonathan Gibbons Date: 2021-01-12 19:57:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5f9cd72c 8259645: Revert JDK-8245956 JavaCompiler still uses File API instead of Path API in a specific case Reviewed-by: chegar ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/JavacFileManager.java - test/langtools/tools/javac/T8245956/T8245956.java Changeset: 17b4db31 Author: Maurizio Cimadamore Date: 2021-01-12 21:06:03 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/17b4db31 8259636: Check for buffer backed by shared segment kicks in in unexpected places Reviewed-by: sundar, alanb, chegar ! src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template ! test/jdk/java/foreign/TestByteBuffer.java Changeset: 1cf2378b Author: Xiaohong Gong Committer: Ningsheng Jian Date: 2021-01-13 05:48:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1cf2378b 8259353: VectorReinterpretNode is incorrectly optimized out Reviewed-by: vlivanov, njian ! src/hotspot/share/opto/vectornode.cpp Changeset: 15dd8f3a Author: Calvin Cheung Date: 2021-01-13 05:51:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/15dd8f3a 8259275: JRuby crashes while resolving invokedynamic instruction Reviewed-by: iklam, minqi, lfoltan ! src/hotspot/share/classfile/classListParser.cpp ! src/hotspot/share/classfile/classListParser.hpp ! src/hotspot/share/oops/constantPool.cpp ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/runtime/cds/appcds/BadBSM.java + test/hotspot/jtreg/runtime/cds/appcds/LambdaWithOldClass.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/LambdaWithOldClassApp.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/OldClass.jasm Changeset: 793017d2 Author: Xiaohong Gong Committer: Ningsheng Jian Date: 2021-01-13 05:52:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/793017d2 8259601: AArch64: Fix reinterpretX2D match rule issue Reviewed-by: adinn, njian ! src/hotspot/cpu/aarch64/aarch64_neon.ad ! src/hotspot/cpu/aarch64/aarch64_neon_ad.m4 Changeset: 417e1d1a Author: Roberto Casta?eda Lozano Committer: Tobias Hartmann Date: 2021-01-13 07:22:30 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/417e1d1a 8259061: C2: assert(found) failed: memory-writing node is not placed in its original loop or an ancestor of it Remove assertion that is too general, that is, it can fail on compilations where C2 generates correct code otherwise. Reviewed-by: chagedorn, thartmann, kvn ! src/hotspot/share/opto/block.cpp Changeset: efc36be5 Author: Kim Barrett Date: 2021-01-13 08:22:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/efc36be5 8258985: Parallel WeakProcessor may use too few threads Use total workers rather than active. Reviewed-by: tschatzl, ayang, sjohanss ! src/hotspot/share/gc/shared/weakProcessor.hpp ! src/hotspot/share/gc/shared/weakProcessor.inline.hpp Changeset: a99df45b Author: Aleksey Shipilev Date: 2021-01-13 08:49:12 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a99df45b 8259560: Zero m68k: "static assertion failed: align" after JDK-8252049 Reviewed-by: dholmes ! src/hotspot/share/ci/ciMethodData.cpp ! src/hotspot/share/oops/methodData.hpp Changeset: 55675309 Author: Nils Eliasson Date: 2021-01-13 09:16:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/55675309 8258272: LoadVectorMaskedNode can't be replaced by zero con Reviewed-by: chagedorn, vlivanov ! src/hotspot/share/opto/memnode.cpp + test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyMaskedWithZeroSrc.java Changeset: 6bb6093f Author: Jonathan Gibbons Date: 2021-01-13 12:40:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6bb6093f 8259657: typo in generated HELP page prevents localization Reviewed-by: vromero ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties Changeset: 42d2d6dc Author: Erik ?sterlund Date: 2021-01-13 16:48:17 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/42d2d6dc 8259063: Possible deadlock with vtable/itable creation vs concurrent class unloading Reviewed-by: pliden, neliasso ! src/hotspot/share/code/codeBlob.cpp ! src/hotspot/share/code/codeBlob.hpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/codeCache.hpp Changeset: ac4cd2e3 Author: Vicente Romero Date: 2021-01-13 17:27:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ac4cd2e3 8231461: static/instance overload leads to 'unexpected static method found in unbound lookup' when resolving method reference Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/langtools/lib/combo/tools/javac/combo/CompilationTestCase.java ! test/langtools/lib/combo/tools/javac/combo/Diagnostics.java ! test/langtools/lib/combo/tools/javac/combo/JavacTemplateTestBase.java + test/langtools/tools/javac/diags/examples/BoundUnboundMethRefSearch.java + test/langtools/tools/javac/diags/examples/BoundUnboundMethRefSearch2.java + test/langtools/tools/javac/lambda/methodReference/BoundUnboundSearchTest.java Changeset: fb8ac247 Author: Daniel D. Daugherty Date: 2021-01-13 18:23:12 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fb8ac247 8259722: ProblemList two jdk/jfr/startupargs tests on Windows Reviewed-by: mgronlun ! test/jdk/ProblemList.txt Changeset: 8abefdec Author: Daniel D. Daugherty Date: 2021-01-13 18:23:41 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8abefdec 8259720: ProblemList java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.java on Windows Reviewed-by: kizune, pbansal ! test/jdk/ProblemList.txt Changeset: 5926d75f Author: Daniel D. Daugherty Date: 2021-01-13 19:52:04 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5926d75f 8259719: ProblemList runtime/cds/appcds/jigsaw/modulepath/ModulePathAndCP_JFR.java on Windows Reviewed-by: pliden ! test/hotspot/jtreg/ProblemList.txt Changeset: 51e14f2e Author: Jesper Wilhelmsson Date: 2021-01-14 01:29:47 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/51e14f2e Merge ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/aarch64_neon.ad ! src/hotspot/cpu/aarch64/aarch64_neon_ad.m4 ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/share/ci/ciMethodData.cpp ! src/hotspot/share/code/codeBlob.cpp ! src/hotspot/share/gc/shared/pretouchTask.cpp ! src/hotspot/share/gc/shared/weakProcessor.inline.hpp ! src/hotspot/share/opto/memnode.cpp ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.groups ! test/jdk/ProblemList.txt ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/aarch64_neon.ad ! src/hotspot/cpu/aarch64/aarch64_neon_ad.m4 ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/share/ci/ciMethodData.cpp ! src/hotspot/share/code/codeBlob.cpp ! src/hotspot/share/gc/shared/pretouchTask.cpp ! src/hotspot/share/gc/shared/weakProcessor.inline.hpp ! src/hotspot/share/opto/memnode.cpp ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.groups ! test/jdk/ProblemList.txt Changeset: 5513f989 Author: Hao Sun Committer: Ningsheng Jian Date: 2021-01-14 04:11:20 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5513f989 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy Reviewed-by: xliu, kvn, kbarrett ! src/hotspot/share/opto/node.hpp Changeset: ae9187d7 Author: Alexander Zuev Date: 2021-01-14 05:07:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ae9187d7 8256109: Create implementation for NSAccessibilityButton protocol Reviewed-by: prr, serb ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ButtonAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ButtonAccessibility.m + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m Changeset: 8b8b1f9a Author: Tobias Hartmann Date: 2021-01-14 07:23:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8b8b1f9a 8259706: C2 compilation fails with assert(vtable_index == Method::invalid_vtable_index) failed: correct sentinel value Reviewed-by: lucy, chagedorn ! src/hotspot/share/opto/library_call.cpp Changeset: 3462f7a9 Author: Stefan Karlsson Date: 2021-01-14 11:34:27 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3462f7a9 8256955: Move includes of events.hpp out of header files Reviewed-by: kbarrett, coleenp ! src/hotspot/share/classfile/classLoaderDataGraph.cpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/jvmci/jvmci.cpp ! src/hotspot/share/jvmci/jvmci.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: b040a3d7 Author: Aleksei Efimov Date: 2021-01-14 11:57:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b040a3d7 8259631: Reapply pattern match instanceof use in HttpClientImpl Reviewed-by: dfuchs, chegar ! src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java Changeset: b8ef2bad Author: Wang Xue Committer: David Holmes Date: 2021-01-14 12:56:56 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b8ef2bad 8259563: The CPU model name is printed multiple times when using -Xlog:os+cpu Reviewed-by: dholmes ! src/hotspot/os/linux/os_linux.cpp Changeset: ff3e6e46 Author: Jatin Bhateja Date: 2021-01-14 13:20:06 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ff3e6e46 8259773: Incorrect encoding of AVX-512 kmovq instruction Reviewed-by: vlivanov ! src/hotspot/cpu/x86/assembler_x86.cpp Changeset: c822eda1 Author: Sergey Tsypanov Committer: Claes Redestad Date: 2021-01-14 14:18:12 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c822eda1 8259699: Reduce char[] copying in URLEncoder.encode(String, Charset) Reviewed-by: attila, redestad, chegar ! src/java.base/share/classes/java/net/URLEncoder.java Changeset: be57cf14 Author: Daniel D. Daugherty Date: 2021-01-14 14:23:27 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/be57cf14 8226416: MonitorUsedDeflationThreshold can cause repeated async deflation requests Reviewed-by: dholmes, coleenp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/synchronizer.cpp + test/hotspot/jtreg/runtime/Monitor/MonitorUsedDeflationThresholdTest.java Changeset: 38a12017 Author: Harold Seigel Date: 2021-01-14 15:04:31 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/38a12017 8258912: Remove JVM options CountJNICalls and CountJVMCalls Reviewed-by: coleenp, lfoltan, shade ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/interfaceSupport.cpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp - src/hotspot/share/utilities/histogram.cpp - src/hotspot/share/utilities/histogram.hpp Changeset: 1620664e Author: Jonathan Gibbons Date: 2021-01-14 16:18:43 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1620664e 8259723: Move Table class to formats.html package Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllPackagesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/NestedClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PropertyWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SummaryListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SystemPropertiesWriter.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Table.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TableHeader.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/package-info.java Changeset: c2a3c7ef Author: Jonathan Gibbons Date: 2021-01-14 16:20:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c2a3c7ef 8259727: Remove redundant "target" arguments to methods in Links Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/LinkFactoryImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/LinkInfoImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Links.java Changeset: 8554fe6e Author: Jamil Nimeh Date: 2021-01-14 16:36:51 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8554fe6e 8253866: Security Libs Terminology Refresh Reviewed-by: erikj, weijun, mullan ! make/ToolsJdk.gmk = make/data/blockedcertsconverter/blocked.certs.pem = make/jdk/src/classes/build/tools/blockedcertsconverter/BlockedCertsConverter.java ! make/modules/java.base/Gendata.gmk - make/modules/java.base/gendata/GendataBlacklistedCerts.gmk + make/modules/java.base/gendata/GendataBlockedCerts.gmk ! make/scripts/compare.sh ! src/java.base/share/classes/com/sun/crypto/provider/JceKeyStore.java ! src/java.base/share/classes/java/util/jar/JarVerifier.java ! src/java.base/share/classes/sun/security/provider/JavaKeyStore.java ! src/java.base/share/classes/sun/security/util/UntrustedCertificates.java ! src/java.base/share/conf/security/java.security ! src/java.security.jgss/share/classes/sun/security/krb5/Config.java ! src/java.security.jgss/share/classes/sun/security/krb5/KdcComm.java ! test/jdk/sun/security/krb5/auto/BogusKDC.java - test/jdk/sun/security/lib/CheckBlacklistedCerts.java + test/jdk/sun/security/lib/CheckBlockedCerts.java Changeset: aba3431c Author: Naoto Sato Date: 2021-01-14 16:58:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/aba3431c 8258956: Memory Leak in StringCoding on ThreadLocal resultCached StringCoding.Result Reviewed-by: rriggs, alanb ! src/java.base/share/classes/java/lang/StringCoding.java Changeset: da6bcf96 Author: Zhengyu Gu Date: 2021-01-14 17:42:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/da6bcf96 8255019: Shenandoah: Split STW and concurrent mark into separate classes Reviewed-by: rkennke, shade ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp - src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp + src/hotspot/share/gc/shenandoah/shenandoahMark.cpp + src/hotspot/share/gc/shenandoah/shenandoahMark.hpp + src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp + src/hotspot/share/gc/shenandoah/shenandoahSTWMark.hpp Changeset: a6b2162f Author: Sandhya Viswanathan Date: 2021-01-14 17:48:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a6b2162f 8259278: Optimize Vector API slice and unslice operations Reviewed-by: psandoz, vlivanov ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template Changeset: d18d26e8 Author: Chris Plummer Date: 2021-01-14 21:01:42 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d18d26e8 8259350: Add some internal debugging APIs to the debug agent Reviewed-by: sspitsyn, amenkov ! src/jdk.jdwp.agent/share/native/libjdwp/eventFilter.c ! src/jdk.jdwp.agent/share/native/libjdwp/eventFilter.h ! src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c ! src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.h ! src/jdk.jdwp.agent/share/native/libjdwp/threadControl.c ! src/jdk.jdwp.agent/share/native/libjdwp/threadControl.h ! src/jdk.jdwp.agent/share/native/libjdwp/util.c ! src/jdk.jdwp.agent/share/native/libjdwp/util.h Changeset: 4f881ba5 Author: Chris Plummer Date: 2021-01-14 23:04:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4f881ba5 8258652: Assert in JvmtiThreadState::cur_stack_depth() can noticeably slow down debugging single stepping Reviewed-by: sspitsyn, dholmes, amenkov ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/runtime/globals.hpp Changeset: bf28f925 Author: Coleen Phillimore Date: 2021-01-14 23:25:14 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bf28f925 8259713: Fix comments about ResetNoHandleMark in deoptimization Reviewed-by: lfoltan, dcubed, dholmes ! src/hotspot/share/runtime/deoptimization.cpp Changeset: 978bed6c Author: Sergey Bylokhov Date: 2021-01-15 00:28:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/978bed6c 8259522: Apply java.io.Serial annotations in java.desktop Reviewed-by: aivanov, psadhukhan ! src/java.desktop/share/classes/com/sun/beans/editors/ColorEditor.java ! src/java.desktop/share/classes/com/sun/beans/editors/FontEditor.java ! src/java.desktop/share/classes/com/sun/beans/finder/SignatureException.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/common/SimpleCMYKColorSpace.java ! src/java.desktop/share/classes/com/sun/media/sound/InvalidDataException.java ! src/java.desktop/share/classes/com/sun/media/sound/InvalidFormatException.java ! src/java.desktop/share/classes/com/sun/media/sound/RIFFInvalidDataException.java ! src/java.desktop/share/classes/com/sun/media/sound/RIFFInvalidFormatException.java ! src/java.desktop/share/classes/java/applet/Applet.java ! src/java.desktop/share/classes/java/awt/AWTError.java ! src/java.desktop/share/classes/java/awt/AWTEvent.java ! src/java.desktop/share/classes/java/awt/AWTException.java ! src/java.desktop/share/classes/java/awt/AWTKeyStroke.java ! src/java.desktop/share/classes/java/awt/AWTPermission.java ! 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/Canvas.java ! src/java.desktop/share/classes/java/awt/CardLayout.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/Color.java ! src/java.desktop/share/classes/java/awt/Component.java ! src/java.desktop/share/classes/java/awt/ComponentOrientation.java ! src/java.desktop/share/classes/java/awt/Container.java ! src/java.desktop/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java ! src/java.desktop/share/classes/java/awt/Cursor.java ! src/java.desktop/share/classes/java/awt/DefaultFocusTraversalPolicy.java ! src/java.desktop/share/classes/java/awt/DefaultKeyboardFocusManager.java ! src/java.desktop/share/classes/java/awt/Dialog.java ! src/java.desktop/share/classes/java/awt/Dimension.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/FlowLayout.java ! src/java.desktop/share/classes/java/awt/Font.java ! src/java.desktop/share/classes/java/awt/FontFormatException.java ! src/java.desktop/share/classes/java/awt/FontMetrics.java ! src/java.desktop/share/classes/java/awt/Frame.java ! src/java.desktop/share/classes/java/awt/GraphicsConfigTemplate.java ! src/java.desktop/share/classes/java/awt/GridBagConstraints.java ! src/java.desktop/share/classes/java/awt/GridBagLayout.java ! src/java.desktop/share/classes/java/awt/GridBagLayoutInfo.java ! src/java.desktop/share/classes/java/awt/GridLayout.java ! src/java.desktop/share/classes/java/awt/HeadlessException.java ! src/java.desktop/share/classes/java/awt/IllegalComponentStateException.java ! src/java.desktop/share/classes/java/awt/Insets.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/MediaTracker.java ! src/java.desktop/share/classes/java/awt/Menu.java ! src/java.desktop/share/classes/java/awt/MenuBar.java ! src/java.desktop/share/classes/java/awt/MenuComponent.java ! src/java.desktop/share/classes/java/awt/MenuItem.java ! src/java.desktop/share/classes/java/awt/MenuShortcut.java ! src/java.desktop/share/classes/java/awt/Panel.java ! src/java.desktop/share/classes/java/awt/Point.java ! src/java.desktop/share/classes/java/awt/Polygon.java ! src/java.desktop/share/classes/java/awt/PopupMenu.java ! src/java.desktop/share/classes/java/awt/Rectangle.java ! src/java.desktop/share/classes/java/awt/ScrollPane.java ! src/java.desktop/share/classes/java/awt/ScrollPaneAdjustable.java ! src/java.desktop/share/classes/java/awt/Scrollbar.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/SystemColor.java ! src/java.desktop/share/classes/java/awt/TextArea.java ! src/java.desktop/share/classes/java/awt/TextComponent.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/color/CMMException.java ! src/java.desktop/share/classes/java/awt/color/ColorSpace.java ! src/java.desktop/share/classes/java/awt/color/ICC_ColorSpace.java ! src/java.desktop/share/classes/java/awt/color/ICC_Profile.java ! src/java.desktop/share/classes/java/awt/color/ICC_ProfileGray.java ! src/java.desktop/share/classes/java/awt/color/ICC_ProfileRGB.java ! src/java.desktop/share/classes/java/awt/color/ProfileDataException.java ! src/java.desktop/share/classes/java/awt/desktop/AboutEvent.java ! src/java.desktop/share/classes/java/awt/desktop/AppEvent.java ! src/java.desktop/share/classes/java/awt/desktop/AppForegroundEvent.java ! src/java.desktop/share/classes/java/awt/desktop/AppHiddenEvent.java ! src/java.desktop/share/classes/java/awt/desktop/AppReopenedEvent.java ! src/java.desktop/share/classes/java/awt/desktop/FilesEvent.java ! src/java.desktop/share/classes/java/awt/desktop/OpenFilesEvent.java ! src/java.desktop/share/classes/java/awt/desktop/OpenURIEvent.java ! src/java.desktop/share/classes/java/awt/desktop/PreferencesEvent.java ! src/java.desktop/share/classes/java/awt/desktop/PrintFilesEvent.java ! src/java.desktop/share/classes/java/awt/desktop/QuitEvent.java ! src/java.desktop/share/classes/java/awt/desktop/ScreenSleepEvent.java ! src/java.desktop/share/classes/java/awt/desktop/SystemSleepEvent.java ! src/java.desktop/share/classes/java/awt/desktop/UserSessionEvent.java ! src/java.desktop/share/classes/java/awt/dnd/DragGestureEvent.java ! src/java.desktop/share/classes/java/awt/dnd/DragGestureRecognizer.java ! src/java.desktop/share/classes/java/awt/dnd/DragSource.java ! src/java.desktop/share/classes/java/awt/dnd/DragSourceContext.java ! src/java.desktop/share/classes/java/awt/dnd/DragSourceDragEvent.java ! src/java.desktop/share/classes/java/awt/dnd/DragSourceDropEvent.java ! src/java.desktop/share/classes/java/awt/dnd/DragSourceEvent.java ! src/java.desktop/share/classes/java/awt/dnd/DropTarget.java ! src/java.desktop/share/classes/java/awt/dnd/DropTargetContext.java ! src/java.desktop/share/classes/java/awt/dnd/DropTargetDragEvent.java ! src/java.desktop/share/classes/java/awt/dnd/DropTargetDropEvent.java ! src/java.desktop/share/classes/java/awt/dnd/DropTargetEvent.java ! src/java.desktop/share/classes/java/awt/dnd/InvalidDnDOperationException.java ! src/java.desktop/share/classes/java/awt/dnd/MouseDragGestureRecognizer.java ! src/java.desktop/share/classes/java/awt/event/ActionEvent.java ! src/java.desktop/share/classes/java/awt/event/AdjustmentEvent.java ! src/java.desktop/share/classes/java/awt/event/ComponentEvent.java ! src/java.desktop/share/classes/java/awt/event/ContainerEvent.java ! src/java.desktop/share/classes/java/awt/event/FocusEvent.java ! src/java.desktop/share/classes/java/awt/event/HierarchyEvent.java ! src/java.desktop/share/classes/java/awt/event/InputEvent.java ! src/java.desktop/share/classes/java/awt/event/InputMethodEvent.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/awt/event/KeyEvent.java ! src/java.desktop/share/classes/java/awt/event/MouseEvent.java ! src/java.desktop/share/classes/java/awt/event/MouseWheelEvent.java ! src/java.desktop/share/classes/java/awt/event/PaintEvent.java ! src/java.desktop/share/classes/java/awt/event/TextEvent.java ! src/java.desktop/share/classes/java/awt/event/WindowEvent.java ! src/java.desktop/share/classes/java/awt/font/NumericShaper.java ! src/java.desktop/share/classes/java/awt/font/TextAttribute.java ! src/java.desktop/share/classes/java/awt/font/TransformAttribute.java ! src/java.desktop/share/classes/java/awt/geom/AffineTransform.java ! src/java.desktop/share/classes/java/awt/geom/Arc2D.java ! src/java.desktop/share/classes/java/awt/geom/CubicCurve2D.java ! src/java.desktop/share/classes/java/awt/geom/Ellipse2D.java ! src/java.desktop/share/classes/java/awt/geom/GeneralPath.java ! src/java.desktop/share/classes/java/awt/geom/IllegalPathStateException.java ! src/java.desktop/share/classes/java/awt/geom/Line2D.java ! src/java.desktop/share/classes/java/awt/geom/NoninvertibleTransformException.java ! src/java.desktop/share/classes/java/awt/geom/Path2D.java ! src/java.desktop/share/classes/java/awt/geom/Point2D.java ! src/java.desktop/share/classes/java/awt/geom/QuadCurve2D.java ! src/java.desktop/share/classes/java/awt/geom/Rectangle2D.java ! src/java.desktop/share/classes/java/awt/geom/RoundRectangle2D.java ! src/java.desktop/share/classes/java/awt/image/ImagingOpException.java ! src/java.desktop/share/classes/java/awt/image/RasterFormatException.java ! src/java.desktop/share/classes/java/awt/image/renderable/ParameterBlock.java ! src/java.desktop/share/classes/java/awt/print/PrinterAbortException.java ! src/java.desktop/share/classes/java/awt/print/PrinterException.java ! src/java.desktop/share/classes/java/awt/print/PrinterIOException.java ! src/java.desktop/share/classes/java/beans/IndexedPropertyChangeEvent.java ! src/java.desktop/share/classes/java/beans/IntrospectionException.java ! src/java.desktop/share/classes/java/beans/PropertyChangeEvent.java ! src/java.desktop/share/classes/java/beans/PropertyChangeSupport.java ! src/java.desktop/share/classes/java/beans/PropertyVetoException.java ! src/java.desktop/share/classes/java/beans/VetoableChangeSupport.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/BeanContextServiceAvailableEvent.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServiceRevokedEvent.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/IIOException.java ! src/java.desktop/share/classes/javax/imageio/metadata/IIOInvalidTreeException.java ! src/java.desktop/share/classes/javax/imageio/metadata/IIOMetadataNode.java ! src/java.desktop/share/classes/javax/imageio/spi/DigraphNode.java ! src/java.desktop/share/classes/javax/print/DocFlavor.java ! src/java.desktop/share/classes/javax/print/MimeType.java ! src/java.desktop/share/classes/javax/print/PrintException.java ! src/java.desktop/share/classes/javax/print/attribute/AttributeSetUtilities.java ! src/java.desktop/share/classes/javax/print/attribute/DateTimeSyntax.java ! src/java.desktop/share/classes/javax/print/attribute/EnumSyntax.java ! src/java.desktop/share/classes/javax/print/attribute/HashAttributeSet.java ! src/java.desktop/share/classes/javax/print/attribute/HashDocAttributeSet.java ! src/java.desktop/share/classes/javax/print/attribute/HashPrintJobAttributeSet.java ! src/java.desktop/share/classes/javax/print/attribute/HashPrintRequestAttributeSet.java ! src/java.desktop/share/classes/javax/print/attribute/HashPrintServiceAttributeSet.java ! src/java.desktop/share/classes/javax/print/attribute/IntegerSyntax.java ! src/java.desktop/share/classes/javax/print/attribute/ResolutionSyntax.java ! src/java.desktop/share/classes/javax/print/attribute/SetOfIntegerSyntax.java ! src/java.desktop/share/classes/javax/print/attribute/Size2DSyntax.java ! src/java.desktop/share/classes/javax/print/attribute/TextSyntax.java ! src/java.desktop/share/classes/javax/print/attribute/URISyntax.java ! src/java.desktop/share/classes/javax/print/attribute/UnmodifiableSetException.java ! src/java.desktop/share/classes/javax/print/attribute/standard/Chromaticity.java ! src/java.desktop/share/classes/javax/print/attribute/standard/ColorSupported.java ! src/java.desktop/share/classes/javax/print/attribute/standard/Compression.java ! src/java.desktop/share/classes/javax/print/attribute/standard/Copies.java ! src/java.desktop/share/classes/javax/print/attribute/standard/CopiesSupported.java ! src/java.desktop/share/classes/javax/print/attribute/standard/DateTimeAtCompleted.java ! src/java.desktop/share/classes/javax/print/attribute/standard/DateTimeAtCreation.java ! src/java.desktop/share/classes/javax/print/attribute/standard/DateTimeAtProcessing.java ! src/java.desktop/share/classes/javax/print/attribute/standard/Destination.java ! src/java.desktop/share/classes/javax/print/attribute/standard/DialogOwner.java ! src/java.desktop/share/classes/javax/print/attribute/standard/DialogTypeSelection.java ! src/java.desktop/share/classes/javax/print/attribute/standard/DocumentName.java ! src/java.desktop/share/classes/javax/print/attribute/standard/Fidelity.java ! src/java.desktop/share/classes/javax/print/attribute/standard/Finishings.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobHoldUntil.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobImpressions.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobImpressionsCompleted.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobImpressionsSupported.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobKOctets.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobKOctetsProcessed.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobKOctetsSupported.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobMediaSheets.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobMediaSheetsCompleted.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobMediaSheetsSupported.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobMessageFromOperator.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobName.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobOriginatingUserName.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobPriority.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobPrioritySupported.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobSheets.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobState.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobStateReason.java ! src/java.desktop/share/classes/javax/print/attribute/standard/JobStateReasons.java ! src/java.desktop/share/classes/javax/print/attribute/standard/Media.java ! src/java.desktop/share/classes/javax/print/attribute/standard/MediaName.java ! src/java.desktop/share/classes/javax/print/attribute/standard/MediaPrintableArea.java ! src/java.desktop/share/classes/javax/print/attribute/standard/MediaSize.java ! src/java.desktop/share/classes/javax/print/attribute/standard/MediaSizeName.java ! src/java.desktop/share/classes/javax/print/attribute/standard/MediaTray.java ! src/java.desktop/share/classes/javax/print/attribute/standard/MultipleDocumentHandling.java ! src/java.desktop/share/classes/javax/print/attribute/standard/NumberOfDocuments.java ! src/java.desktop/share/classes/javax/print/attribute/standard/NumberOfInterveningJobs.java ! src/java.desktop/share/classes/javax/print/attribute/standard/NumberUp.java ! src/java.desktop/share/classes/javax/print/attribute/standard/NumberUpSupported.java ! src/java.desktop/share/classes/javax/print/attribute/standard/OrientationRequested.java ! src/java.desktop/share/classes/javax/print/attribute/standard/OutputDeviceAssigned.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PDLOverrideSupported.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PageRanges.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PagesPerMinute.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PagesPerMinuteColor.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PresentationDirection.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PrintQuality.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PrinterInfo.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PrinterIsAcceptingJobs.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PrinterLocation.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PrinterMakeAndModel.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PrinterMessageFromOperator.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PrinterMoreInfo.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PrinterName.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PrinterResolution.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PrinterState.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PrinterStateReason.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PrinterStateReasons.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PrinterURI.java ! src/java.desktop/share/classes/javax/print/attribute/standard/QueuedJobCount.java ! src/java.desktop/share/classes/javax/print/attribute/standard/ReferenceUriSchemesSupported.java ! src/java.desktop/share/classes/javax/print/attribute/standard/RequestingUserName.java ! src/java.desktop/share/classes/javax/print/attribute/standard/Severity.java ! src/java.desktop/share/classes/javax/print/attribute/standard/SheetCollate.java ! src/java.desktop/share/classes/javax/print/attribute/standard/Sides.java ! src/java.desktop/share/classes/javax/print/event/PrintEvent.java ! src/java.desktop/share/classes/javax/print/event/PrintJobAttributeEvent.java ! src/java.desktop/share/classes/javax/print/event/PrintJobEvent.java ! src/java.desktop/share/classes/javax/print/event/PrintServiceAttributeEvent.java ! src/java.desktop/share/classes/javax/sound/midi/InvalidMidiDataException.java ! src/java.desktop/share/classes/javax/sound/midi/MidiUnavailableException.java ! src/java.desktop/share/classes/javax/sound/sampled/AudioPermission.java ! src/java.desktop/share/classes/javax/sound/sampled/LineEvent.java ! src/java.desktop/share/classes/javax/sound/sampled/LineUnavailableException.java ! src/java.desktop/share/classes/javax/sound/sampled/UnsupportedAudioFileException.java ! src/java.desktop/share/classes/javax/swing/AbstractAction.java ! src/java.desktop/share/classes/javax/swing/ActionMap.java ! src/java.desktop/share/classes/javax/swing/ActionPropertyChangeListener.java ! src/java.desktop/share/classes/javax/swing/CellRendererPane.java ! src/java.desktop/share/classes/javax/swing/ImageIcon.java ! src/java.desktop/share/classes/javax/swing/InputMap.java ! src/java.desktop/share/classes/javax/swing/JButton.java ! src/java.desktop/share/classes/javax/swing/JCheckBox.java ! src/java.desktop/share/classes/javax/swing/JCheckBoxMenuItem.java ! src/java.desktop/share/classes/javax/swing/JColorChooser.java ! src/java.desktop/share/classes/javax/swing/JComboBox.java ! src/java.desktop/share/classes/javax/swing/JComponent.java ! src/java.desktop/share/classes/javax/swing/JDesktopPane.java ! src/java.desktop/share/classes/javax/swing/JEditorPane.java ! src/java.desktop/share/classes/javax/swing/JFileChooser.java ! src/java.desktop/share/classes/javax/swing/JFormattedTextField.java ! src/java.desktop/share/classes/javax/swing/JInternalFrame.java ! src/java.desktop/share/classes/javax/swing/JLabel.java ! src/java.desktop/share/classes/javax/swing/JLayer.java ! src/java.desktop/share/classes/javax/swing/JList.java ! src/java.desktop/share/classes/javax/swing/JMenu.java ! src/java.desktop/share/classes/javax/swing/JMenuBar.java ! src/java.desktop/share/classes/javax/swing/JMenuItem.java ! src/java.desktop/share/classes/javax/swing/JOptionPane.java ! src/java.desktop/share/classes/javax/swing/JPanel.java ! src/java.desktop/share/classes/javax/swing/JPasswordField.java ! src/java.desktop/share/classes/javax/swing/JPopupMenu.java ! src/java.desktop/share/classes/javax/swing/JProgressBar.java ! src/java.desktop/share/classes/javax/swing/JRadioButton.java ! src/java.desktop/share/classes/javax/swing/JRadioButtonMenuItem.java ! src/java.desktop/share/classes/javax/swing/JScrollBar.java ! src/java.desktop/share/classes/javax/swing/JScrollPane.java ! src/java.desktop/share/classes/javax/swing/JSeparator.java ! src/java.desktop/share/classes/javax/swing/JSlider.java ! src/java.desktop/share/classes/javax/swing/JSpinner.java ! src/java.desktop/share/classes/javax/swing/JSplitPane.java ! src/java.desktop/share/classes/javax/swing/JTabbedPane.java ! src/java.desktop/share/classes/javax/swing/JTable.java ! src/java.desktop/share/classes/javax/swing/JTextArea.java ! src/java.desktop/share/classes/javax/swing/JTextField.java ! src/java.desktop/share/classes/javax/swing/JTextPane.java ! src/java.desktop/share/classes/javax/swing/JToggleButton.java ! src/java.desktop/share/classes/javax/swing/JToolBar.java ! src/java.desktop/share/classes/javax/swing/JToolTip.java ! src/java.desktop/share/classes/javax/swing/JTree.java ! src/java.desktop/share/classes/javax/swing/KeyStroke.java ! src/java.desktop/share/classes/javax/swing/LayoutFocusTraversalPolicy.java ! src/java.desktop/share/classes/javax/swing/LegacyGlueFocusTraversalPolicy.java ! src/java.desktop/share/classes/javax/swing/Timer.java ! src/java.desktop/share/classes/javax/swing/event/EventListenerList.java ! src/java.desktop/share/classes/javax/swing/event/SwingPropertyChangeSupport.java ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java ! src/java.desktop/share/classes/javax/swing/table/JTableHeader.java ! src/java.desktop/share/classes/javax/swing/text/AbstractDocument.java ! src/java.desktop/share/classes/javax/swing/text/DefaultCaret.java ! src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java ! src/java.desktop/share/classes/javax/swing/text/GapContent.java ! src/java.desktop/share/classes/javax/swing/text/InternationalFormatter.java ! src/java.desktop/share/classes/javax/swing/text/JTextComponent.java ! src/java.desktop/share/classes/javax/swing/text/MaskFormatter.java ! src/java.desktop/share/classes/javax/swing/text/SimpleAttributeSet.java ! src/java.desktop/share/classes/javax/swing/text/StyleContext.java ! src/java.desktop/share/classes/javax/swing/text/html/CSS.java ! src/java.desktop/share/classes/javax/swing/text/html/HTML.java ! src/java.desktop/share/classes/javax/swing/text/html/parser/ParserDelegator.java ! src/java.desktop/share/classes/javax/swing/tree/DefaultMutableTreeNode.java ! src/java.desktop/share/classes/javax/swing/tree/DefaultTreeModel.java ! src/java.desktop/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java ! src/java.desktop/share/classes/sun/awt/CausedFocusEvent.java ! src/java.desktop/share/classes/sun/awt/EmbeddedFrame.java ! src/java.desktop/share/classes/sun/awt/im/CompositionArea.java ! src/java.desktop/share/classes/sun/awt/im/InputMethodJFrame.java ! src/java.desktop/share/classes/sun/awt/im/SimpleInputMethodWindow.java ! src/java.desktop/share/classes/sun/awt/shell/DefaultShellFolder.java ! src/java.desktop/share/classes/sun/awt/shell/ShellFolder.java ! src/java.desktop/share/classes/sun/font/FontDesignMetrics.java ! src/java.desktop/share/classes/sun/print/CustomMediaSizeName.java ! src/java.desktop/share/classes/sun/print/CustomMediaTray.java ! src/java.desktop/share/classes/sun/print/PrinterJobWrapper.java ! src/java.desktop/share/classes/sun/print/SunAlternateMedia.java ! src/java.desktop/share/classes/sun/swing/PrintColorUIResource.java ! src/java.desktop/unix/classes/sun/awt/X11/XMouseDragGestureRecognizer.java ! src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolder2.java ! src/java.desktop/windows/classes/sun/awt/windows/WMouseDragGestureRecognizer.java Changeset: e3b548a6 Author: Yasumasa Suenaga Date: 2021-01-15 01:58:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e3b548a6 8257736: InputStream from BodyPublishers.ofInputStream() leaks when IOE happens Reviewed-by: dfuchs, chegar ! src/java.net.http/share/classes/jdk/internal/net/http/RequestPublishers.java + test/jdk/java/net/httpclient/StreamCloseTest.java Changeset: 90960c5f Author: Yasumasa Suenaga Date: 2021-01-15 02:47:30 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/90960c5f 8252657: JVMTI agent is not unloaded when Agent_OnAttach is failed Reviewed-by: dholmes, sspitsyn ! src/hotspot/share/prims/jvmti.xml ! src/hotspot/share/prims/jvmtiExport.cpp ! test/hotspot/jtreg/serviceability/dcmd/jvmti/AttachFailed/AttachReturnError.java Changeset: 0148adf2 Author: Vladimir Ivanov Date: 2021-01-14 17:18:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0148adf2 8255120: C2: assert(outer->outcnt() >= phis + 2 && outer->outcnt() <= phis + 2 + stores + 1) failed: only phis Reviewed-by: thartmann ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/loopnode.hpp ! test/hotspot/jtreg/ProblemList.txt Changeset: 4307fa68 Author: Erik Gahlin Date: 2021-01-14 21:26:13 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4307fa68 8253505: JFR: onFlush invoked out of order with a sorted event stream Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingFile.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/AbstractEventStream.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ChunkParser.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/Dispatcher.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/EventDirectoryStream.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/EventFileStream.java Changeset: d701babb Author: Jesper Wilhelmsson Date: 2021-01-15 03:10:55 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d701babb Merge ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/AbstractEventStream.java ! test/hotspot/jtreg/ProblemList.txt ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/AbstractEventStream.java ! test/hotspot/jtreg/ProblemList.txt Changeset: 2c8e337d Author: Tagir F. Valeev Date: 2021-01-15 04:11:31 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2c8e337d 8259622: TreeMap.computeIfAbsent deviates from spec Reviewed-by: smarks ! src/java.base/share/classes/java/util/TreeMap.java ! test/jdk/java/util/Map/InPlaceOpsCollisions.java Changeset: 6d4a593f Author: Richard Reingruber Date: 2021-01-15 07:39:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6d4a593f 8259627: Potential memory leaks in JVMTI after JDK-8227745 Reviewed-by: shade, stuefe, dholmes, sspitsyn ! src/hotspot/share/prims/jvmtiEnv.cpp Changeset: b01a15e4 Author: K Suman Rajkumaar <70650887+skodanda at users.noreply.github.com> Committer: Alexey Ivanov Date: 2021-01-15 09:40:31 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b01a15e4 8258884: [TEST_BUG] Convert applet-based test open/test/jdk/javax/swing/JMenuItem/8031573/bug8031573.java to a regular java test Reviewed-by: aivanov, serb - test/jdk/javax/swing/JMenuItem/8031573/bug8031573.html ! test/jdk/javax/swing/JMenuItem/8031573/bug8031573.java Changeset: 0ec2c969 Author: Jan Lahoda Date: 2021-01-15 12:45:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0ec2c969 8259820: JShell does not handle -source 8 properly Reviewed-by: sundar ! src/jdk.jshell/share/classes/jdk/jshell/TaskFactory.java + test/langtools/jdk/jshell/SourceLevelTest.java Changeset: 707bce08 Author: Conor Cleary Committer: Chris Hegarty Date: 2021-01-15 14:06:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/707bce08 8257212: (bf spec) Clarify byte order of the buffer returned by CharBuffer.subsequence(int,int) Reviewed-by: chegar, bpb, alanb ! src/java.base/share/classes/java/nio/X-Buffer.java.template ! test/jdk/java/nio/Buffer/Order-X.java.template ! test/jdk/java/nio/Buffer/OrderChar.java ! test/jdk/java/nio/Buffer/OrderDouble.java ! test/jdk/java/nio/Buffer/OrderFloat.java ! test/jdk/java/nio/Buffer/OrderInt.java ! test/jdk/java/nio/Buffer/OrderLong.java ! test/jdk/java/nio/Buffer/OrderShort.java Changeset: bbac91a4 Author: Thomas Stuefe Date: 2021-01-15 14:51:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bbac91a4 8257959: Add gtest run with -XX:+UseLargePages Reviewed-by: lfoltan, tschatzl ! test/hotspot/jtreg/TEST.groups + test/hotspot/jtreg/gtest/LargePageGtests.java Changeset: bcf20a0d Author: Jatin Bhateja Date: 2021-01-15 15:03:04 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bcf20a0d 8259777: Incorrect predication condition generated by ADLC Reviewed-by: vlivanov ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/adlc/formssel.hpp Changeset: eb7fa006 Author: liach Committer: Hannes Walln?fer Date: 2021-01-15 15:12:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/eb7fa006 8259216: javadoc omits method receiver for any nested type annotation Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! test/langtools/jdk/javadoc/doclet/testTypeAnnotations/TestTypeAnnotations.java Changeset: b78cd633 Author: Daniel D. Daugherty Date: 2021-01-15 16:53:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b78cd633 8259846: [BACKOUT] JDK-8259278 Optimize Vector API slice and unslice operations Reviewed-by: vlivanov, psandoz ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template Changeset: 360c7226 Author: Phil Race Date: 2021-01-15 17:02:05 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/360c7226 8259729: Missed JNFInstanceOf -> IsInstanceOf conversion Reviewed-by: serb, psadhukhan, kizune ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m Changeset: 5855d52a Author: Phil Race Date: 2021-01-15 17:04:53 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5855d52a 8259651: [macOS] Replace JNF_COCOA_ENTER/EXIT macros Reviewed-by: serb ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTEvent.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTSurfaceLayers.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/ApplicationDelegate.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CClipboard.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CCursorManager.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDataTransferer.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDesktopPeer.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDragSource.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDragSourceContextPeer.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDropTarget.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDropTargetContextPeer.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CFRetainedResource.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CFileDialog.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsDevice.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsEnv.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CImage.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CInputMethod.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CMenu.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuBar.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuItem.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CPopupMenu.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CPrinterJob.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CRobot.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CSystemColors.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CTextPipe.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CWrapper.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/ImageSurfaceData.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/LWCToolkit.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/PrintModel.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/PrinterSurfaceData.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/QuartzRenderer.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/QuartzSurfaceData.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/QuartzSurfaceData.m ! src/java.desktop/macosx/native/libawt_lwawt/font/AWTFont.m ! src/java.desktop/macosx/native/libawt_lwawt/font/AWTStrike.m ! src/java.desktop/macosx/native/libawt_lwawt/font/CCharToGlyphMapper.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLGraphicsConfig.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLLayer.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLSurfaceData.m ! src/java.desktop/macosx/native/libosx/CFileManager.m ! src/java.desktop/macosx/native/libosxapp/JNIUtilities.h ! src/java.desktop/macosx/native/libosxui/AquaFileView.m ! src/java.desktop/macosx/native/libosxui/AquaNativeResources.m ! src/java.desktop/macosx/native/libosxui/ScreenMenu.m Changeset: 27a39c8d Author: Sergey Tsypanov Committer: Peter Levart Date: 2021-01-15 17:38:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/27a39c8d 8193031: Collections.addAll is likely to perform worse than Collection.addAll Reviewed-by: plevart ! src/java.base/share/classes/java/util/Collections.java Changeset: 9aa5672a Author: Coleen Phillimore Date: 2021-01-15 17:47:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9aa5672a 8259068: Streamline class loader locking Reviewed-by: dcubed, iklam ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp Changeset: fe84ecd5 Author: Kiran Sidhartha Ravikumar Date: 2021-01-15 19:14:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fe84ecd5 8259048: (tz) Upgrade time-zone data to tzdata2020f Reviewed-by: naoto, erikj ! make/data/tzdata/VERSION ! make/data/tzdata/africa ! make/data/tzdata/asia ! make/data/tzdata/australasia ! make/data/tzdata/backward ! make/data/tzdata/etcetera ! make/data/tzdata/europe ! make/data/tzdata/leapseconds ! make/data/tzdata/northamerica ! make/data/tzdata/zone.tab Changeset: d7d34dd9 Author: Leonid Mesnik Date: 2021-01-15 19:33:23 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d7d34dd9 8259799: vmTestbase/nsk/jvmti/Breakpoint/breakpoint001 is incorrect Reviewed-by: iignatyev, sspitsyn, cjplummer ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/Breakpoint/breakpoint001/breakpoint001.cpp Changeset: d63388c0 Author: Alex Menkov Date: 2021-01-15 22:40:47 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d63388c0 8259266: com/sun/jdi/JdbOptions.java failed with "RuntimeException: 'prop[boo] = >foo 2<' missing from stdout/stderr" Reviewed-by: cjplummer, sspitsyn ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/VMConnection.java Changeset: e85892bf Author: Jaroslav Bachorik Date: 2021-01-15 15:12:03 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e85892bf 8258396: SIGILL in jdk.jfr.internal.PlatformRecorder.rotateDisk() Reviewed-by: egahlin Backport-of: a06cea50a5ea04fb0399d7ea3f6a2a20d9b4d254 ! src/hotspot/share/jfr/recorder/storage/jfrStorage.cpp Changeset: 536082db Author: Jesper Wilhelmsson Date: 2021-01-16 02:46:13 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/536082db Merge Changeset: 90c73d05 Author: Thomas Stuefe Date: 2021-01-16 05:17:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/90c73d05 8259569: gtest os.dll_address_to_function_and_library_name_vm fails Reviewed-by: dcubed ! test/hotspot/gtest/runtime/test_os.cpp Changeset: bbb93ca3 Author: Pankaj Bansal Date: 2021-01-16 07:52:04 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bbb93ca3 8256126: Create implementation for NSAccessibilityImage protocol peer Reviewed-by: kizune, serb ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m = src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ImageAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ImageAccessibility.m Changeset: afd3f78a Author: Sebastian Stenzel Committer: Alan Bateman Date: 2021-01-16 08:36:05 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/afd3f78a 8030048: (fs) Support UserDefinedFileAttributeView/extended attributes on OS X / HFS+ Reviewed-by: alanb ! src/java.base/macosx/classes/sun/nio/fs/BsdFileStore.java ! src/java.base/macosx/classes/sun/nio/fs/BsdFileSystem.java ! src/java.base/macosx/classes/sun/nio/fs/BsdFileSystemProvider.java ! src/java.base/macosx/classes/sun/nio/fs/BsdNativeDispatcher.java = src/java.base/macosx/classes/sun/nio/fs/BsdUserDefinedFileAttributeView.java ! src/java.base/macosx/native/libnio/fs/BsdNativeDispatcher.c ! src/java.base/unix/classes/sun/nio/fs/UnixConstants.java.template Changeset: 6d6a23e3 Author: Andy Herrick Date: 2021-01-16 14:37:19 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6d6a23e3 8259062: Remove MacAppStoreBundler Reviewed-by: asemenyuk, almatvee, kizune - src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppStoreBundler.java ! src/jdk.jpackage/macosx/classes/module-info.java.extra Changeset: c3bdbf9d Author: Andy Herrick Date: 2021-01-16 14:38:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c3bdbf9d 8259238: Clean up Log.java and remove usage of non-final static variables. Reviewed-by: asemenyuk, almatvee, kizune ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/Arguments.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/Log.java ! src/jdk.jpackage/share/classes/jdk/jpackage/main/Main.java Changeset: da4cf05d Author: Andy Herrick Date: 2021-01-16 14:38:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/da4cf05d 8258755: jpackage: Invalid 32-bit exe when building app-image Reviewed-by: asemenyuk, almatvee, kizune ! src/jdk.jpackage/share/native/applauncher/JvmLauncher.cpp ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WixPipeline.java ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WixSourcesBuilder.java Changeset: 5f2e280c Author: Alan Bateman Date: 2021-01-17 18:13:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5f2e280c 8259865: (fs) test/jdk/java/nio/file/attribute/UserDefinedFileAttributeView/Basic.java failing on macOS 10.13 Reviewed-by: dcubed ! src/java.base/macosx/classes/sun/nio/fs/BsdFileStore.java Changeset: 5dc5d940 Author: Alexander Zuev Date: 2021-01-17 20:39:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5dc5d940 8256110: Create implementation for NSAccessibilityStepper protocol Reviewed-by: pbansal, serb ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ButtonAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/SpinboxAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/SpinboxAccessibility.m Changeset: 68cf65d2 Author: Valerie Peng Date: 2021-01-18 02:26:17 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/68cf65d2 8023980: JCE doesn't provide any class to handle RSA private key in PKCS#1 Reviewed-by: weijun ! src/java.base/share/classes/sun/security/rsa/RSAKeyFactory.java ! src/java.base/share/classes/sun/security/rsa/RSAPrivateCrtKeyImpl.java ! src/java.base/share/classes/sun/security/rsa/RSAPublicKeyImpl.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java ! test/jdk/sun/security/pkcs11/rsa/TestKeyFactory.java ! test/jdk/sun/security/rsa/TestKeyFactory.java Changeset: 3f19ef63 Author: Prasanta Sadhukhan Date: 2021-01-18 07:20:12 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3f19ef63 8202880: Test javax/swing/JPopupMenu/8075063/ContextMenuScrollTest.java fails Reviewed-by: aivanov ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JPopupMenu/8075063/ContextMenuScrollTest.java Changeset: 917f7e9a Author: Alexander Zuev Date: 2021-01-18 08:23:55 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/917f7e9a 8259650: javax/swing/JComponent/7154030/bug7154030.java still fails with "Exception: Failed to hide opaque button" Reviewed-by: jdv ! test/jdk/javax/swing/JComponent/7154030/bug7154030.java Changeset: e93f08e2 Author: Albert Mingkun Yang Committer: Thomas Schatzl Date: 2021-01-18 08:33:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e93f08e2 8074101: Add verification that all tasks are actually claimed during roots processing Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/g1RootProcessor.cpp ! src/hotspot/share/gc/g1/g1RootProcessor.hpp ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.hpp ! src/hotspot/share/gc/shared/workgroup.cpp ! src/hotspot/share/gc/shared/workgroup.hpp ! src/hotspot/share/runtime/safepoint.cpp Changeset: ff275b37 Author: Aleksey Shipilev Date: 2021-01-18 10:28:14 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ff275b37 8259403: Zero: crash with NULL MethodHandle receiver Reviewed-by: coleenp ! src/hotspot/cpu/zero/methodHandles_zero.cpp ! src/hotspot/cpu/zero/methodHandles_zero.hpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/interpreterRuntime.hpp Changeset: 61292be7 Author: Laurent Bourg?s Date: 2021-01-18 11:34:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/61292be7 8259681: Remove the Marlin rendering engine (single-precision) Reviewed-by: serb ! src/java.desktop/share/classes/sun/java2d/marlin/CollinearSimplifier.java ! src/java.desktop/share/classes/sun/java2d/marlin/Curve.java - src/java.desktop/share/classes/sun/java2d/marlin/DCollinearSimplifier.java - src/java.desktop/share/classes/sun/java2d/marlin/DCurve.java - src/java.desktop/share/classes/sun/java2d/marlin/DDasher.java - src/java.desktop/share/classes/sun/java2d/marlin/DHelpers.java ! src/java.desktop/share/classes/sun/java2d/marlin/DMarlinRenderingEngine.java - src/java.desktop/share/classes/sun/java2d/marlin/DPathSimplifier.java - src/java.desktop/share/classes/sun/java2d/marlin/DRenderer.java - src/java.desktop/share/classes/sun/java2d/marlin/DRendererContext.java - src/java.desktop/share/classes/sun/java2d/marlin/DStroker.java - src/java.desktop/share/classes/sun/java2d/marlin/DTransformingPathConsumer2D.java ! src/java.desktop/share/classes/sun/java2d/marlin/Dasher.java - src/java.desktop/share/classes/sun/java2d/marlin/FloatArrayCache.java ! src/java.desktop/share/classes/sun/java2d/marlin/Helpers.java - src/java.desktop/share/classes/sun/java2d/marlin/IRendererContext.java ! src/java.desktop/share/classes/sun/java2d/marlin/MarlinCache.java - src/java.desktop/share/classes/sun/java2d/marlin/MarlinRenderer.java - src/java.desktop/share/classes/sun/java2d/marlin/MarlinRenderingEngine.java ! src/java.desktop/share/classes/sun/java2d/marlin/MarlinTileGenerator.java ! src/java.desktop/share/classes/sun/java2d/marlin/PathSimplifier.java ! src/java.desktop/share/classes/sun/java2d/marlin/Renderer.java ! src/java.desktop/share/classes/sun/java2d/marlin/RendererContext.java ! src/java.desktop/share/classes/sun/java2d/marlin/Stroker.java ! src/java.desktop/share/classes/sun/java2d/marlin/TransformingPathConsumer2D.java ! src/java.desktop/share/classes/sun/java2d/marlin/Version.java ! test/jdk/sun/java2d/marlin/ClipShapeTest.java ! test/jdk/sun/java2d/marlin/StrokedLinePerf.java Changeset: db9c114d Author: Jaikiran Pai Date: 2021-01-18 11:53:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/db9c114d 7146776: deadlock between URLStreamHandler.getHostAddress and file.Handler.openconnection Reviewed-by: alanb, chegar ! src/java.base/share/classes/java/net/URL.java ! src/java.base/share/classes/java/net/URLStreamHandler.java Changeset: e60c9926 Author: Roman Kennke Date: 2021-01-18 15:29:54 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e60c9926 8259849: Shenandoah: Rename store-val to IU-barrier Reviewed-by: zgu, shade ! src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahIUMode.cpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahPassiveMode.cpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahSATBMode.cpp ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! src/hotspot/share/opto/classes.hpp ! test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java ! test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierDisable.java ! test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierEnable.java Changeset: 061ffc47 Author: Markus Gr?nlund Date: 2021-01-18 16:14:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/061ffc47 8249245: assert(((((JfrTraceIdBits::load(klass)) & ((JfrTraceIdEpoch::this_epoch_method_and_class_bits()))) != 0))) failed: invariant Reviewed-by: egahlin ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdLoadBarrier.inline.hpp Changeset: 6b4732fe Author: Aleksey Shipilev Date: 2021-01-18 18:42:05 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6b4732fe 8259679: GitHub actions should use MSVC 14.28 Reviewed-by: ihse, redestad ! .github/workflows/submit.yml Changeset: 533a2d39 Author: Xin Liu Committer: Vladimir Kozlov Date: 2021-01-18 22:34:05 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/533a2d39 8258961: move some fields of SafePointNode from public to protected Reviewed-by: thartmann, kvn ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/generateOptoStub.cpp ! src/hotspot/share/opto/parse1.cpp Changeset: 492bebc7 Author: Ioi Lam Date: 2021-01-19 04:32:51 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/492bebc7 8258004: Remove unnecessary inclusion of vm_version.hpp Reviewed-by: dholmes, stefank ! src/hotspot/cpu/ppc/assembler_ppc.inline.hpp ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp ! src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp ! src/hotspot/cpu/ppc/c2_MacroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/c2_init_ppc.cpp ! src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.inline.hpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c2_init_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp ! src/hotspot/share/asm/assembler.hpp ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_LIR.cpp ! src/hotspot/share/c1/c1_LIRAssembler.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp ! src/hotspot/share/jfr/periodic/jfrOSInterface.cpp ! src/hotspot/share/jfr/periodic/jfrPeriodic.cpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/services/diagnosticCommand.cpp Changeset: d5ca3b3f Author: Roland Westrelin Date: 2021-01-18 07:54:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d5ca3b3f 8259641: C2: assert(early->dominates(LCA)) failed: early is high enough Reviewed-by: chagedorn, thartmann ! src/hotspot/share/opto/loopnode.cpp + test/hotspot/jtreg/compiler/loopopts/TestBrokenAntiDependenceWithPhi.java Changeset: cd25bf2e Author: Markus Gr?nlund Date: 2021-01-18 10:22:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/cd25bf2e 8259574: SIGSEGV in BFSClosure::closure_impl Reviewed-by: stefank, egahlin ! src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.cpp ! src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.cpp ! src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.cpp Changeset: bb0821eb Author: Alexander Zuev Date: 2021-01-18 22:12:06 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bb0821eb 8258643: [TESTBUG] javax/swing/JComponent/7154030/bug7154030.java failed with "Exception: Failed to hide opaque button" Reviewed-by: trebari, psadhukhan ! test/jdk/javax/swing/JComponent/7154030/bug7154030.java Changeset: a1a851b6 Author: Jesper Wilhelmsson Date: 2021-01-19 05:43:27 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a1a851b6 Merge ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.cpp Changeset: 14ce8f1a Author: Ioi Lam Date: 2021-01-19 06:44:54 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/14ce8f1a 8259870: zBarrier.inline.hpp should not include javaClasses.hpp Reviewed-by: stefank, tschatzl ! src/hotspot/share/gc/z/zBarrier.cpp ! src/hotspot/share/gc/z/zBarrier.hpp ! src/hotspot/share/gc/z/zBarrier.inline.hpp Changeset: dfee7b8a Author: Sergey Bylokhov Date: 2021-01-19 07:16:02 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/dfee7b8a 8259511: java/awt/Window/MainKeyWindowTest/TestMainKeyWindow.java failed with "RuntimeException: Test failed: 20 failure(s)" Reviewed-by: jdv ! test/jdk/java/awt/Window/MainKeyWindowTest/TestMainKeyWindow.java ! test/jdk/java/awt/Window/MainKeyWindowTest/libTestMainKeyWindow.c Changeset: bd81ccfd Author: Jie Fu Date: 2021-01-19 07:43:53 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bd81ccfd 8259957: Build failure without C1 Compiler after JDK-8258004 Reviewed-by: dholmes, shade ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: 139f5d33 Author: Yasumasa Suenaga Date: 2021-01-19 08:57:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/139f5d33 8259035: Comments for load order of hsdis should be updated Reviewed-by: thartmann ! src/hotspot/share/compiler/disassembler.cpp Changeset: a9519c83 Author: Aleksey Shipilev Date: 2021-01-19 09:38:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a9519c83 8259924: GitHub actions fail on Linux x86_32 with "Could not configure libc6:i386" Reviewed-by: dholmes ! .github/workflows/submit.yml Changeset: 82adfb32 Author: Harold Seigel Date: 2021-01-19 13:44:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/82adfb32 8134540: Much nearly duplicated code for PerfMemory support Reviewed-by: coleenp, dholmes ! src/hotspot/os/aix/os_aix.inline.hpp - src/hotspot/os/aix/perfMemory_aix.cpp ! src/hotspot/os/bsd/os_bsd.inline.hpp - src/hotspot/os/bsd/perfMemory_bsd.cpp ! 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.inline.hpp = src/hotspot/os/posix/perfMemory_posix.cpp Changeset: c0e9c446 Author: Aleksey Shipilev Date: 2021-01-19 14:39:04 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c0e9c446 8259962: Shenandoah: task queue statistics is inconsistent after JDK-8255019 Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp Changeset: 5cfb36e7 Author: Markus Gr?nlund Date: 2021-01-19 15:27:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5cfb36e7 8259036: Failed JfrVersionSystem invariant when VM built with -fno-elide-constructors Reviewed-by: egahlin ! src/hotspot/share/jfr/utilities/jfrConcurrentLinkedListHost.inline.hpp ! src/hotspot/share/jfr/utilities/jfrConcurrentQueue.inline.hpp ! src/hotspot/share/jfr/utilities/jfrRefCountPointer.hpp ! src/hotspot/share/jfr/utilities/jfrVersionSystem.hpp ! src/hotspot/share/jfr/utilities/jfrVersionSystem.inline.hpp Changeset: 5d8861b0 Author: Markus Gr?nlund Date: 2021-01-19 16:56:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5d8861b0 8259995: Missing comma to separate years in copyright header Reviewed-by: egahlin ! src/hotspot/share/jfr/utilities/jfrConcurrentLinkedListHost.inline.hpp ! src/hotspot/share/jfr/utilities/jfrVersionSystem.hpp ! src/hotspot/share/jfr/utilities/jfrVersionSystem.inline.hpp Changeset: 3edf393d Author: Aleksey Shipilev Date: 2021-01-19 18:33:18 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3edf393d 8259978: PPC64 builds broken after JDK-8258004 Reviewed-by: lucy, iklam ! src/hotspot/cpu/ppc/nativeInst_ppc.hpp ! src/hotspot/share/oops/method.cpp Changeset: 33dcc00c Author: Kim Barrett Date: 2021-01-19 19:14:30 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/33dcc00c 8132984: incorrect type for Reference.discovered Use unbounded wildcard placeholders, plus a new helper to get back to the Reference domain. Reviewed-by: rkennke, plevart, rriggs, mchung ! src/java.base/share/classes/java/lang/ref/Reference.java Changeset: a37cd5a3 Author: Zhengyu Gu Date: 2021-01-19 20:01:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a37cd5a3 8259859: Missing metaspace NMT memory tag Reviewed-by: iklam ! src/hotspot/share/memory/metaspace/virtualSpaceNode.cpp Changeset: f7b96d34 Author: Martin Buchholz Date: 2021-01-19 18:41:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f7b96d34 8259796: timed CompletableFuture.get may swallow InterruptedException Reviewed-by: dl, alanb ! src/java.base/share/classes/java/util/concurrent/CompletableFuture.java ! test/jdk/java/util/concurrent/CompletableFuture/SwallowedInterruptedException.java Changeset: cf25383d Author: Jesper Wilhelmsson Date: 2021-01-19 22:49:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/cf25383d Merge ! src/java.base/share/classes/java/util/concurrent/CompletableFuture.java ! src/java.base/share/classes/java/util/concurrent/CompletableFuture.java Changeset: 9f21bb6a Author: Matthias Baesken Date: 2021-01-20 07:49:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9f21bb6a 8259983: do not use uninitialized expand_ms value in G1CollectedHeap::expand_heap_after_young_collection Reviewed-by: kbarrett, lucy ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp Changeset: 7c32ffea Author: Tobias Hartmann Date: 2021-01-20 11:48:27 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7c32ffea 8258383: vmTestbase/gc/g1/unloading/tests/unloading_compilation_level[1,2,3] time out without TieredCompilation Reviewed-by: kvn ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/loading/ClassLoadingHelper.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level1_inMemoryCompilation_keep_cl/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level1_inMemoryCompilation_keep_class/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level1_inMemoryCompilation_keep_obj/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level1_keep_cl/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level1_keep_class/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level1_keep_obj/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level2_inMemoryCompilation_keep_cl/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level2_inMemoryCompilation_keep_class/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level2_inMemoryCompilation_keep_obj/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level2_keep_cl/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level2_keep_class/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level2_keep_obj/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level3_inMemoryCompilation_keep_cl/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level3_inMemoryCompilation_keep_class/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level3_inMemoryCompilation_keep_obj/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level3_keep_cl/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level3_keep_class/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level3_keep_obj/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level4_inMemoryCompilation_keep_cl/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level4_inMemoryCompilation_keep_class/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level4_inMemoryCompilation_keep_obj/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level4_keep_cl/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level4_keep_class/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_compilation_level4_keep_obj/TestDescription.java Changeset: 05294802 Author: Eirik Bjorsnos Committer: Claes Redestad Date: 2021-01-20 12:02:39 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/05294802 8259867: Move encoding checks into ZipCoder Reviewed-by: redestad, lancea ! src/java.base/share/classes/java/util/zip/ZipCoder.java ! src/java.base/share/classes/java/util/zip/ZipFile.java Changeset: 0b01d692 Author: Zhengyu Gu Date: 2021-01-20 13:11:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0b01d692 8260005: Shenandoah: Remove unused AlwaysTrueClosure in ShenandoahConcurrentRootScanner::roots_do() Reviewed-by: shade, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp Changeset: 70b5b311 Author: Stanimir Stamenkov Committer: Alexey Ivanov Date: 2021-01-20 13:34:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/70b5b311 8257664: HTMLEditorKit: Wrong CSS relative font sizes Reviewed-by: aivanov, psadhukhan ! src/java.desktop/share/classes/javax/swing/text/html/StyleSheet.java + test/jdk/javax/swing/text/html/StyleSheet/TestWrongCSSFontSize.java Changeset: 52ed2aab Author: Matthias Baesken Date: 2021-01-20 15:04:28 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/52ed2aab 8259786: initialize last parameter of getpwuid_r Reviewed-by: mdoerr, hseigel ! src/hotspot/os/posix/perfMemory_posix.cpp ! src/jdk.security.auth/unix/native/libjaas/Unix.c Changeset: 69f90b5f Author: Matthias Baesken Date: 2021-01-20 15:08:02 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/69f90b5f 8259843: initialize dli_fname array before calling dll_address_to_library_name Reviewed-by: lucy, dholmes ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/share/prims/nativeLookup.cpp ! src/hotspot/share/runtime/frame.cpp Changeset: 5891509d Author: Claes Redestad Date: 2021-01-20 15:14:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5891509d 8259947: (fs) Optimize UnixPath.encode implementation Reviewed-by: chegar, shade, alanb ! src/java.base/macosx/classes/sun/nio/fs/BsdNativeDispatcher.java ! src/java.base/macosx/classes/sun/nio/fs/MacOSXFileSystem.java ! src/java.base/macosx/classes/sun/nio/fs/MacOSXNativeDispatcher.java ! src/java.base/unix/classes/sun/nio/fs/UnixFileSystem.java ! src/java.base/unix/classes/sun/nio/fs/UnixPath.java ! test/micro/org/openjdk/bench/java/io/FileOpen.java Changeset: 07851474 Author: Andrew John Hughes Date: 2021-01-20 16:13:42 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/07851474 8259949: x86 32-bit build fails when -fcf-protection is passed in the compiler flags Use -march=i686 instead of -march=i586 if -fcf-protection is passed to the build as CMOV is required Reviewed-by: erikj ! make/autoconf/flags-cflags.m4 Changeset: 4f11ff32 Author: Zhengyu Gu Date: 2021-01-20 21:41:15 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4f11ff32 8259488: Shenandoah: Missing timing tracking for STW CLD root processing Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp Changeset: 8b95d954 Author: Hai-May Chao Committer: Sean Mullan Date: 2021-01-20 22:23:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8b95d954 8256895: Add support for RFC 8954: Online Certificate Status Protocol (OCSP) Nonce Extension Reviewed-by: jnimeh, mullan ! src/java.base/share/classes/sun/security/provider/certpath/OCSPNonceExtension.java ! src/java.base/share/classes/sun/security/provider/certpath/RevocationChecker.java ! test/jdk/security/infra/java/security/cert/CertPathValidator/certification/LuxTrustCA.java ! test/jdk/security/infra/java/security/cert/CertPathValidator/certification/SSLCA.java ! test/jdk/sun/security/provider/certpath/Extensions/OCSPNonceExtensionTests.java Changeset: 1f47de5f Author: Claes Redestad Date: 2021-01-20 23:42:29 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1f47de5f 8260010: UTF8ZipCoder not thread-safe since JDK-8243469 Reviewed-by: lancea ! src/java.base/share/classes/java/util/zip/ZipCoder.java Changeset: 27cc62a5 Author: Claes Redestad Date: 2021-01-20 23:42:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/27cc62a5 8259911: byteArrayViewVarHandle should throw ArrayIndexOutOfBoundsException Reviewed-by: jvernee, mchung ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/invoke/X-VarHandleByteArrayView.java.template ! test/jdk/java/lang/invoke/VarHandles/VarHandleBaseTest.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessBoolean.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessByte.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessChar.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessDouble.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessFloat.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessInt.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessLong.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessShort.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessString.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsChar.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsDouble.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsFloat.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsInt.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsLong.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsShort.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessBoolean.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessByte.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessChar.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessDouble.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessFloat.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessInt.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessLong.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessShort.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessString.java ! test/jdk/java/lang/invoke/VarHandles/X-VarHandleTestAccess.java.template ! test/jdk/java/lang/invoke/VarHandles/X-VarHandleTestByteArrayView.java.template ! test/jdk/java/lang/invoke/VarHandles/X-VarHandleTestMethodHandleAccess.java.template Changeset: 35c9da70 Author: Claes Redestad Date: 2021-01-20 23:45:55 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/35c9da70 8259498: Reduce overhead of MD5 and SHA digests Reviewed-by: valeriep ! src/java.base/share/classes/sun/security/provider/ByteArrayAccess.java ! src/java.base/share/classes/sun/security/provider/MD4.java ! src/java.base/share/classes/sun/security/provider/MD5.java ! src/java.base/share/classes/sun/security/provider/SHA.java ! src/java.base/share/classes/sun/security/provider/SHA2.java ! src/java.base/share/classes/sun/security/provider/SHA5.java ! test/micro/org/openjdk/bench/java/security/MessageDigests.java ! test/micro/org/openjdk/bench/java/util/UUIDBench.java Changeset: 77a43023 Author: David Holmes Date: 2021-01-21 02:41:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/77a43023 8223056: Remove Type-Stable-Memory support for Parkers Reviewed-by: coleenp, rehn ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/posix/os_posix.hpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os/windows/os_windows.hpp ! src/hotspot/share/prims/unsafe.cpp ! src/hotspot/share/runtime/park.cpp ! src/hotspot/share/runtime/park.hpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp Changeset: 044bae0e Author: Ioi Lam Date: 2021-01-21 03:54:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/044bae0e 8260191: Do not include access.hpp in oop.hpp Reviewed-by: kbarrett ! src/hotspot/share/gc/z/zBarrierSetRuntime.cpp ! src/hotspot/share/oops/oop.hpp Changeset: 01205109 Author: Leo Jiang Date: 2021-01-20 13:58:49 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/01205109 8259732: JDK 16 L10n resource file update - msg drop 10 Reviewed-by: naoto ! src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_ja.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_zh_CN.properties ! src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap_ja.properties ! src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap_zh_CN.properties ! src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod_ja.properties ! src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod_zh_CN.properties ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/LinuxResources_ja.properties ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/LinuxResources_zh_CN.properties ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_ja.properties ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_zh_CN.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_ja.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_zh_CN.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_ja.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_zh_CN.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_ja.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_zh_CN.properties ! src/jdk.jshell/share/classes/jdk/jshell/resources/l10n_ja.properties ! src/jdk.jshell/share/classes/jdk/jshell/resources/l10n_zh_CN.properties Changeset: 0408b23b Author: Igor Ignatyev Date: 2021-01-20 18:48:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0408b23b 8259757: add a regression test for 8259353 and 8259601 Co-authored-by: Xiaohong Gong Co-authored-by: Igor Ignatyev Reviewed-by: kvn, jiefu + test/hotspot/jtreg/compiler/vectorapi/Test8259353.java Changeset: 133bcb09 Author: Jesper Wilhelmsson Date: 2021-01-21 05:23:42 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/133bcb09 Merge ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_zh_CN.properties Changeset: f8a9602a Author: Yasumasa Suenaga Date: 2021-01-21 06:08:13 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f8a9602a 8260025: Missing comma in VM_Version_Ext::_family_id_amd Reviewed-by: dholmes, stuefe ! src/hotspot/cpu/x86/vm_version_ext_x86.cpp Changeset: 5940287b Author: Aleksey Shipilev Date: 2021-01-21 07:21:24 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5940287b 8260048: Shenandoah: ShenandoahMarkingContext asserts are unnecessary Reviewed-by: zgu, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp Changeset: 7f7166db Author: Prasanta Sadhukhan Date: 2021-01-21 08:27:39 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7f7166db 8260035: Deproblemlist few problemlisted test Reviewed-by: jdv ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JMenuItem/6249972/bug6249972.java ! test/jdk/javax/swing/JTree/6263446/bug6263446.java ! test/jdk/javax/swing/plaf/basic/Test6984643.java Changeset: 4dfd8cc4 Author: Thomas Stuefe Date: 2021-01-21 10:30:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4dfd8cc4 8259897: gtest os.dll_address_to_function_and_library_name_vm fails on AIX Reviewed-by: mdoerr ! test/hotspot/gtest/runtime/test_os.cpp Changeset: e1de0bf8 Author: Eirik Bjorsnos Committer: Claes Redestad Date: 2021-01-21 10:37:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e1de0bf8 8260043: Reduce allocation in sun.net.www.protocol.jar.Handler.parseURL Reviewed-by: redestad, chegar ! src/java.base/share/classes/sun/net/www/ParseUtil.java ! src/java.base/share/classes/sun/net/www/protocol/jar/Handler.java Changeset: 4bcffeb9 Author: Fei Yang Date: 2021-01-21 11:58:23 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4bcffeb9 8260029: aarch64: fix typo in verify_oop_array Co-authored-by: Zhuxuan Ni Reviewed-by: shade, aph ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp Changeset: 6ce0799b Author: Albert Mingkun Yang Committer: Thomas Schatzl Date: 2021-01-21 12:10:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6ce0799b 8259851: Use boolean type for tasks in SubTasksDone Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/shared/workgroup.cpp ! src/hotspot/share/gc/shared/workgroup.hpp Changeset: c3c66625 Author: Aleksey Shipilev Date: 2021-01-21 13:32:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c3c66625 8259954: gc/shenandoah/mxbeans tests fail with -Xcomp Reviewed-by: rkennke, zgu ! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestChurnNotifications.java ! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java Changeset: 34eb8b34 Author: Zhengyu Gu Date: 2021-01-21 16:55:56 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/34eb8b34 8255765: Shenandoah: Isolate concurrent, degenerated and full GC Reviewed-by: rkennke, shade ! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.hpp + src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp + src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp + src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp + src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.hpp + src/hotspot/share/gc/shenandoah/shenandoahGC.cpp + src/hotspot/share/gc/shenandoah/shenandoahGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.hpp Changeset: a8073efe Author: Brian Burkhalter Date: 2021-01-21 21:36:19 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a8073efe 8253478: (se) epoll Selector should use eventfd for wakeup instead of pipe Reviewed-by: alanb ! src/java.base/linux/classes/sun/nio/ch/EPollSelectorImpl.java + src/java.base/linux/classes/sun/nio/ch/EventFD.java + src/java.base/linux/native/libnio/ch/EventFD.c + test/micro/org/openjdk/bench/java/nio/SelectorWakeup.java Changeset: 2f47c39a Author: Brian Burkhalter Date: 2021-01-21 21:54:24 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2f47c39a 8259943: FileDescriptor.close0 does not handle EINTR Reviewed-by: naoto, alanb ! src/java.base/unix/native/libjava/io_util_md.c Changeset: a7c2ebc7 Author: Sergey Bylokhov Date: 2021-01-22 00:21:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a7c2ebc7 8239894: Xserver crashes when the wrong high refresh rate is used Reviewed-by: kizune ! src/java.desktop/unix/classes/sun/awt/X11GraphicsDevice.java ! src/java.desktop/unix/native/common/awt/systemscale/systemScale.c ! src/java.desktop/unix/native/common/awt/systemscale/systemScale.h ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c ! src/java.desktop/unix/native/libsplashscreen/splashscreen_sys.c Changeset: 92c2f084 Author: Phil Race Date: 2021-01-22 01:50:00 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/92c2f084 8259869: [macOS] Remove desktop module dependencies on JNF Reference APIs Reviewed-by: serb ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CClipboard.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDragSource.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDragSourceContextPeer.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDropTarget.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDropTargetContextPeer.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CFileDialog.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsEnv.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CInputMethod.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuComponent.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CPopupMenu.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/ImageSurfaceData.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaAccessibilityAction.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/PrinterView.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLLayer.h ! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLLayer.m ! src/java.desktop/macosx/native/libosxui/ScreenMenu.m Changeset: ba386615 Author: Ioi Lam Date: 2021-01-22 04:20:41 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ba386615 8259882: Reduce the inclusion of perfData.hpp Reviewed-by: redestad, coleenp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/gc/epsilon/epsilonMonitoringSupport.cpp ! src/hotspot/share/gc/shared/ageTable.cpp ! src/hotspot/share/gc/shared/ageTable.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/generationCounters.cpp ! src/hotspot/share/gc/shared/generationCounters.hpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp ! src/hotspot/share/runtime/arguments.hpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/perfData.hpp + src/hotspot/share/runtime/perfDataTypes.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp ! src/hotspot/share/runtime/vmThread.cpp ! src/hotspot/share/runtime/vmThread.hpp ! src/hotspot/share/services/management.hpp Changeset: a70acf2c Author: Aleksey Shipilev Date: 2021-01-22 07:05:30 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a70acf2c 8259928: compiler/jvmci tests fail with -Xint Reviewed-by: kvn, iignatyev ! test/jtreg-ext/requires/VMProps.java Changeset: 14522800 Author: Prasanta Sadhukhan Date: 2021-01-22 08:02:56 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/14522800 8164484: Unity, JTable cell editor, javax/swing/JComboBox/6559152/bug6559152.java Reviewed-by: serb, jdv ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JComboBox/6559152/bug6559152.java Changeset: d066f2b0 Author: Thomas Stuefe Date: 2021-01-22 09:00:56 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d066f2b0 8260030: Improve stringStream buffer handling Reviewed-by: iklam, kbarrett ! src/hotspot/share/utilities/ostream.cpp ! src/hotspot/share/utilities/ostream.hpp ! test/hotspot/gtest/utilities/test_ostream.cpp Changeset: 58ceb254 Author: Claes Redestad Date: 2021-01-22 11:27:13 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/58ceb254 8259842: Remove Result cache from StringCoding Reviewed-by: naoto, plevart, rriggs ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/StringCoding.java ! src/java.base/share/classes/java/lang/System.java + test/micro/org/openjdk/bench/java/lang/StringDecode.java + test/micro/org/openjdk/bench/java/lang/StringEncode.java Changeset: bfac3fb5 Author: Aleksey Shipilev Date: 2021-01-22 11:39:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bfac3fb5 8260212: Shenandoah: resolve-only UpdateRefsMode is not used Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp Changeset: 7ed8ba1c Author: Kim Barrett Date: 2021-01-22 13:12:39 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7ed8ba1c 8256814: WeakProcessorPhases may be redundant Remove WeakProcessorPhase, adding scoped enum categories to OopStorageSet. Reviewed-by: stefank, tschatzl, rkennke ! src/hotspot/share/gc/g1/g1FullGCAdjustTask.hpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1RootProcessor.cpp ! src/hotspot/share/gc/shared/oopStorageSet.cpp ! src/hotspot/share/gc/shared/oopStorageSet.hpp ! src/hotspot/share/gc/shared/oopStorageSet.inline.hpp ! src/hotspot/share/gc/shared/oopStorageSetParState.hpp ! src/hotspot/share/gc/shared/oopStorageSetParState.inline.hpp ! src/hotspot/share/gc/shared/weakProcessor.cpp ! src/hotspot/share/gc/shared/weakProcessor.hpp ! src/hotspot/share/gc/shared/weakProcessor.inline.hpp - src/hotspot/share/gc/shared/weakProcessorPhase.hpp - src/hotspot/share/gc/shared/weakProcessorPhaseTimes.cpp - src/hotspot/share/gc/shared/weakProcessorPhaseTimes.hpp + src/hotspot/share/gc/shared/weakProcessorTimes.cpp + src/hotspot/share/gc/shared/weakProcessorTimes.hpp ! src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.cpp ! src/hotspot/share/jfr/leakprofiler/utilities/rootType.cpp ! src/hotspot/share/jfr/leakprofiler/utilities/rootType.hpp ! src/hotspot/share/runtime/serviceThread.cpp ! test/hotspot/gtest/gc/shared/test_oopStorageSet.cpp Changeset: f928265e Author: Harold Seigel Date: 2021-01-22 13:52:05 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f928265e 8260009: InstanceKlass::has_as_permitted_subclass() fails if subclass was redefined Reviewed-by: lfoltan, sspitsyn, dholmes ! src/hotspot/share/oops/instanceKlass.cpp + test/hotspot/jtreg/runtime/sealedClasses/RedefinePermittedSubclass.java Changeset: acbcde8c Author: Pankaj Bansal Date: 2021-01-22 13:53:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/acbcde8c 8256111: Create implementation for NSAccessibilityStaticText protocol Reviewed-by: serb, kizune ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonTextAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonTextAccessibility.m + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/StaticTextAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/StaticTextAccessibility.m Changeset: 154e1d63 Author: Yasumasa Suenaga Date: 2021-01-22 14:16:29 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/154e1d63 8259009: G1 heap summary should be shown in "Heap Parameters" window on HSDB Reviewed-by: cjplummer, tschatzl ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/G1CollectedHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/HeapSummary.java Changeset: a97f3c18 Author: Kim Barrett Date: 2021-01-22 14:44:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a97f3c18 8258853: Support separate function declaration and definition with ENABLE_IF-based SFINAE Add ENABLE_IF_SDEFN, unit tests Reviewed-by: jrose, eosterlund ! src/hotspot/share/metaprogramming/enableIf.hpp ! test/hotspot/gtest/metaprogramming/test_enableIf.cpp Changeset: 18eb6d9e Author: Sean Coffey Date: 2021-01-22 15:31:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/18eb6d9e 8255348: NPE in PKIXCertPathValidator event logging code Reviewed-by: mullan ! src/java.base/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java ! test/jdk/jdk/jfr/event/security/TestX509CertificateEvent.java ! test/jdk/jdk/jfr/event/security/TestX509ValidationEvent.java ! test/jdk/jdk/security/logging/TestX509CertificateLog.java ! test/jdk/jdk/security/logging/TestX509ValidationLog.java ! test/lib/jdk/test/lib/security/TestCertificate.java Changeset: 0ea58626 Author: Guoxiong Li Committer: Maurizio Cimadamore Date: 2021-01-22 15:47:05 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0ea58626 8260053: Optimize Tokens' use of Names Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Tokens.java Changeset: bf5e8015 Author: Johannes Kuhn Committer: Mandy Chung Date: 2021-01-22 17:18:06 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bf5e8015 8259922: MethodHandles.collectArguments does not throw IAE if pos is outside the arity range Reviewed-by: mchung ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java + test/jdk/java/lang/invoke/MethodHandlesCollectArgsTest.java Changeset: c5ad713e Author: Aleksey Shipilev Date: 2021-01-22 17:19:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c5ad713e 8260250: Duplicate check in DebugInformationRecorder::recorders_frozen Reviewed-by: iveresov, thartmann ! src/hotspot/share/code/debugInfoRec.cpp Changeset: 874aef4a Author: Alexey Bakhtin Committer: Daniel Fuchs Date: 2021-01-22 18:21:59 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/874aef4a 8259707: LDAP channel binding does not work with StartTLS extension Reviewed-by: mullan, dfuchs, aefimov ! src/java.naming/share/classes/com/sun/jndi/ldap/Connection.java ! src/java.naming/share/classes/com/sun/jndi/ldap/ext/StartTlsResponseImpl.java Changeset: a8871776 Author: Stuart Marks Date: 2021-01-22 18:51:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a8871776 8246788: ZoneRules invariants can be broken Reviewed-by: rriggs, naoto ! src/java.base/share/classes/java/time/zone/ZoneRules.java + test/jdk/java/time/test/java/time/zone/TestMutableZoneRules.java Changeset: 53fecba7 Author: Dmitry Markov Date: 2021-01-22 19:21:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/53fecba7 8258805: Japanese characters not entered by mouse click on Windows 10 Reviewed-by: aivanov ! src/java.desktop/windows/classes/sun/awt/windows/WInputMethod.java Changeset: 5aca934c Author: Aleksey Shipilev Date: 2021-01-22 19:21:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5aca934c 8260304: (se) EPollSelectorImpl wakeup mechanism broken on Linux 32-bit Reviewed-by: bpb, alanb ! src/java.base/linux/native/libnio/ch/EventFD.c Changeset: 7be9113b Author: Dan Lemmond Committer: Paul Hohensee Date: 2021-01-22 20:33:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7be9113b 8255216: Change _directive->BreakAtCompileOption to env()->break_at_compile() Reviewed-by: kvn, phh ! src/hotspot/share/c1/c1_Compilation.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/opto/compile.cpp Changeset: bdc305e1 Author: Alex Menkov Date: 2021-01-22 21:33:02 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bdc305e1 8258917: NativeMemoryTracking is handled by launcher inconsistenly Reviewed-by: zgu ! src/java.base/share/native/libjli/java.c ! test/jdk/tools/launcher/TestSpecialArgs.java Changeset: aa57d07c Author: Ioi Lam Date: 2021-01-22 22:47:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/aa57d07c 8259214: MetaspaceClosure support for Arrays of MetaspaceObj Reviewed-by: fparain, ccheung ! src/hotspot/share/memory/metaspaceClosure.hpp + test/hotspot/gtest/utilities/test_metaspaceClosure.cpp Changeset: a5367cbb Author: Brian Burkhalter Committer: Henry Jen Date: 2020-07-29 09:52:13 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a5367cbb 8247619: Improve Direct Buffering of Characters Reviewed-by: alanb, ahgross, rhalade, psandoz ! src/java.base/share/classes/java/nio/Buffer.java ! src/java.base/share/classes/java/nio/Heap-X-Buffer.java.template ! src/java.base/share/classes/java/nio/X-Buffer.java.template Changeset: 62eab505 Author: Weijun Wang Committer: Henry Jen Date: 2020-10-23 13:00:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/62eab505 8255199: Catching a few NumberFormatExceptions in xmldsig Reviewed-by: rhalade ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java Changeset: ede1beae Author: Thomas Schatzl Date: 2021-01-21 18:21:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ede1beae 8227695: assert(pss->trim_ticks().seconds() == 0.0) failed: Unexpected partial trimming during evacuation Change FP comparison to integer comparison. Reviewed-by: kbarrett, iwalulya, eosterlund ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp Changeset: d90e06af Author: Jie Fu Date: 2021-01-22 00:13:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d90e06af 8259775: [Vector API] Incorrect code-gen for VectorReinterpret operation Reviewed-by: rbackman, neliasso, kvn ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad + test/hotspot/jtreg/compiler/vectorapi/VectorReinterpretTest.java Changeset: 685c03dc Author: Kim Barrett Date: 2021-01-22 11:20:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/685c03dc 8259271: gc/parallel/TestDynShrinkHeap.java still fails "assert(covered_region.contains(new_memregion)) failed: new region is not in covered_region" Use load_acquire to order reads of top and end. Reviewed-by: tschatzl, iwalulya, eosterlund ! src/hotspot/share/gc/parallel/mutableSpace.cpp Changeset: 6f2a3943 Author: Jesper Wilhelmsson Date: 2021-01-23 03:15:43 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6f2a3943 Merge ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/java.base/share/classes/java/nio/X-Buffer.java.template ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/java.base/share/classes/java/nio/X-Buffer.java.template Changeset: 5cdcce1c Author: Ioi Lam Date: 2021-01-23 06:24:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5cdcce1c 8260307: Do not include method.hpp in frame.hpp Reviewed-by: lfoltan, coleenp ! src/hotspot/cpu/arm/interp_masm_arm.hpp ! src/hotspot/cpu/x86/interp_masm_x86.hpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/ci/ciMethod.hpp ! src/hotspot/share/classfile/resolutionErrors.cpp ! src/hotspot/share/code/compiledMethod.hpp ! src/hotspot/share/compiler/methodMatcher.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp ! src/hotspot/share/interpreter/abstractInterpreter.hpp ! src/hotspot/share/jvmci/jvmci_globals.cpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace/printMetaspaceInfoKlassClosure.cpp ! src/hotspot/share/memory/metaspaceCounters.cpp ! src/hotspot/share/oops/methodCounters.cpp ! src/hotspot/share/prims/jvmtiExport.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/deoptimization.hpp ! src/hotspot/share/runtime/frame.hpp ! src/hotspot/share/runtime/handles.cpp ! src/hotspot/share/runtime/thread.hpp Changeset: f624dba6 Author: Alexey Ivanov Date: 2021-01-23 11:38:00 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f624dba6 8240247: No longer need to wrap files with contentContainer Reviewed-by: 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: b53d5cac Author: Alexey Ivanov Date: 2021-01-23 17:03:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b53d5cac 8260315: Typo "focul" instead of "focus" in FocusSpec.html Reviewed-by: kizune, pbansal ! src/java.desktop/share/classes/java/awt/doc-files/FocusSpec.html Changeset: 6c4c96fa Author: Kim Barrett Date: 2021-01-23 19:47:24 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6c4c96fa 8258742: Move PtrQueue reset to PtrQueueSet subclasses Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/gc/g1/g1BarrierSet.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/shared/ptrQueue.cpp ! src/hotspot/share/gc/shared/ptrQueue.hpp ! src/hotspot/share/gc/shared/satbMarkQueue.cpp ! src/hotspot/share/gc/shared/satbMarkQueue.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp Changeset: 06348dfc Author: Kim Barrett Date: 2021-01-23 22:47:31 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/06348dfc 8259776: Remove ParallelGC non-CAS oldgen allocation Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.hpp ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/mutableSpace.hpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/parallel/psOldGen.cpp ! src/hotspot/share/gc/parallel/psOldGen.hpp ! src/hotspot/share/gc/parallel/psPromotionManager.inline.hpp ! src/hotspot/share/gc/parallel/psYoungGen.hpp Changeset: 535c2927 Author: Ioi Lam Date: 2021-01-24 02:40:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/535c2927 8260306: Do not include osThread.hpp in thread.hpp Reviewed-by: coleenp, lfoltan ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.inline.hpp ! src/hotspot/share/interpreter/bytecodeTracer.cpp ! src/hotspot/share/jfr/support/jfrThreadId.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/objectMonitor.inline.hpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/osThread.hpp ! src/hotspot/share/runtime/safepointMechanism.cpp ! src/hotspot/share/runtime/semaphore.inline.hpp ! src/hotspot/share/runtime/stackWatermark.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/vframe.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/vmError.cpp Changeset: c52c6c66 Author: Hamlin Li Date: 2021-01-25 01:05:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c52c6c66 8260273: DataOutputStream writeChars optimization Reviewed-by: rriggs, bpb, alanb ! src/java.base/share/classes/java/io/DataOutputStream.java ! test/micro/org/openjdk/bench/java/io/DataOutputStreamTest.java Changeset: 4ae39b14 Author: Hamlin Li Date: 2021-01-25 01:06:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4ae39b14 8260208: Improve dummy object filling condition in G1CollectedHeap::fill_archive_regions in cds Reviewed-by: tschatzl, iklam ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp Changeset: 764111ff Author: Dongbo He Committer: Fei Yang Date: 2021-01-25 01:08:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/764111ff 8260272: bash configure --prefix does not work after JDK-8257679 Reviewed-by: erikj, ihse ! make/autoconf/util_paths.m4 Changeset: 5898ab65 Author: Ioi Lam Date: 2021-01-25 08:00:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5898ab65 8259894: refactor parts of jvm.h into jvm_io.h and jvm_constants.h Reviewed-by: dholmes, coleenp ! src/hotspot/os/windows/os_perf_windows.cpp ! src/hotspot/share/ci/ciFlags.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/include/jvm.h + src/hotspot/share/include/jvm_constants.h + src/hotspot/share/include/jvm_io.h ! src/hotspot/share/logging/logSelection.cpp ! src/hotspot/share/prims/stackwalk.hpp ! src/hotspot/share/runtime/abstract_vm_version.cpp ! src/hotspot/share/runtime/flags/jvmFlag.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/utilities/accessFlags.hpp ! src/hotspot/share/utilities/constantTag.hpp ! src/hotspot/share/utilities/formatBuffer.hpp ! test/hotspot/gtest/logging/test_gcTraceTime.cpp ! test/hotspot/gtest/logging/test_logStream.cpp Changeset: d825339d Author: Thomas Schatzl Date: 2021-01-25 08:38:47 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d825339d 8260263: Remove PtrQueue::_qset Remove dead code related to PtrQueue::_qset and itself. Reviewed-by: kbarrett, sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp ! src/hotspot/share/gc/shared/ptrQueue.cpp ! src/hotspot/share/gc/shared/ptrQueue.hpp ! src/hotspot/share/gc/shared/satbMarkQueue.hpp Changeset: af155fc0 Author: Severin Gehwolf Date: 2021-01-25 08:57:56 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/af155fc0 8258836: JNI local refs exceed capacity getDiagnosticCommandInfo Reviewed-by: cjplummer, shade ! src/jdk.management/share/native/libmanagement_ext/DiagnosticCommandImpl.c + test/jdk/com/sun/management/DiagnosticCommandMBean/DcmdMBeanTestCheckJni.java Changeset: 09489e28 Author: Yasumasa Suenaga Date: 2021-01-25 09:12:49 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/09489e28 8260338: Some fields in HaltNode is not cloned Reviewed-by: xliu, neliasso, thartmann ! src/hotspot/share/opto/rootnode.cpp ! src/hotspot/share/opto/rootnode.hpp Changeset: ca20c63c Author: Thomas Stuefe Date: 2021-01-25 10:50:39 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ca20c63c 8259710: Inlining trace leaks memory Reviewed-by: thartmann, neliasso ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp Changeset: 6e037354 Author: Coleen Phillimore Date: 2021-01-25 13:40:43 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6e037354 8259845: Move placeholder implementation details to cpp file and add logging Reviewed-by: iklam, lfoltan, dholmes ! src/hotspot/share/classfile/placeholders.cpp ! src/hotspot/share/classfile/placeholders.hpp ! src/hotspot/share/logging/logTag.hpp Changeset: d076977d Author: Eric Caspole Date: 2021-01-25 14:11:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d076977d 8260169: LogCompilation: Unexpected method mismatch Reviewed-by: kvn, vlivanov ! src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/LogParser.java ! src/utils/LogCompilation/src/test/java/com/sun/hotspot/tools/compiler/TestLogCompilation.java Changeset: ef247ab2 Author: Dan Lutker Committer: Igor Ignatyev Date: 2021-01-25 17:16:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ef247ab2 8260308: Update LogCompilation junit to 4.13.1 Reviewed-by: ecaspole, iignatyev ! src/utils/LogCompilation/pom.xml Changeset: 47c7dc77 Author: Martin Balao Date: 2021-01-25 18:01:59 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/47c7dc77 8258833: Cancel multi-part cipher operations in SunPKCS11 after failures Reviewed-by: valeriep ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11PSSSignature.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java + test/jdk/sun/security/pkcs11/Cipher/CancelMultipart.java Changeset: 5b0b24b5 Author: Daniel D. Daugherty Date: 2021-01-25 18:20:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5b0b24b5 8260381: ProblemList com/sun/management/DiagnosticCommandMBean/DcmdMBeanTestCheckJni.java on Win with ZGC Reviewed-by: sspitsyn, sgehwolf ! test/jdk/ProblemList-zgc.txt Changeset: 73c78c8a Author: Joe Darcy Date: 2021-01-25 19:06:56 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/73c78c8a 8260329: Update references to TAOCP to latest edition Reviewed-by: alanb, bpb ! src/java.base/share/classes/java/math/MutableBigInteger.java ! src/java.base/share/classes/java/util/Random.java Changeset: 12ccd211 Author: Andrew Leonard Date: 2021-01-25 19:26:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/12ccd211 8260289: Unable to customize module lists after change JDK-8258411 Reviewed-by: ihse, alanb ! make/common/Modules.gmk Changeset: d6fb9d72 Author: Jonathan Gibbons Date: 2021-01-25 21:44:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d6fb9d72 8255464: Cannot access ModuleTree in a CompilationUnitTree Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/source/tree/CompilationUnitTree.java ! src/jdk.compiler/share/classes/com/sun/source/util/TreeScanner.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/Pretty.java + test/langtools/tools/javac/tree/CompilationUnitTreeTest.java Changeset: 982e42b8 Author: Jonathan Gibbons Date: 2021-01-25 21:45:54 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/982e42b8 8259726: Use of HashSet leads to undefined order in test output Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Table.java ! test/langtools/jdk/javadoc/doclet/testAbstractMethod/TestAbstractMethod.java ! test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testLambdaFeature/TestLambdaFeature.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java ! test/langtools/jdk/javadoc/doclet/testMethodTypes/TestMethodTypes.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModulePackages.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java ! test/langtools/jdk/javadoc/doclet/testProperty/TestProperty.java ! test/langtools/jdk/javadoc/doclet/testTypeAnnotations/TestTypeAnnotations.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/TestTypeParameters.java ! test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java Changeset: 9ea93238 Author: Coleen Phillimore Date: 2021-01-25 23:58:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9ea93238 8254246: SymbolHashMapEntry wastes space Reviewed-by: redestad ! src/hotspot/share/oops/constantPool.hpp Changeset: c538cd8b Author: Serguei Spitsyn Date: 2021-01-26 07:15:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c538cd8b 8165276: Spec states to invoke the premain method in an agent class if it's public but implementation differs Reviewed-by: mchung, dholmes, alanb ! src/java.instrument/share/classes/sun/instrument/InstrumentationImpl.java + test/jdk/java/lang/instrument/NegativeAgentRunner.java ! test/jdk/java/lang/instrument/PremainClass/InheritAgent0001.java ! test/jdk/java/lang/instrument/PremainClass/InheritAgent0010.java ! test/jdk/java/lang/instrument/PremainClass/InheritAgent0011.java ! test/jdk/java/lang/instrument/PremainClass/InheritAgent0100.java ! test/jdk/java/lang/instrument/PremainClass/InheritAgent0101.java ! test/jdk/java/lang/instrument/PremainClass/InheritAgent0110.java ! test/jdk/java/lang/instrument/PremainClass/InheritAgent0111.java ! test/jdk/java/lang/instrument/PremainClass/InheritAgent1000.java ! test/jdk/java/lang/instrument/PremainClass/InheritAgent1001.java ! test/jdk/java/lang/instrument/PremainClass/InheritAgent1010.java ! test/jdk/java/lang/instrument/PremainClass/InheritAgent1011.java ! test/jdk/java/lang/instrument/PremainClass/InheritAgent1100.java ! test/jdk/java/lang/instrument/PremainClass/InheritAgent1101.java ! test/jdk/java/lang/instrument/PremainClass/InheritAgent1110.java ! test/jdk/java/lang/instrument/PremainClass/InheritAgent1111.java ! test/jdk/java/lang/instrument/PremainClass/NoPremainAgent.java - test/jdk/java/lang/instrument/PremainClass/NoPremainAgentTest.java + test/jdk/java/lang/instrument/PremainClass/NonPublicAgent.java + test/jdk/java/lang/instrument/PremainClass/NonPublicPremainAgent.java ! test/jdk/java/lang/instrument/PremainClass/ZeroArgPremainAgent.java - test/jdk/java/lang/instrument/PremainClass/ZeroArgPremainAgentTest.java Changeset: abd9310b Author: Matthias Baesken Date: 2021-01-26 07:42:15 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/abd9310b 8260222: remove unused _thread member SymbolTableLookup Reviewed-by: coleenp, dholmes, shade ! src/hotspot/share/classfile/symbolTable.cpp Changeset: 23edb6f6 Author: Guoxiong Li Committer: Joel Borggr?n-Franck Date: 2021-01-26 08:57:20 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/23edb6f6 8236490: Compiler bug relating to @NonNull annotation Reviewed-by: vromero, jfranck ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java + test/langtools/tools/javac/annotations/typeAnnotations/8236490/T8236490.java Changeset: b4ace3e9 Author: Thomas Schatzl Date: 2021-01-26 10:14:53 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b4ace3e9 8260042: G1 Post-cleanup liveness printing occurs too early Reviewed-by: sjohanss, iwalulya ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1Policy.cpp Changeset: 81a66dfa Author: Coleen Phillimore Date: 2021-01-26 11:50:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/81a66dfa 8259809: Remove PerfEvent class loading locking counters Reviewed-by: redestad, iklam ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp Changeset: edd27074 Author: Aleksey Shipilev Date: 2021-01-26 13:04:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/edd27074 8260408: Shenandoah: adjust inline hints after JDK-8255019 Reviewed-by: rkennke, ihse ! make/hotspot/lib/JvmOverrideFiles.gmk Changeset: e080ce92 Author: Harold Seigel Date: 2021-01-26 13:17:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e080ce92 8252545: runtime/ErrorHandling/TestHeapDumpOnOutOfMemoryError.java timed out Reviewed-by: stuefe, coleenp ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/runtime/ErrorHandling/TestHeapDumpOnOutOfMemoryError.java - test/hotspot/jtreg/runtime/ErrorHandling/TestHeapDumpOnOutOfMemoryErrorInMetaspace.java Changeset: 5e8e0ada Author: Jan Lahoda Date: 2021-01-26 13:42:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5e8e0ada 8242456: PreviewFeature.Feature enum removal of TEXT_BLOCKS Reviewed-by: jlaskey ! src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java Changeset: 8d2f77fd Author: Magnus Ihse Bursie Date: 2021-01-26 14:08:06 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8d2f77fd 8260406: Do not copy pure java source code to gensrc Reviewed-by: alanb, erikj ! make/modules/java.base/gensrc/GensrcCharacterData.gmk = src/java.base/share/classes/java/lang/CharacterDataPrivateUse.java = src/java.base/share/classes/java/lang/CharacterDataUndefined.java Changeset: af8a08f5 Author: Severin Gehwolf Date: 2021-01-26 15:18:56 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/af8a08f5 8260378: [TESTBUG] DcmdMBeanTestCheckJni.java reports false positive Reviewed-by: dcubed ! test/jdk/ProblemList-zgc.txt ! test/jdk/com/sun/management/DiagnosticCommandMBean/DcmdMBeanTestCheckJni.java Changeset: b07797c2 Author: Claes Redestad Date: 2021-01-26 15:25:01 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b07797c2 8260391: Remove StringCoding::err Reviewed-by: shade, rriggs ! src/java.base/share/classes/java/lang/StringCoding.java - src/java.base/share/native/libjava/StringCoding.c Changeset: fd00ed74 Author: Zhengyu Gu Date: 2021-01-26 16:46:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fd00ed74 8256298: Shenandoah: Enable concurrent stack processing Reviewed-by: rkennke, shade ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp + src/hotspot/share/gc/shenandoah/shenandoahStackWatermark.cpp + src/hotspot/share/gc/shenandoah/shenandoahStackWatermark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.hpp Changeset: 9f0a0436 Author: Fernando Guallini Committer: Rajan Halade Date: 2021-01-26 18:15:26 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9f0a0436 8260286: Manual Test "ws/open/test/jdk/sun/security/tools/jarsigner/compatibility/Compatibility.java" fails Reviewed-by: rhalade ! test/jdk/sun/security/tools/jarsigner/compatibility/Compatibility.java ! test/jdk/sun/security/tools/jarsigner/warnings/Test.java Changeset: 42cef27f Author: Sergey Bylokhov Date: 2021-01-26 18:31:26 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/42cef27f 8260343: Delete obsolete classes in the Windows L&F Reviewed-by: aivanov, pbansal - src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsButtonListener.java ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java Changeset: 1bebd418 Author: Zhengyu Gu Date: 2021-01-26 20:25:51 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1bebd418 8260421: Shenandoah: Fix conc_mark_roots timing name and indentations Reviewed-by: rkennke, shade ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Changeset: 19b6f61b Author: Xin Liu Committer: Paul Hohensee Date: 2021-01-26 20:52:19 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/19b6f61b 8260334: Remove deprecated sv_for_node_id() from Compile Reviewed-by: neliasso, chagedorn, thartmann, phh ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/output.hpp Changeset: 6f2be9c6 Author: David Holmes Date: 2021-01-27 01:18:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6f2be9c6 8246112: Remove build-time and run-time checks for clock_gettime and CLOCK_MONOTONIC Reviewed-by: ihse, erikj, gziemski, hseigel ! make/autoconf/flags-cflags.m4 ! make/autoconf/flags-ldflags.m4 ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/aix/os_aix.inline.hpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/bsd/os_bsd.hpp ! src/hotspot/os/bsd/os_bsd.inline.hpp ! src/hotspot/os/bsd/os_perf_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/linux/os_linux.inline.hpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/posix/os_posix.hpp ! src/hotspot/os/posix/os_posix.inline.hpp ! src/hotspot/os/windows/os_windows.inline.hpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/thread.cpp Changeset: e1411fd4 Author: Sergey Bylokhov Date: 2021-01-27 02:52:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e1411fd4 6606673: Path2D.Double, Path2D.Float and GeneralPath ctors throw exception when initialCapacity is negative Reviewed-by: psadhukhan, kizune ! src/java.desktop/share/classes/java/awt/geom/GeneralPath.java ! src/java.desktop/share/classes/java/awt/geom/Path2D.java + test/jdk/java/awt/geom/GeneralPath/GeneralPathExceptions.java + test/jdk/java/awt/geom/Path2D/Path2DExceptions.java Changeset: c836da38 Author: Martin Buchholz Date: 2021-01-27 04:31:29 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c836da38 8252412: [macos11] system dynamic libraries removed from filesystem Co-authored-by: Dominik R?ttsches Reviewed-by: jiangli, valeriep ! src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java Changeset: bd2744dd Author: Aleksey Shipilev Date: 2021-01-27 07:17:30 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bd2744dd 8260106: Shenandoah: refactor reference updating closures and related code Reviewed-by: zgu, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.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/shenandoahReferenceProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp Changeset: 1c770468 Author: Thomas Stuefe Date: 2021-01-27 07:34:46 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1c770468 8260404: jvm_io.h include missing in a number of files Reviewed-by: shade, iklam, dholmes ! src/hotspot/os/posix/perfMemory_posix.cpp ! src/hotspot/share/aot/aotCodeHeap.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/zero/bytecodeInterpreter.cpp ! src/hotspot/share/jfr/jni/jfrUpcalls.cpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleDescription.cpp ! src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciRuntime.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/runtime/handshake.cpp Changeset: fd2641ed Author: Matthias Baesken Date: 2021-01-27 07:57:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fd2641ed 8260236: better init AnnotationCollector _contended_group Reviewed-by: coleenp, shade ! src/hotspot/share/classfile/classFileParser.cpp Changeset: 4d004c94 Author: Roman Kennke Date: 2021-01-27 09:32:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4d004c94 8260449: Remove stale declaration of SATBMarkQueue::apply_closure_and_empty() Reviewed-by: tschatzl ! src/hotspot/share/gc/shared/satbMarkQueue.hpp Changeset: fa40a966 Author: Albert Mingkun Yang Committer: Stefan Johansson Date: 2021-01-27 09:57:24 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fa40a966 8253420: Refactor HeapRegionManager::find_highest_free Reviewed-by: sjohanss, kbarrett ! src/hotspot/share/gc/g1/heapRegionManager.cpp Changeset: 3e4194c4 Author: Thomas Stuefe Date: 2021-01-27 10:43:04 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3e4194c4 8260022: [ppc] os::print_function_and_library_name shall resolve function descriptors transparently Reviewed-by: mdoerr, lucy ! src/hotspot/cpu/ppc/assembler_ppc.hpp ! src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp ! src/hotspot/os_cpu/aix_ppc/os_aix_ppc.hpp ! src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp ! src/hotspot/os_cpu/linux_ppc/os_linux_ppc.hpp ! src/hotspot/share/runtime/os.cpp Changeset: bf15c709 Author: Aleksey Shipilev Date: 2021-01-27 10:48:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bf15c709 8260460: GitHub actions still fail on Linux x86_32 with "Could not configure libc6:i386" Reviewed-by: ihse ! .github/workflows/submit.yml Changeset: b3c8a528 Author: Jan Lahoda Date: 2021-01-27 11:00:12 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b3c8a528 8259050: Error recovery in lexer could be improved Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/UnicodeReader.java ! test/langtools/tools/javac/lexer/JavaLexerTest.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: e696baab Author: Claes Redestad Date: 2021-01-27 11:30:28 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e696baab 8260448: Simplify ManagementFactory$PlatformMBeanFinder Reviewed-by: mchung, dfuchs ! src/java.management/share/classes/java/lang/management/ManagementFactory.java Changeset: 7ed591cc Author: Alexey Ivanov Date: 2021-01-27 12:09:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7ed591cc 8260314: Replace border="1" on tables with CSS Reviewed-by: serb ! 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/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/swing/plaf/synth/doc-files/componentProperties.html ! src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html Changeset: ac276bb3 Author: Chris Hegarty Date: 2021-01-27 14:09:15 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ac276bb3 8257074: Update the ByteBuffers micro benchmark Reviewed-by: redestad, dfuchs, jvernee, bpb ! test/micro/org/openjdk/bench/java/nio/ByteBuffers.java ! test/micro/org/openjdk/bench/java/nio/CharBuffers.java + test/micro/org/openjdk/bench/java/nio/DoubleBuffers.java + test/micro/org/openjdk/bench/java/nio/FloatBuffers.java + test/micro/org/openjdk/bench/java/nio/IntBuffers.java + test/micro/org/openjdk/bench/java/nio/LongBuffers.java + test/micro/org/openjdk/bench/java/nio/ShortBuffers.java + test/micro/org/openjdk/bench/java/nio/X-Buffers-bin.java.template + test/micro/org/openjdk/bench/java/nio/X-Buffers.java.template + test/micro/org/openjdk/bench/java/nio/X-ByteBuffers-bin.java.template + test/micro/org/openjdk/bench/java/nio/genBuffers.sh Changeset: f353fcf2 Author: Roberto Casta?eda Lozano Committer: Tobias Hartmann Date: 2021-01-27 15:08:39 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f353fcf2 8258894: C2: Forbid GCM to move stores into loops Prevent GCM from placing memory-writing nodes (such as stores) into loops deeper than their home loop (determined by their control input). Such placements are invalid, as they cause memory definitions to interfere, and risk causing miscompilations. This change complements JDK-8255763, which only addresses invalid placements in irreducible CFGs. Add control input to stores in generated stubs to ensure that all memory-writing nodes have control inputs from which their home block can be derived. Add a battery of simplified fuzzer test cases where, before this change, GCM moves stores into deeper loops. Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/block.cpp ! src/hotspot/share/opto/block.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/generateOptoStub.cpp ! src/hotspot/share/opto/node.hpp ! test/hotspot/jtreg/compiler/codegen/TestGCMStorePlacement.java Changeset: 311a0a91 Author: Denghui Dong Committer: Thomas Schatzl Date: 2021-01-27 15:28:46 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/311a0a91 8259808: Add JFR event to detect GC locker stall Reviewed-by: sjohanss, tschatzl, egahlin ! src/hotspot/share/gc/shared/gcLocker.cpp ! src/hotspot/share/gc/shared/gcTrace.hpp ! src/hotspot/share/gc/shared/gcTraceSend.cpp ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/prims/whitebox.cpp ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc + test/jdk/jdk/jfr/event/gc/detailed/TestGCLockerEvent.java ! test/lib/jdk/test/lib/jfr/EventNames.java ! test/lib/sun/hotspot/WhiteBox.java Changeset: 684c8558 Author: Daniel D. Daugherty Date: 2021-01-27 17:26:41 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/684c8558 8260524: validate-source fails on test/jdk/jdk/jfr/event/gc/detailed/TestGCLockerEvent.java Reviewed-by: bpb, iignatyev ! src/hotspot/share/gc/shared/gcLocker.cpp ! src/hotspot/share/gc/shared/gcTrace.hpp ! src/hotspot/share/gc/shared/gcTraceSend.cpp ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/prims/whitebox.cpp ! test/jdk/jdk/jfr/event/gc/detailed/TestGCLockerEvent.java ! test/lib/jdk/test/lib/jfr/EventNames.java ! test/lib/sun/hotspot/WhiteBox.java Changeset: 0eed2c33 Author: Guoxiong Li Committer: Vicente Romero Date: 2021-01-27 18:12:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0eed2c33 8259359: javac does not attribute unexpected super constructor invocation qualifier, and may crash Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java + test/langtools/tools/javac/recovery/T8259359.java Changeset: eb923685 Author: Stuart Marks Date: 2021-01-27 19:02:49 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/eb923685 8259816: Typo in java.util.stream package description Reviewed-by: iris, lancea, naoto ! src/java.base/share/classes/java/util/stream/package-info.java Changeset: c5ab7c32 Author: Christian Hagedorn Date: 2021-01-25 17:09:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c5ab7c32 8260284: C2: assert(_base == Int) failed: Not an Int Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/phaseX.cpp + test/hotspot/jtreg/compiler/loopopts/TestDivWithTopDivisor.java Changeset: 81e730e5 Author: Vladimir Ivanov Date: 2021-01-25 20:02:56 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/81e730e5 8259276: C2: Empty expression stack when reexecuting tableswitch/lookupswitch instructions after deoptimization Reviewed-by: dlong, kvn, thartmann ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/parse2.cpp Changeset: 408772c9 Author: Vicente Romero Date: 2021-01-26 16:00:41 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/408772c9 8259025: Record compact constructor using Objects.requireNonNull Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! test/langtools/tools/javac/records/RecordCompilationTests.java Changeset: c52212b1 Author: Jesper Wilhelmsson Date: 2021-01-27 20:56:26 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c52212b1 Merge ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/phaseX.cpp Changeset: c7661aed Author: Roger Riggs Date: 2021-01-27 22:37:43 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c7661aed 8260561: [doc] HexFormat has incorrect @since tag Reviewed-by: darcy, naoto, bpb, lancea ! src/java.base/share/classes/java/util/HexFormat.java Changeset: 7030d2e0 Author: Hamlin Li Date: 2021-01-28 00:45:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7030d2e0 8260200: G1: Remove unnecessary update in FreeRegionList::remove_starting_at Reviewed-by: ayang, sjohanss, tschatzl ! src/hotspot/share/gc/g1/heapRegionSet.cpp ! src/hotspot/share/gc/g1/heapRegionSet.hpp Changeset: e28e1111 Author: Vladimir Ivanov Date: 2021-01-27 10:29:59 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e28e1111 8260370: C2: LoopLimit node is not eliminated Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/loopnode.cpp Changeset: 62ffe75b Author: Jesper Wilhelmsson Date: 2021-01-28 03:38:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/62ffe75b Merge ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/loopnode.cpp Changeset: 396a496f Author: Ioi Lam Date: 2021-01-28 04:24:04 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/396a496f 8260467: Move well-known classes from systemDictionary.hpp to vmClasses.hpp Reviewed-by: dholmes, coleenp ! src/hotspot/cpu/aarch64/methodHandles_aarch64.cpp ! src/hotspot/cpu/aarch64/methodHandles_aarch64.hpp ! src/hotspot/cpu/arm/methodHandles_arm.cpp ! src/hotspot/cpu/arm/methodHandles_arm.hpp ! src/hotspot/cpu/ppc/methodHandles_ppc.cpp ! src/hotspot/cpu/ppc/methodHandles_ppc.hpp ! src/hotspot/cpu/s390/methodHandles_s390.cpp ! src/hotspot/cpu/s390/methodHandles_s390.hpp ! src/hotspot/cpu/x86/methodHandles_x86.cpp ! src/hotspot/cpu/x86/methodHandles_x86.hpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciEnv.hpp ! src/hotspot/share/ci/ciObjArrayKlass.cpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp + src/hotspot/share/classfile/vmClassID.hpp + src/hotspot/share/classfile/vmClassMacros.hpp + src/hotspot/share/classfile/vmClasses.cpp + src/hotspot/share/classfile/vmClasses.hpp ! src/hotspot/share/memory/archiveBuilder.cpp ! src/hotspot/share/memory/archiveBuilder.hpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/memory/universe.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/vmEnums.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/SystemDictionary.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbPrintStatics.java Changeset: 11a70d11 Author: Matthias Baesken Date: 2021-01-28 07:35:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/11a70d11 8260426: awt debug_mem.c DMem_AllocateBlock might leak memory Reviewed-by: psadhukhan, aivanov ! src/java.desktop/share/native/common/awt/debug/debug_mem.c Changeset: 316d52c1 Author: Roman Kennke Date: 2021-01-28 09:50:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/316d52c1 8260497: Shenandoah: Improve SATB flushing Reviewed-by: shade, zgu ! src/hotspot/share/gc/shared/satbMarkQueue.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahSATBMarkQueueSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahSATBMarkQueueSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: a97aedff Author: Aleksey Shipilev Date: 2021-01-28 10:24:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a97aedff 8256215: Shenandoah: re-organize saving/restoring machine state in assembler code Reviewed-by: rkennke, zgu ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp Changeset: ecde52ec Author: Claes Redestad Date: 2021-01-28 11:13:26 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ecde52ec 8260506: VersionHelper cleanup Reviewed-by: alanb, dfuchs, aefimov ! src/java.naming/share/classes/com/sun/naming/internal/VersionHelper.java Changeset: 8fe1323d Author: Claes Redestad Date: 2021-01-28 11:14:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8fe1323d 8260520: Avoid getting permissions in JarFileFactory when no SecurityManager installed Reviewed-by: alanb, dfuchs, michaelm, mullan ! src/java.base/unix/classes/sun/net/www/protocol/jar/JarFileFactory.java ! src/java.base/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java Changeset: 87522573 Author: Martin Doerr Date: 2021-01-28 11:39:06 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/87522573 8260502: [s390] NativeMovRegMem::verify() fails because it's too strict Reviewed-by: lucy, rrich ! src/hotspot/cpu/s390/nativeInst_s390.cpp ! src/hotspot/cpu/s390/nativeInst_s390.hpp Changeset: a68c6c2a Author: Aleksey Shipilev Date: 2021-01-28 12:00:59 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a68c6c2a 8260579: PPC64 and S390 builds failures after JDK-8260467 Reviewed-by: mdoerr ! src/hotspot/cpu/ppc/methodHandles_ppc.cpp ! src/hotspot/cpu/s390/methodHandles_s390.cpp Changeset: d07af2b8 Author: Jorn Vernee Date: 2021-01-28 12:26:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d07af2b8 8255531: MethodHandles::permuteArguments throws NPE when duplicating dropped arguments Reviewed-by: redestad ! src/java.base/share/classes/java/lang/invoke/LambdaFormBuffer.java ! test/jdk/java/lang/invoke/MethodHandlesPermuteArgumentsTest.java Changeset: 11d6467c Author: Roland Westrelin Date: 2021-01-28 12:27:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/11d6467c 8260407: cmp != __null && cmp->Opcode() == Op_CmpL failure with -XX:StressLongCountedLoop=200000000 in lucene Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/longcountedloops/TestLongCountedLoopSplitIf.java Changeset: 20e7df50 Author: Harold Seigel Date: 2021-01-28 13:17:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/20e7df50 8260466: Test TestHeapDumpOnOutOfMemoryError.java needs multiple @test sections Reviewed-by: shade, lmesnik ! test/hotspot/jtreg/runtime/ErrorHandling/TestHeapDumpOnOutOfMemoryError.java Changeset: baf46bac Author: Sean Mullan Date: 2021-01-28 14:28:27 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/baf46bac 8259801: Enable XML Signature secure validation mode by default Reviewed-by: weijun, rhalade ! src/java.base/share/conf/security/java.security ! src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/dom/DOMValidateContext.java ! test/jdk/javax/xml/crypto/dsig/GenerationTests.java Changeset: 13ca433f Author: Patrick Concannon Date: 2021-01-28 15:01:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/13ca433f 8259628: jdk/net/ExtendedSocketOption/AsynchronousSocketChannelNAPITest.java fails intermittently Reviewed-by: dfuchs ! test/jdk/jdk/net/ExtendedSocketOption/AsynchronousSocketChannelNAPITest.java Changeset: abc4300d Author: Poonam Bajaj Date: 2021-01-28 15:07:03 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/abc4300d 8257746: Regression introduced with JDK-8250984 - memory might be null in some machines Reviewed-by: hseigel ! src/java.base/linux/classes/jdk/internal/platform/cgroupv1/CgroupV1Subsystem.java Changeset: 3aabbd72 Author: Matthias Baesken Date: 2021-01-28 15:20:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3aabbd72 8260432: allocateSpaceForGP in freetypeScaler.c might leak memory Reviewed-by: shade, stuefe ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: bbbfaa58 Author: Calvin Cheung Date: 2021-01-28 16:17:46 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bbbfaa58 8249262: Initialize InstanceKlass::_package_entry during CDS dump time Reviewed-by: iklam, minqi ! src/hotspot/share/classfile/classLoaderDataShared.cpp ! src/hotspot/share/classfile/classLoaderDataShared.hpp ! src/hotspot/share/classfile/packageEntry.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp Changeset: 1de3c554 Author: Aleksey Shipilev Date: 2021-01-28 16:31:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1de3c554 8260584: Shenandoah: simplify "Concurrent Thread Roots" logging Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Changeset: 2b166d81 Author: Weijun Wang Date: 2021-01-28 17:54:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2b166d81 8260596: Comment cleanup in BigInteger Reviewed-by: bpb ! src/java.base/share/classes/java/math/BigInteger.java Changeset: 81e9e6a7 Author: Martin Buchholz Date: 2021-01-28 18:06:55 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/81e9e6a7 8260461: Modernize jsr166 tck tests Reviewed-by: dl ! test/jdk/java/util/concurrent/tck/AbstractExecutorServiceTest.java ! test/jdk/java/util/concurrent/tck/AbstractQueueTest.java ! test/jdk/java/util/concurrent/tck/ArrayBlockingQueueTest.java ! test/jdk/java/util/concurrent/tck/ArrayDeque8Test.java ! test/jdk/java/util/concurrent/tck/ArrayDequeTest.java ! test/jdk/java/util/concurrent/tck/ArrayListTest.java ! test/jdk/java/util/concurrent/tck/Atomic8Test.java ! test/jdk/java/util/concurrent/tck/AtomicBooleanTest.java ! test/jdk/java/util/concurrent/tck/AtomicIntegerArrayTest.java ! test/jdk/java/util/concurrent/tck/AtomicIntegerTest.java ! test/jdk/java/util/concurrent/tck/AtomicLongArrayTest.java ! test/jdk/java/util/concurrent/tck/AtomicLongTest.java ! test/jdk/java/util/concurrent/tck/AtomicMarkableReferenceTest.java ! test/jdk/java/util/concurrent/tck/AtomicReference9Test.java ! test/jdk/java/util/concurrent/tck/AtomicReferenceArray9Test.java ! test/jdk/java/util/concurrent/tck/AtomicReferenceArrayTest.java ! test/jdk/java/util/concurrent/tck/AtomicReferenceFieldUpdaterTest.java ! test/jdk/java/util/concurrent/tck/AtomicReferenceTest.java ! test/jdk/java/util/concurrent/tck/AtomicStampedReferenceTest.java ! test/jdk/java/util/concurrent/tck/BlockingQueueTest.java ! test/jdk/java/util/concurrent/tck/Collection8Test.java ! test/jdk/java/util/concurrent/tck/CompletableFutureTest.java ! test/jdk/java/util/concurrent/tck/ConcurrentHashMap8Test.java ! test/jdk/java/util/concurrent/tck/ConcurrentHashMapTest.java ! test/jdk/java/util/concurrent/tck/ConcurrentLinkedDequeTest.java ! test/jdk/java/util/concurrent/tck/ConcurrentLinkedQueueTest.java ! test/jdk/java/util/concurrent/tck/ConcurrentSkipListMapTest.java ! test/jdk/java/util/concurrent/tck/ConcurrentSkipListSetTest.java ! test/jdk/java/util/concurrent/tck/ConcurrentSkipListSubMapTest.java ! test/jdk/java/util/concurrent/tck/ConcurrentSkipListSubSetTest.java ! test/jdk/java/util/concurrent/tck/CopyOnWriteArrayListTest.java ! test/jdk/java/util/concurrent/tck/CopyOnWriteArraySetTest.java ! test/jdk/java/util/concurrent/tck/CountedCompleterTest.java ! test/jdk/java/util/concurrent/tck/DelayQueueTest.java ! test/jdk/java/util/concurrent/tck/ExchangerTest.java ! test/jdk/java/util/concurrent/tck/ExecutorCompletionService9Test.java ! test/jdk/java/util/concurrent/tck/ExecutorCompletionServiceTest.java ! test/jdk/java/util/concurrent/tck/ExecutorsTest.java ! test/jdk/java/util/concurrent/tck/ForkJoinPool8Test.java ! test/jdk/java/util/concurrent/tck/ForkJoinPoolTest.java ! test/jdk/java/util/concurrent/tck/ForkJoinTask8Test.java ! test/jdk/java/util/concurrent/tck/ForkJoinTaskTest.java ! test/jdk/java/util/concurrent/tck/FutureTaskTest.java + test/jdk/java/util/concurrent/tck/Item.java ! test/jdk/java/util/concurrent/tck/JSR166TestCase.java ! test/jdk/java/util/concurrent/tck/LinkedBlockingDeque8Test.java ! test/jdk/java/util/concurrent/tck/LinkedBlockingDequeTest.java ! test/jdk/java/util/concurrent/tck/LinkedBlockingQueue8Test.java ! test/jdk/java/util/concurrent/tck/LinkedBlockingQueueTest.java ! test/jdk/java/util/concurrent/tck/LinkedListTest.java ! test/jdk/java/util/concurrent/tck/LinkedTransferQueueTest.java ! test/jdk/java/util/concurrent/tck/MapTest.java ! test/jdk/java/util/concurrent/tck/NonNestmates.java ! test/jdk/java/util/concurrent/tck/PhaserTest.java ! test/jdk/java/util/concurrent/tck/PriorityBlockingQueueTest.java ! test/jdk/java/util/concurrent/tck/PriorityQueueTest.java ! test/jdk/java/util/concurrent/tck/RecursiveActionTest.java ! test/jdk/java/util/concurrent/tck/RecursiveTaskTest.java ! test/jdk/java/util/concurrent/tck/ScheduledExecutorSubclassTest.java ! test/jdk/java/util/concurrent/tck/ScheduledExecutorTest.java ! test/jdk/java/util/concurrent/tck/StampedLockTest.java ! test/jdk/java/util/concurrent/tck/SubmissionPublisherTest.java ! test/jdk/java/util/concurrent/tck/SynchronousQueueTest.java ! test/jdk/java/util/concurrent/tck/ThreadLocalTest.java ! test/jdk/java/util/concurrent/tck/ThreadPoolExecutorSubclassTest.java ! test/jdk/java/util/concurrent/tck/ThreadPoolExecutorTest.java ! test/jdk/java/util/concurrent/tck/TreeMapTest.java ! test/jdk/java/util/concurrent/tck/TreeSetTest.java ! test/jdk/java/util/concurrent/tck/TreeSubMapTest.java ! test/jdk/java/util/concurrent/tck/TreeSubSetTest.java ! test/jdk/java/util/concurrent/tck/VectorTest.java Changeset: 71128cf4 Author: Aleksey Shipilev Date: 2021-01-28 19:04:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/71128cf4 8260586: Shenandoah: simplify "Concurrent Weak References" logging Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Changeset: 15196325 Author: Igor Veresov Date: 2021-01-28 20:51:12 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/15196325 8251462: Simplify compilation policy Reviewed-by: cjplummer, kvn ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_globals_aarch64.hpp ! src/hotspot/cpu/aarch64/c2_globals_aarch64.hpp ! src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp ! src/hotspot/cpu/aarch64/globals_aarch64.hpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/arm/globals_arm.hpp ! src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp ! src/hotspot/cpu/arm/templateTable_arm.cpp ! src/hotspot/cpu/ppc/c1_globals_ppc.hpp ! src/hotspot/cpu/ppc/c2_globals_ppc.hpp ! src/hotspot/cpu/ppc/interp_masm_ppc.hpp ! src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/s390/c1_globals_s390.hpp ! src/hotspot/cpu/s390/c2_globals_s390.hpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/cpu/s390/templateTable_s390.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/c1_globals_x86.hpp ! src/hotspot/cpu/x86/c2_globals_x86.hpp ! src/hotspot/cpu/x86/globalDefinitions_x86.hpp ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/zero/globals_zero.hpp ! src/hotspot/share/aot/aotCodeHeap.cpp ! src/hotspot/share/aot/aotCompiledMethod.cpp ! src/hotspot/share/aot/aotCompiledMethod.hpp ! src/hotspot/share/c1/c1_Compilation.cpp ! src/hotspot/share/c1/c1_Compilation.hpp ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_LIRAssembler.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/c1/c1_globals.hpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciEnv.hpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/compiler/compilationPolicy.cpp ! src/hotspot/share/compiler/compilationPolicy.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileTask.cpp ! src/hotspot/share/compiler/compilerDefinitions.cpp ! src/hotspot/share/compiler/compilerDefinitions.hpp ! src/hotspot/share/compiler/compilerDirectives.cpp ! src/hotspot/share/compiler/compiler_globals.hpp ! src/hotspot/share/compiler/oopMap.cpp - src/hotspot/share/compiler/tieredThresholdPolicy.cpp - src/hotspot/share/compiler/tieredThresholdPolicy.hpp ! src/hotspot/share/gc/shared/cardTableBarrierSet.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/interpreterRuntime.hpp ! src/hotspot/share/interpreter/invocationCounter.cpp ! src/hotspot/share/interpreter/invocationCounter.hpp ! src/hotspot/share/interpreter/templateInterpreterGenerator.hpp ! src/hotspot/share/jvmci/compilerRuntime.cpp ! src/hotspot/share/jvmci/jvmciCompiler.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/oops/methodCounters.cpp ! src/hotspot/share/oops/methodCounters.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/abstract_vm_version.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.cpp ! src/hotspot/share/runtime/globals_shared.hpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/macros.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Method.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/MethodCounters.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/MethodData.java ! test/hotspot/jtreg/TEST.quick-groups ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/MaterializeVirtualObjectTest.java ! test/hotspot/jtreg/compiler/whitebox/ClearMethodStateTest.java ! test/hotspot/jtreg/compiler/whitebox/CompilerWhiteBoxTest.java - test/hotspot/jtreg/vmTestbase/jit/tiered/Test.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t004/MyThread.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t004/hs203t004.java Changeset: 251c6419 Author: Kim Barrett Date: 2021-01-29 03:34:02 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/251c6419 8259487: Remove unused StarTask Reviewed-by: iklam, tschatzl ! src/hotspot/share/gc/shared/taskqueue.hpp Changeset: ea2c4474 Author: Kim Barrett Date: 2021-01-29 03:49:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ea2c4474 8259778: Merge MutableSpace and ImmutableSpace Reviewed-by: sspitsyn, dholmes, tschatzl - src/hotspot/share/gc/parallel/immutableSpace.cpp - src/hotspot/share/gc/parallel/immutableSpace.hpp ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/mutableSpace.hpp ! src/hotspot/share/gc/parallel/spaceCounters.hpp ! src/hotspot/share/gc/parallel/vmStructs_parallelgc.hpp - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/parallel/ImmutableSpace.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/parallel/MutableSpace.java Changeset: 64a150c5 Author: Sergey Bylokhov Date: 2021-01-29 06:18:43 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/64a150c5 6986863: ProfileDeferralMgr throwing ConcurrentModificationException Reviewed-by: kizune ! src/java.desktop/share/classes/java/awt/color/ICC_Profile.java ! src/java.desktop/share/classes/java/awt/image/ColorConvertOp.java - src/java.desktop/share/classes/sun/java2d/cmm/ProfileActivator.java ! src/java.desktop/share/classes/sun/java2d/cmm/ProfileDeferralInfo.java - src/java.desktop/share/classes/sun/java2d/cmm/ProfileDeferralMgr.java ! src/java.desktop/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java ! src/java.desktop/share/native/liblcms/LCMS.c + test/jdk/java/awt/color/ICC_ProfileRGB/MTMatrixAccess.java + test/jdk/java/awt/color/ProfileActivationDuringPropertyAccess.java Changeset: 06754734 Author: Jan Lahoda Date: 2021-01-29 09:19:14 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/06754734 8252409: JShell: Intersection types cause NoSuchFieldError Reviewed-by: vromero ! src/jdk.jshell/share/classes/jdk/jshell/ExpressionToTypeInfo.java ! src/jdk.jshell/share/classes/jdk/jshell/TreeDissector.java ! src/jdk.jshell/share/classes/jdk/jshell/TypePrinter.java ! test/langtools/jdk/jshell/TypeNameTest.java ! test/langtools/jdk/jshell/VariablesTest.java Changeset: a5fb5173 Author: Zhengyu Gu Date: 2021-01-29 13:01:28 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a5fb5173 8259404: Shenandoah: Fix time tracking in parallel_cleaning Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.cpp ! src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.hpp ! src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Changeset: d2b0ea1d Author: Ralf Schmelter Date: 2021-01-29 13:53:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d2b0ea1d 8260282: Add option to compress heap dumps created by -XX:+HeapDumpOnOutOfMemoryError Reviewed-by: cjplummer, stuefe ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/services/heapDumper.cpp + test/hotspot/jtreg/runtime/ErrorHandling/TestGZippedHeapDumpOnOutOfMemoryError.java Changeset: 24a26212 Author: Aleksey Shipilev Date: 2021-01-29 14:06:15 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/24a26212 8260592: jpackage tests fail when Desktop is not supported Reviewed-by: asemenyuk, herrick ! test/jdk/tools/jpackage/apps/image/Hello.java Changeset: 53f1b938 Author: Erik Joelsson Date: 2021-01-29 14:20:39 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/53f1b938 8260518: Change default -mmacosx-version-min to 10.12 Reviewed-by: tbell, prr, ihse, serb ! make/autoconf/flags.m4 ! make/conf/jib-profiles.js ! make/modules/java.desktop/lib/Awt2dLibraries.gmk Changeset: 22bfa5b0 Author: Zhengyu Gu Date: 2021-01-29 14:22:13 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/22bfa5b0 8255837: Shenandoah: Remove ShenandoahConcurrentRoots class Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/mode/shenandoahIUMode.cpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahSATBMode.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp - src/hotspot/share/gc/shenandoah/shenandoahConcurrentRoots.cpp - src/hotspot/share/gc/shenandoah/shenandoahConcurrentRoots.hpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUnload.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: b7b391b2 Author: Thomas Stuefe Date: 2021-01-29 15:33:00 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b7b391b2 8260625: Rename MetaspaceExpand_lock Reviewed-by: shade ! src/hotspot/share/memory/metaspace/chunkManager.cpp ! src/hotspot/share/memory/metaspace/metachunk.cpp ! src/hotspot/share/memory/metaspace/rootChunkArea.cpp ! src/hotspot/share/memory/metaspace/testHelpers.cpp ! src/hotspot/share/memory/metaspace/virtualSpaceList.cpp ! src/hotspot/share/memory/metaspace/virtualSpaceNode.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! test/hotspot/gtest/metaspace/test_metachunk.cpp ! test/hotspot/gtest/metaspace/test_virtualspacenode.cpp Changeset: 6415d3b8 Author: Vladimir Kozlov Date: 2021-01-29 16:16:14 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6415d3b8 8259584: SuperWord::fix_commutative_inputs checks in_bb(fin1) instead of in_bb(fin2) Reviewed-by: shade ! src/hotspot/share/opto/superword.cpp Changeset: b2e582a8 Author: Vicente Romero Date: 2021-01-29 16:50:27 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b2e582a8 8259905: Compiler treats 'sealed' keyword as 'var' keyword Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/lvti/ParserTest.out ! test/langtools/tools/javac/sealed/SealedCompilationTests.java Changeset: 739bbd03 Author: Guoxiong Li Committer: Vicente Romero Date: 2021-01-29 18:27:03 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/739bbd03 8260566: Pattern type X is a subtype of expression type Y message is incorrect Reviewed-by: jlahoda, tvaleev ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/langtools/tools/javac/patterns/NoSubtypeCheck.out ! test/langtools/tools/javac/patterns/NullsInPatterns.out Changeset: f5ca8385 Author: Leonid Mesnik Date: 2021-01-29 20:49:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f5ca8385 8065773: JDI: UOE is not thrown, when redefineClasses changes a class modifier Reviewed-by: sspitsyn, coleenp ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses021.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses021/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses021/newclass01/redefineclasses021b.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses021/newclass02/redefineclasses021b.java - test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses021/newclass03/redefineclasses021b.java - test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses021/newclass04/redefineclasses021b.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses021b.java - test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses023.java - test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses023/TestDescription.java - test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses023/newclass01/redefineclasses023b.java - test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses023/newclass02/redefineclasses023b.java - test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses023/newclass03/redefineclasses023b.java Changeset: 71bfe962 Author: Xue-Lei Andrew Fan Date: 2021-01-30 00:21:01 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/71bfe962 8217633: Configurable extensions with system properties Reviewed-by: rhalade, jnimeh ! src/java.base/share/classes/sun/security/ssl/SSLExtension.java + test/jdk/sun/security/ssl/SSLSocketImpl/DisableExtensions.java Changeset: fb46c910 Author: Daniel D. Daugherty Date: 2021-01-30 00:56:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fb46c910 8260674: ProblemList jdk/incubator/vector/VectorHash.java in Xcomp configs Reviewed-by: vlivanov ! test/jdk/ProblemList-Xcomp.txt Changeset: 69ee314b Author: Joe Wang Date: 2021-01-30 02:34:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/69ee314b 8249867: xml declaration is not followed by a newline Reviewed-by: rriggs, naoto, lancea, dfuchs ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToStream.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/DOMConstants.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/LSSerializerImpl.java ! src/java.xml/share/classes/module-info.java ! test/jaxp/javax/xml/jaxp/unittest/common/prettyprint/PrettyPrintTest.java Changeset: 6b24e98c Author: Yasumasa Suenaga Date: 2021-01-30 03:46:23 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6b24e98c 8259008: ArithmeticException was thrown at "Monitor Cache Dump" on HSDB Reviewed-by: dcubed, gziemski, eosterlund, cjplummer, sspitsyn ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ObjectSynchronizer.java + test/hotspot/jtreg/serviceability/sa/TestObjectMonitorIterate.java Changeset: 67a34daf Author: Kim Barrett Date: 2021-01-30 09:56:53 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/67a34daf 8260630: Templatize literal_size 8260629: Remove explicit instantiation of Hashtable with oop value Reviewed-by: pliden, tschatzl, coleenp ! src/hotspot/share/utilities/hashtable.cpp Changeset: fcfe6478 Author: Alexey Ivanov Date: 2021-01-30 11:54:59 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fcfe6478 8260462: Missing in Modality.html Reviewed-by: serb, psadhukhan ! src/java.desktop/share/classes/java/awt/doc-files/Modality.html Changeset: a61ff87c Author: Daniel D. Daugherty Date: 2021-01-30 15:23:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a61ff87c 8260685: ProblemList 2 compiler/jvmci/compilerToVM tests in Xcomp configs Reviewed-by: iignatyev ! test/hotspot/jtreg/ProblemList-Xcomp.txt Changeset: 0da9cad5 Author: Jie Fu Date: 2021-01-31 00:27:55 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0da9cad5 8260501: [Vector API] Improve register usage for shift operations on x86 Reviewed-by: vlivanov, kvn ! src/hotspot/cpu/x86/x86.ad Changeset: 8a9004da Author: Albert Mingkun Yang Committer: Thomas Schatzl Date: 2021-01-31 17:03:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8a9004da 8260574: Remove parallel constructs in GenCollectedHeap::process_roots Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/genMarkSweep.cpp ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/serial/serialHeap.hpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.hpp ! src/hotspot/share/gc/shared/strongRootsScope.cpp ! src/hotspot/share/gc/shared/strongRootsScope.hpp Changeset: 039affc8 Author: Tobias Hartmann Date: 2021-02-01 06:33:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/039affc8 8260577: Unused code in AbstractCompiler after Shark compiler removal Reviewed-by: shade, chagedorn, kvn ! src/hotspot/share/c1/c1_Compiler.hpp ! src/hotspot/share/compiler/abstractCompiler.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/jvmci/jvmciCompiler.hpp Changeset: cf942081 Author: Johannes Kuhn Committer: Alan Bateman Date: 2021-02-01 08:09:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/cf942081 8259395: Patching automatic module with additional packages re-creates module without "requires java.base" Reviewed-by: attila, alanb ! src/java.base/share/classes/jdk/internal/module/ModulePatcher.java + test/jdk/tools/launcher/modules/patch/automatic/PatchTest.java + test/jdk/tools/launcher/modules/patch/automatic/myapp/module-info.java + test/jdk/tools/launcher/modules/patch/automatic/myapp/myapp/Main.java + test/jdk/tools/launcher/modules/patch/automatic/patch1/somelib/PatchInfo.java + test/jdk/tools/launcher/modules/patch/automatic/patch1/somelib/test/TestMain.java + test/jdk/tools/launcher/modules/patch/automatic/patch2/somelib/Dummy.java + test/jdk/tools/launcher/modules/patch/automatic/patch2/somelib/PatchInfo.java + test/jdk/tools/launcher/modules/patch/automatic/somelib/somelib/Dummy.java + test/jdk/tools/launcher/modules/patch/automatic/somelib/somelib/Invariants.java + test/jdk/tools/launcher/modules/patch/automatic/somelib/somelib/PatchInfo.java Changeset: ab727f0a Author: Aleksey Shipilev Date: 2021-02-01 08:49:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ab727f0a 8260591: Shenandoah: improve parallelism for concurrent thread root scans Reviewed-by: zgu, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp Changeset: aec03772 Author: Christian Hagedorn Date: 2021-02-01 09:39:31 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/aec03772 8257498: Remove useless skeleton predicates Reviewed-by: roland, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/node.cpp Changeset: c0cde7dc Author: Athijegannathan Sundararajan Date: 2021-02-01 12:57:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c0cde7dc 8259814: test/jdk/tools/jlink/plugins/CompressorPluginTest.java has compilation issues Reviewed-by: alanb ! test/jdk/ProblemList.txt ! test/jdk/tools/jlink/plugins/CompressorPluginTest.java Changeset: 80760a32 Author: Erik Joelsson Date: 2021-02-01 14:07:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/80760a32 8260669: Missing quotes in fixpath.sh Reviewed-by: tbell, iris, mikael, ihse ! make/scripts/fixpath.sh Changeset: 02d586e1 Author: Vladimir Kozlov Date: 2021-02-01 15:48:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/02d586e1 8259398: Super word not applied to a loop with byteArrayViewVarHandle Reviewed-by: vlivanov, thartmann, chagedorn ! src/hotspot/share/opto/superword.cpp ! test/hotspot/jtreg/compiler/vectorization/TestBufferVectorization.java Changeset: 181d63ff Author: Harold Seigel Date: 2021-02-01 16:46:17 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/181d63ff 8260522: Clean up warnings in hotspot JTReg runtime tests Reviewed-by: lfoltan, coleenp ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/TestJcmdOutput.java ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/common/optionsvalidation/DoubleJVMOption.java ! test/hotspot/jtreg/runtime/LoadClass/LongBCP.java ! test/hotspot/jtreg/runtime/LoadClass/TriggerResize.java ! test/hotspot/jtreg/runtime/cds/appcds/CommandLineFlagCombo.java ! test/hotspot/jtreg/runtime/cds/appcds/TestWithProfiler.java ! test/hotspot/jtreg/runtime/cds/appcds/cacheObject/MirrorWithReferenceFieldsApp.java ! test/hotspot/jtreg/runtime/modules/PatchModule/BasicJarBuilder.java ! test/hotspot/jtreg/runtime/records/RedefineRecord.java ! test/hotspot/jtreg/runtime/reflect/ArrayGetIntException.java ! test/hotspot/jtreg/runtime/sealedClasses/RedefinePermittedSubclass.java ! test/hotspot/jtreg/runtime/sealedClasses/RedefineSealedClass.java ! test/hotspot/jtreg/runtime/verifier/defaultMethods/DefaultMethodRegressionTests.java ! test/hotspot/jtreg/testlibrary/jvmti/TransformerAgent.java ! test/lib/jdk/test/lib/classloader/GeneratingClassLoader.java Changeset: df33595e Author: Roman Kennke Date: 2021-02-01 17:29:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/df33595e 8260309: Shenandoah: Clean up ShenandoahBarrierSet Reviewed-by: shade, zgu ! 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/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp Changeset: e963ebd7 Author: Zhengyu Gu Date: 2021-02-01 18:10:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e963ebd7 8260004: Shenandoah: Rename ShenandoahMarkCompact to ShenandoahFullGC Reviewed-by: shade, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp = src/hotspot/share/gc/shenandoah/shenandoahFullGC.cpp = src/hotspot/share/gc/shenandoah/shenandoahFullGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.hpp Changeset: 50f9a70f Author: JSNORDST Committer: Thomas Schatzl Date: 2021-02-01 18:19:43 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/50f9a70f 8217327: G1 Post-Cleanup region liveness printing should not print out-of-date efficiency Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/g1/heapRegion.inline.hpp Changeset: b6a73673 Author: David Holmes Date: 2021-02-01 21:31:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b6a73673 8260349: Cannot programmatically retrieve Metaspace max set via JAVA_TOOL_OPTIONS Reviewed-by: shade, stuefe ! src/hotspot/share/services/memoryPool.cpp + test/hotspot/jtreg/runtime/Metaspace/MaxMetaspaceSizeEnvVarTest.java Changeset: 55d62a53 Author: Calvin Cheung Date: 2021-02-01 22:17:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/55d62a53 8213226: [TESTBUG] Reduce the usage of CDSTestUtils.executeAndLog() Reviewed-by: iklam, minqi ! test/hotspot/jtreg/runtime/cds/CdsDifferentCompactStrings.java ! test/hotspot/jtreg/runtime/cds/DeterministicDump.java ! test/hotspot/jtreg/runtime/cds/DumpSharedDictionary.java ! test/hotspot/jtreg/runtime/cds/PrintSharedArchiveAndExit.java ! test/hotspot/jtreg/runtime/cds/SharedArchiveFile.java ! test/hotspot/jtreg/runtime/cds/SharedStringsDedup.java ! test/hotspot/jtreg/runtime/cds/SharedStringsRunAuto.java ! test/hotspot/jtreg/runtime/cds/SharedSymbolTableBucketSize.java ! test/hotspot/jtreg/runtime/cds/SpaceUtilizationCheck.java ! test/hotspot/jtreg/runtime/cds/appcds/BootClassPathMismatch.java ! test/hotspot/jtreg/runtime/cds/appcds/DumpClassList.java ! test/hotspot/jtreg/runtime/cds/appcds/GraalWithLimitedMetaspace.java ! test/hotspot/jtreg/runtime/cds/appcds/LambdaWithOldClass.java ! test/hotspot/jtreg/runtime/cds/appcds/LotsOfClasses.java ! test/hotspot/jtreg/runtime/cds/appcds/StaticArchiveWithLambda.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaForClassInBaseArchive.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaInBaseArchive.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/NoClassToArchive.java ! test/hotspot/jtreg/runtime/cds/appcds/jigsaw/NewModuleFinderTest.java ! test/hotspot/jtreg/runtime/cds/appcds/jvmti/ClassFileLoadHookTest.java ! test/hotspot/jtreg/runtime/cds/appcds/jvmti/InstrumentationTest.java ! test/hotspot/jtreg/runtime/cds/appcds/methodHandles/CDSMHTest_generate.sh ! test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesAsCollectorTest.java ! test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesCastFailureTest.java ! test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesGeneralTest.java ! test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesInvokersTest.java ! test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesPermuteArgumentsTest.java ! test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesSpreadArgumentsTest.java ! test/hotspot/jtreg/runtime/cds/appcds/sharedStrings/SharedStringsBasic.java ! test/hotspot/jtreg/runtime/cds/appcds/sharedStrings/SysDictCrash.java ! test/lib/jdk/test/lib/cds/CDSOptions.java ! test/lib/jdk/test/lib/cds/CDSTestUtils.java Changeset: 9880c4cd Author: Daniel D. Daugherty Date: 2021-02-01 22:52:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9880c4cd 8260860: ProblemList tools/jlink/plugins/CompressorPluginTest.java Reviewed-by: dholmes ! test/jdk/ProblemList.txt Changeset: a6d95058 Author: Daniel D. Daugherty Date: 2021-02-01 22:53:27 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a6d95058 8260864: ProblemList two security/krb5 tests on Linux Reviewed-by: dholmes ! test/jdk/ProblemList.txt Changeset: 54e7a642 Author: bobpengxie Committer: Jie Fu Date: 2021-02-02 02:16:46 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/54e7a642 8260576: Typo in compiler/runtime/safepoints/TestRegisterRestoring.java Reviewed-by: thartmann, jiefu ! test/hotspot/jtreg/compiler/runtime/safepoints/TestRegisterRestoring.java Changeset: 474dba2d Author: Joe Darcy Date: 2021-02-02 02:33:56 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/474dba2d 8257086: Clarify differences between {Float, Double}.equals and == Reviewed-by: smarks, bpb ! src/java.base/share/classes/java/lang/Double.java ! src/java.base/share/classes/java/lang/Float.java Changeset: fe407cf1 Author: Tobias Hartmann Date: 2021-02-02 07:23:55 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fe407cf1 8260420: C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint Reviewed-by: kvn, roland, chagedorn ! src/hotspot/share/opto/loopopts.cpp ! test/hotspot/jtreg/compiler/loopopts/TestSplitIfPinnedLoadInStripMinedLoop.java Changeset: ddd2951b Author: Thomas Stuefe Date: 2021-02-02 07:36:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ddd2951b 8260571: Add PrintMetaspaceStatistics to print metaspace statistics upon VM exit Reviewed-by: iklam ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/java.cpp Changeset: b4162a9e Author: Roman Kennke Date: 2021-02-02 10:55:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b4162a9e Merge remote-tracking branch 'upstream/master' From johnson.peter at gmail.com Tue Feb 2 15:53:17 2021 From: johnson.peter at gmail.com (Peter Johnson) Date: Tue, 2 Feb 2021 07:53:17 -0800 Subject: arm32 status Message-ID: Is anyone actively working on arm32 support? The wiki says "in development, help wanted" and Aleksey?s Sept 2019 presentation says "prototyping," but it doesn?t appear like there?s anything committed in hotspot/cpu/arm/gc. Does anyone have a work in progress on a personal fork? Is the scope essentially porting what?s in hotspot/cpu/aarch64/gc/shenandoah to arm32, or is there more to it? Thanks, Peter From shade at redhat.com Tue Feb 2 16:03:54 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 2 Feb 2021 17:03:54 +0100 Subject: arm32 status In-Reply-To: References: Message-ID: Hi, On 2/2/21 4:53 PM, Peter Johnson wrote: > Is anyone actively working on arm32 support? The wiki says "in > development, help wanted" and Aleksey?s Sept 2019 presentation says > "prototyping," but it doesn?t appear like there?s anything committed in > hotspot/cpu/arm/gc. Does anyone have a work in progress on a personal fork? I had started it at pre-COVID times, but then we had to stabilize ARM32 itself. Once we reached some level of ARM32 stability, other things preempted further ARM32 work. I have restarted the ARM32 port work yesterday, but -- kid you not -- I have to stabilize ARM32 itself before continuing! Such is life. So the bird-eye-view status is: the port is not even in alpha stage. What is your interest? Are you willing to contribute the port? :) > Is the scope essentially porting what?s in > hotspot/cpu/aarch64/gc/shenandoah to arm32, or is there more to it? Pretty much, yes. Plus some minor shared code changes to accept ARM32 for Shenandoah: diff -r 3b9b5cb7586f make/autoconf/jvm-features.m4 --- a/make/autoconf/jvm-features.m4 Thu Feb 27 12:19:24 2020 +0800 +++ b/make/autoconf/jvm-features.m4 Thu Feb 27 13:08:32 2020 +0100 @@ -353,7 +353,8 @@ JVM_FEATURES_CHECK_AVAILABILITY(shenandoahgc, [ AC_MSG_CHECKING([if platform is supported by Shenandoah]) if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86" || \ - test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then + test "x$OPENJDK_TARGET_CPU" = "xaarch64" || \ + test "x$OPENJDK_TARGET_CPU" = "xarm" ; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU]) diff -r 3b9b5cb7586f src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Thu Feb 27 12:19:24 2020 +0800 +++ b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Thu Feb 27 13:08:32 2020 +0100 @@ -32,7 +32,7 @@ #include "utilities/defaultStream.hpp" void ShenandoahArguments::initialize() { -#if !(defined AARCH64 || defined AMD64 || defined IA32) +#if !(defined AARCH64 || defined AMD64 || defined IA32 || defined ARM32) vm_exit_during_initialization("Shenandoah GC is not supported on this platform."); #endif @@ -41,7 +41,8 @@ log_warning(gc)(" concurrent modes are not supported, only STW cycles are enabled;"); log_warning(gc)(" arch-specific barrier code is not implemented, disabling barriers;"); - FLAG_SET_DEFAULT(ShenandoahGCHeuristics, "passive"); + FLAG_SET_DEFAULT(UnlockDiagnosticVMOptions, true); + FLAG_SET_DEFAULT(ShenandoahGCMode, "passive"); FLAG_SET_DEFAULT(ShenandoahSATBBarrier, false); FLAG_SET_DEFAULT(ShenandoahLoadRefBarrier, false); @@ -50,8 +51,10 @@ FLAG_SET_DEFAULT(ShenandoahCASBarrier, false); FLAG_SET_DEFAULT(ShenandoahCloneBarrier, false); +#ifdef ASSERT FLAG_SET_DEFAULT(ShenandoahVerifyOptoBarriers, false); #endif +#endif Once these two test suites succeed, you are pretty much done: $ CONF=linux-arm-server-fastdebug make images run-test TEST=hotspot_gc_shenandoah $ CONF=linux-arm-server-fastdebug make images run-test TEST=tier1 TEST_VM_OPTS=-XX:+UseShenandoahGC -- Thanks, -Aleksey From iklam at openjdk.java.net Tue Feb 2 17:22:04 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Tue, 2 Feb 2021 17:22:04 GMT Subject: RFR: 8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass [v6] In-Reply-To: References: Message-ID: > This is the second step of https://github.com/openjdk/jdk/pull/2246 (8260467: Move well-known classes from systemDictionary.hpp to vmClasses.hpp). These are mostly boiler-plate changes done by scripts. > > [1] Change calls like > > SystemDictionary::Object_klass() > SystemDictionary::Throwable_klass_is_loaded() > SystemDictionary::box_klass_type() > > to > > vmClasses::Object_klass() > vmClasses::Throwable_klass_is_loaded() > vmClasses::box_klass_type() > > [2] Remove unnecessary inclusion of systemDictionary.hpp (replace with vmClasses.hpp if necessary). In some cases, I have to add signature.hpp to some files, which only indirectly included signature.hpp through systemDictionary.hpp. > > [3] In the previous PR, I incorrectly used the enum name `VMClassID`. This PR changes it to `vmClassID` to match the existing use of `vmSymbolID` and `vmIntrinsicID`. > > Due to the refactoring of these two PRs, the number of HotSpot .o files that include systemDictionary.hpp decreases from 491 to 91. HotSpot build time is reduced by about 2% > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. > > Review Notes: if you don't want to scroll through 185 files, you may want to try: > > curl https://github.com/openjdk/jdk/compare/1de3c554477497d1ceee573180940e8d38c364ee...e2f77252c8b3edd4d0071cfc014290568a16de9d.diff | \ > grep -v '^[+-][+-][+-]' | grep '^[+-]' Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains eight commits: - updated copyright - Merge branch 'master' into 8260471-SystemDictionary-to-vmClasses-rename - fixed SA (serviceability/sa/CDSJMapClstats.java) - fixed comments - Merge branch 'master' into 8260471-SystemDictionary-to-vmClasses-rename - fixed AOT build - added missing #include systemDictionary.hpp - 8260471: Change SystemDictionary::xxx_klass() calls to vmClasses::xxx_klass() ------------- Changes: https://git.openjdk.java.net/jdk/pull/2301/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2301&range=05 Stats: 806 lines in 191 files changed: 94 ins; 67 del; 645 mod Patch: https://git.openjdk.java.net/jdk/pull/2301.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2301/head:pull/2301 PR: https://git.openjdk.java.net/jdk/pull/2301 From iklam at openjdk.java.net Tue Feb 2 17:22:05 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Tue, 2 Feb 2021 17:22:05 GMT Subject: RFR: 8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass [v5] In-Reply-To: <-_LSd7J2e_ReZLdIKH0wlpoR8pv2CF75saI9eJkHWms=.dd6717de-5f5e-43fe-b3fc-8ebdd649bad8@github.com> References: <-_LSd7J2e_ReZLdIKH0wlpoR8pv2CF75saI9eJkHWms=.dd6717de-5f5e-43fe-b3fc-8ebdd649bad8@github.com> Message-ID: On Tue, 2 Feb 2021 07:50:45 GMT, Thomas Stuefe wrote: >> Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: >> >> fixed SA (serviceability/sa/CDSJMapClstats.java) > > Marked as reviewed by stuefe (Reviewer). Thanks @tstuefe, @hseigel, @dholmes-ora and @lfoltan for the review. I will merge/test/push tonight when the repo is relatively quiet. ------------- PR: https://git.openjdk.java.net/jdk/pull/2301 From johnson.peter at gmail.com Tue Feb 2 19:16:09 2021 From: johnson.peter at gmail.com (Peter Johnson) Date: Tue, 2 Feb 2021 11:16:09 -0800 Subject: arm32 status In-Reply-To: References: Message-ID: On Tue, Feb 2, 2021 at 8:04 AM Aleksey Shipilev wrote: > On 2/2/21 4:53 PM, Peter Johnson wrote: > > Is anyone actively working on arm32 support? The wiki says "in > > development, help wanted" and Aleksey?s Sept 2019 presentation says > > "prototyping," but it doesn?t appear like there?s anything committed in > > hotspot/cpu/arm/gc. Does anyone have a work in progress on a personal fork? > > I had started it at pre-COVID times, but then we had to stabilize ARM32 itself. Once we reached some > level of ARM32 stability, other things preempted further ARM32 work. I have restarted the ARM32 port > work yesterday, but -- kid you not -- I have to stabilize ARM32 itself before continuing! Such is life. > > So the bird-eye-view status is: the port is not even in alpha stage. > > What is your interest? Are you willing to contribute the port? :) I'm willing to help, but I'm worried that taking on the full implementation is a bit too much of a hill for me to climb in a reasonable timeframe (particularly if ARM32 itself is unstable!). I've worked before at this level in x86 assembly, but not in ARM, and I've not worked on the JDK codebase before. In reviewing the aarch64 implementation, it looks like the barrierSetAssembler is the critical component? In comparing other barrierSetAssembler implementations between aarch64 and arm, there is significant similarity but also non-obvious (to me) differences, so I'd be worried about missing something fundamental when porting Shenandoah. -- Thanks, -Peter From martin.doerr at sap.com Tue Feb 2 19:36:25 2021 From: martin.doerr at sap.com (Doerr, Martin) Date: Tue, 2 Feb 2021 19:36:25 +0000 Subject: arm32 status In-Reply-To: References: Message-ID: Hi, note that Shenandoah has similar prerequisites as zGC with JDK17 which include at least: Load barriers in interpreter: OopHandle should use Access API: https://bugs.openjdk.java.net/browse/JDK-8260369 Concurrent Class Unloading: nmethod entry barriers: https://bugs.openjdk.java.net/browse/JDK-8260372 And very recently: Concurrent Thread-Stack Processing ZGC: Implementation of JEP 376: ZGC: Concurrent Thread-Stack Processing: https://bugs.openjdk.java.net/browse/JDK-8253180 These ones are currently missing on PPC64, too. Best regards, Martin > -----Original Message----- > From: shenandoah-dev On > Behalf Of Peter Johnson > Sent: Dienstag, 2. Februar 2021 20:16 > To: Aleksey Shipilev > Cc: shenandoah-dev at openjdk.java.net > Subject: Re: arm32 status > > On Tue, Feb 2, 2021 at 8:04 AM Aleksey Shipilev > wrote: > > On 2/2/21 4:53 PM, Peter Johnson wrote: > > > Is anyone actively working on arm32 support? The wiki says "in > > > development, help wanted" and Aleksey?s Sept 2019 presentation says > > > "prototyping," but it doesn?t appear like there?s anything committed in > > > hotspot/cpu/arm/gc. Does anyone have a work in progress on a personal > fork? > > > > I had started it at pre-COVID times, but then we had to stabilize ARM32 > itself. Once we reached some > > level of ARM32 stability, other things preempted further ARM32 work. I > have restarted the ARM32 port > > work yesterday, but -- kid you not -- I have to stabilize ARM32 itself before > continuing! Such is life. > > > > So the bird-eye-view status is: the port is not even in alpha stage. > > > > What is your interest? Are you willing to contribute the port? :) > > I'm willing to help, but I'm worried that taking on the full > implementation is a bit too much of a hill for me to climb in a > reasonable timeframe (particularly if ARM32 itself is unstable!). > I've worked before at this level in x86 assembly, but not in ARM, and > I've not worked on the JDK codebase before. In reviewing the aarch64 > implementation, it looks like the barrierSetAssembler is the critical > component? In comparing other barrierSetAssembler implementations > between aarch64 and arm, there is significant similarity but also > non-obvious (to me) differences, so I'd be worried about missing > something fundamental when porting Shenandoah. > > -- > Thanks, > -Peter From johnson.peter at gmail.com Tue Feb 2 20:54:56 2021 From: johnson.peter at gmail.com (Peter Johnson) Date: Tue, 2 Feb 2021 12:54:56 -0800 Subject: arm32 status In-Reply-To: References: Message-ID: On Tue, Feb 2, 2021 at 11:36 AM Doerr, Martin wrote: > Hi, > > note that Shenandoah has similar prerequisites as zGC with JDK17 which > include at least: > > Load barriers in interpreter: > OopHandle should use Access API: > https://bugs.openjdk.java.net/browse/JDK-8260369 > > Concurrent Class Unloading: > nmethod entry barriers: > https://bugs.openjdk.java.net/browse/JDK-8260372 > > And very recently: Concurrent Thread-Stack Processing > ZGC: Implementation of JEP 376: ZGC: Concurrent Thread-Stack Processing: > https://bugs.openjdk.java.net/browse/JDK-8253180 > > These ones are currently missing on PPC64, too. It seems like HEAD is a moving target, both for these types of changes and maybe overall ARM32 stability? I?m sure the general preference is to develop against HEAD, but is there an argument here that it might be more efficient to do the initial port on a more stable branch (16?) to get it working, and then bring it forward? It might be just trading one set of challenges for a different set though. Is the Shenandoah backport to earlier versions kept fairly up to date? -Peter > From zgu at openjdk.java.net Tue Feb 2 21:35:51 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Tue, 2 Feb 2021 21:35:51 GMT Subject: RFR: 8260998: Shenandoah: Restore reference processing statistics reporting Message-ID: Please review this patch that restores reporting of reference processing statistics after JDK-8254315 ------------- Commit messages: - JDK-8260998-ref-proc-stats Changes: https://git.openjdk.java.net/jdk/pull/2362/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2362&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8260998 Stats: 20 lines in 3 files changed: 18 ins; 1 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/2362.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2362/head:pull/2362 PR: https://git.openjdk.java.net/jdk/pull/2362 From kdnilsen at openjdk.java.net Tue Feb 2 22:29:56 2021 From: kdnilsen at openjdk.java.net (Kelvin Nilsen) Date: Tue, 2 Feb 2021 22:29:56 GMT Subject: RFR: Milestone 1 [v2] In-Reply-To: References: Message-ID: > The objective of Milestone-1 is to demonstrate that certain heap regions can be designated as representing old-gen, card marking and remembered set implementation do not crash. Since the current implementation does not promote objects into old-gen space, much of the implementation of card marking and remembered set scanning is not exercised. > > The following simple test program was used to demonstrate execution: > > public class hello { > public static void main(String args[]) { > Node n = null; > for (int count = 10000; count > 0; count--) { > n = Node.upheaval(n); > System.out.print(count); > System.out.print(": Hello world: "); > for (int i = 0; i < args.length; i++) { > System.out.print(args[i]); > System.out.print(" "); > } > System.out.print("[node value is " + n.value() + "]"); > System.out.println(""); > } > } > } > > import java.util.Random; > > public class Node { > static private final int NeighborCount = 5; > static private Random random = new Random(46); > > private int val; > private Object field_o; > > private int[] field_ints; > private Node [] neighbors; > > // Copy each neighbor of n into new node's neighbor array. Then overwrite > // arbitrarily selected neighbor with newly allocated leaf node. > public static Node upheaval(Node n) { > int first_val = random.nextInt(); > if (first_val < 0) first_val = -first_val; > if (first_val < 0) first_val = 0; > Node result = new Node(first_val); > if (n != null) { > for (int i = 0; i < NeighborCount; i++) > result.neighbors[i] = n.neighbors[i]; > } > int second_val = random.nextInt(); > if (second_val < 0) second_val = -second_val; > if (second_val < 0) second_val = 0; > int overwrite_index = first_val % NeighborCount; > result.neighbors[overwrite_index] = new Node(second_val); > return result; > } > > public Node(int val) { > this.val = val; > this.field_o = new Object(); > this.field_ints = new int[8]; > this.field_ints[0] = 0xca; > this.field_ints[1] = 0xfe; > this.field_ints[2] = 0xba; > this.field_ints[3] = 0xbe; > this.field_ints[4] = 0xba; > this.field_ints[5] = 0xad; > this.field_ints[6] = 0xba; > this.field_ints[7] = 0xbe; > this.neighbors = new Node[NeighborCount]; > } > > public int value() { > return val; > } > } Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision: Addressed reviewer feedback Removed unneeded include in shenandoahCardTable.cpp. Established a new jtreg subdirectory for generational tests with accompanying changes to TEST.groups to exercise the new tests. ------------- Changes: - all: https://git.openjdk.java.net/shenandoah/pull/13/files - new: https://git.openjdk.java.net/shenandoah/pull/13/files/7c425251..f6df6aa5 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=13&range=01 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=13&range=00-01 Stats: 199 lines in 4 files changed: 198 ins; 1 del; 0 mod Patch: https://git.openjdk.java.net/shenandoah/pull/13.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/13/head:pull/13 PR: https://git.openjdk.java.net/shenandoah/pull/13 From kdnilsen at openjdk.java.net Tue Feb 2 22:29:57 2021 From: kdnilsen at openjdk.java.net (Kelvin Nilsen) Date: Tue, 2 Feb 2021 22:29:57 GMT Subject: RFR: Milestone 1 [v2] In-Reply-To: References: Message-ID: <9JwE1yVIWg-mfRcZd8MAdvQjpO8AxKB8A28WU0BCh74=.b77b8b78-8bf6-4276-8deb-9c050f5f8019@github.com> On Thu, 21 Jan 2021 21:07:55 GMT, Roman Kennke wrote: >> Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision: >> >> Addressed reviewer feedback >> >> Removed unneeded include in shenandoahCardTable.cpp. Established a new >> jtreg subdirectory for generational tests with accompanying changes to >> TEST.groups to exercise the new tests. > > src/hotspot/share/gc/shenandoah/shenandoahCardTable.cpp line 26: > >> 24: >> 25: #include "precompiled.hpp" >> 26: #include "gc/shenandoah/shenandoahHeap.inline.hpp" > > What is this include used for? This include will be removed in the next commit. ------------- PR: https://git.openjdk.java.net/shenandoah/pull/13 From kdnilsen at openjdk.java.net Tue Feb 2 22:36:41 2021 From: kdnilsen at openjdk.java.net (Kelvin Nilsen) Date: Tue, 2 Feb 2021 22:36:41 GMT Subject: RFR: Milestone 1 [v3] In-Reply-To: References: Message-ID: <0dMmQ4z8BR9H2O7Gaa5wQXG616voa3tbcwRVmIIpxY0=.bb1e90d1-9861-4bd3-88f6-c1ade0ff1135@github.com> > The objective of Milestone-1 is to demonstrate that certain heap regions can be designated as representing old-gen, card marking and remembered set implementation do not crash. Since the current implementation does not promote objects into old-gen space, much of the implementation of card marking and remembered set scanning is not exercised. > > The following simple test program was used to demonstrate execution: > > public class hello { > public static void main(String args[]) { > Node n = null; > for (int count = 10000; count > 0; count--) { > n = Node.upheaval(n); > System.out.print(count); > System.out.print(": Hello world: "); > for (int i = 0; i < args.length; i++) { > System.out.print(args[i]); > System.out.print(" "); > } > System.out.print("[node value is " + n.value() + "]"); > System.out.println(""); > } > } > } > > import java.util.Random; > > public class Node { > static private final int NeighborCount = 5; > static private Random random = new Random(46); > > private int val; > private Object field_o; > > private int[] field_ints; > private Node [] neighbors; > > // Copy each neighbor of n into new node's neighbor array. Then overwrite > // arbitrarily selected neighbor with newly allocated leaf node. > public static Node upheaval(Node n) { > int first_val = random.nextInt(); > if (first_val < 0) first_val = -first_val; > if (first_val < 0) first_val = 0; > Node result = new Node(first_val); > if (n != null) { > for (int i = 0; i < NeighborCount; i++) > result.neighbors[i] = n.neighbors[i]; > } > int second_val = random.nextInt(); > if (second_val < 0) second_val = -second_val; > if (second_val < 0) second_val = 0; > int overwrite_index = first_val % NeighborCount; > result.neighbors[overwrite_index] = new Node(second_val); > return result; > } > > public Node(int val) { > this.val = val; > this.field_o = new Object(); > this.field_ints = new int[8]; > this.field_ints[0] = 0xca; > this.field_ints[1] = 0xfe; > this.field_ints[2] = 0xba; > this.field_ints[3] = 0xbe; > this.field_ints[4] = 0xba; > this.field_ints[5] = 0xad; > this.field_ints[6] = 0xba; > this.field_ints[7] = 0xbe; > this.neighbors = new Node[NeighborCount]; > } > > public int value() { > return val; > } > } Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision: Remove trailing white space ------------- Changes: - all: https://git.openjdk.java.net/shenandoah/pull/13/files - new: https://git.openjdk.java.net/shenandoah/pull/13/files/f6df6aa5..01265c51 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=13&range=02 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=13&range=01-02 Stats: 5 lines in 2 files changed: 0 ins; 0 del; 5 mod Patch: https://git.openjdk.java.net/shenandoah/pull/13.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/13/head:pull/13 PR: https://git.openjdk.java.net/shenandoah/pull/13 From adityam at openjdk.java.net Tue Feb 2 23:30:03 2021 From: adityam at openjdk.java.net (Aditya Mandaleeka) Date: Tue, 2 Feb 2021 23:30:03 GMT Subject: RFR: Milestone 1 [v3] In-Reply-To: References: Message-ID: <9wCWC1NgNbYUzXs6UUYL4e6qpOZzRYAiF0gQGzlQZwI=.b926b77c-2f04-4be2-a1ca-b29c8598f00b@github.com> On Thu, 21 Jan 2021 21:09:43 GMT, Roman Kennke wrote: >> Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision: >> >> Remove trailing white space > > Very nice! Only one question regarding what looks like a rogue include. Also, maybe the testprogram can be readily included as first jtreg test that exercises genshen when running make test TEST=hotspot_gc_shenandoah (even when it probably doesn't test anything except that it doesn't crash)? This looks good to me. I like the idea to include the test into hs_gc_shen as the first "real" jtreg test for genshen. In time, perhaps tier1 genshen tests (like "does card marking crash") should be in the Shenandoah tier1 tests, but for now I'm fine with it where you put it. ------------- PR: https://git.openjdk.java.net/shenandoah/pull/13 From iklam at openjdk.java.net Tue Feb 2 23:43:55 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Tue, 2 Feb 2021 23:43:55 GMT Subject: Integrated: 8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass In-Reply-To: References: Message-ID: On Thu, 28 Jan 2021 21:00:04 GMT, Ioi Lam wrote: > This is the second step of https://github.com/openjdk/jdk/pull/2246 (8260467: Move well-known classes from systemDictionary.hpp to vmClasses.hpp). These are mostly boiler-plate changes done by scripts. > > [1] Change calls like > > SystemDictionary::Object_klass() > SystemDictionary::Throwable_klass_is_loaded() > SystemDictionary::box_klass_type() > > to > > vmClasses::Object_klass() > vmClasses::Throwable_klass_is_loaded() > vmClasses::box_klass_type() > > [2] Remove unnecessary inclusion of systemDictionary.hpp (replace with vmClasses.hpp if necessary). In some cases, I have to add signature.hpp to some files, which only indirectly included signature.hpp through systemDictionary.hpp. > > [3] In the previous PR, I incorrectly used the enum name `VMClassID`. This PR changes it to `vmClassID` to match the existing use of `vmSymbolID` and `vmIntrinsicID`. > > Due to the refactoring of these two PRs, the number of HotSpot .o files that include systemDictionary.hpp decreases from 491 to 91. HotSpot build time is reduced by about 2% > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. > > Review Notes: if you don't want to scroll through 185 files, you may want to try: > > curl https://github.com/openjdk/jdk/compare/1de3c554477497d1ceee573180940e8d38c364ee...e2f77252c8b3edd4d0071cfc014290568a16de9d.diff | \ > grep -v '^[+-][+-][+-]' | grep '^[+-]' This pull request has now been integrated. Changeset: ffbcf1b0 Author: Ioi Lam URL: https://git.openjdk.java.net/jdk/commit/ffbcf1b0 Stats: 806 lines in 191 files changed: 94 ins; 67 del; 645 mod 8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass Reviewed-by: lfoltan, hseigel, dholmes, stuefe ------------- PR: https://git.openjdk.java.net/jdk/pull/2301 From shade at openjdk.java.net Wed Feb 3 08:39:42 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 3 Feb 2021 08:39:42 GMT Subject: RFR: 8260998: Shenandoah: Restore reference processing statistics reporting In-Reply-To: References: Message-ID: On Tue, 2 Feb 2021 20:49:04 GMT, Zhengyu Gu wrote: > Please review this patch that restores reporting of reference processing statistics after JDK-8254315 Looks fine to me. ------------- Marked as reviewed by shade (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2362 From zgu at openjdk.java.net Wed Feb 3 13:19:53 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Wed, 3 Feb 2021 13:19:53 GMT Subject: Integrated: 8260998: Shenandoah: Restore reference processing statistics reporting In-Reply-To: References: Message-ID: On Tue, 2 Feb 2021 20:49:04 GMT, Zhengyu Gu wrote: > Please review this patch that restores reporting of reference processing statistics after JDK-8254315 This pull request has now been integrated. Changeset: 5324b5c5 Author: Zhengyu Gu URL: https://git.openjdk.java.net/jdk/commit/5324b5c5 Stats: 20 lines in 3 files changed: 18 ins; 1 del; 1 mod 8260998: Shenandoah: Restore reference processing statistics reporting Reviewed-by: shade ------------- PR: https://git.openjdk.java.net/jdk/pull/2362 From rkennke at openjdk.java.net Wed Feb 3 16:09:03 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Wed, 3 Feb 2021 16:09:03 GMT Subject: RFR: Milestone 1 [v3] In-Reply-To: <0dMmQ4z8BR9H2O7Gaa5wQXG616voa3tbcwRVmIIpxY0=.bb1e90d1-9861-4bd3-88f6-c1ade0ff1135@github.com> References: <0dMmQ4z8BR9H2O7Gaa5wQXG616voa3tbcwRVmIIpxY0=.bb1e90d1-9861-4bd3-88f6-c1ade0ff1135@github.com> Message-ID: On Tue, 2 Feb 2021 22:36:41 GMT, Kelvin Nilsen wrote: >> The objective of Milestone-1 is to demonstrate that certain heap regions can be designated as representing old-gen, card marking and remembered set implementation do not crash. Since the current implementation does not promote objects into old-gen space, much of the implementation of card marking and remembered set scanning is not exercised. >> >> The following simple test program was used to demonstrate execution: >> >> public class hello { >> public static void main(String args[]) { >> Node n = null; >> for (int count = 10000; count > 0; count--) { >> n = Node.upheaval(n); >> System.out.print(count); >> System.out.print(": Hello world: "); >> for (int i = 0; i < args.length; i++) { >> System.out.print(args[i]); >> System.out.print(" "); >> } >> System.out.print("[node value is " + n.value() + "]"); >> System.out.println(""); >> } >> } >> } >> >> import java.util.Random; >> >> public class Node { >> static private final int NeighborCount = 5; >> static private Random random = new Random(46); >> >> private int val; >> private Object field_o; >> >> private int[] field_ints; >> private Node [] neighbors; >> >> // Copy each neighbor of n into new node's neighbor array. Then overwrite >> // arbitrarily selected neighbor with newly allocated leaf node. >> public static Node upheaval(Node n) { >> int first_val = random.nextInt(); >> if (first_val < 0) first_val = -first_val; >> if (first_val < 0) first_val = 0; >> Node result = new Node(first_val); >> if (n != null) { >> for (int i = 0; i < NeighborCount; i++) >> result.neighbors[i] = n.neighbors[i]; >> } >> int second_val = random.nextInt(); >> if (second_val < 0) second_val = -second_val; >> if (second_val < 0) second_val = 0; >> int overwrite_index = first_val % NeighborCount; >> result.neighbors[overwrite_index] = new Node(second_val); >> return result; >> } >> >> public Node(int val) { >> this.val = val; >> this.field_o = new Object(); >> this.field_ints = new int[8]; >> this.field_ints[0] = 0xca; >> this.field_ints[1] = 0xfe; >> this.field_ints[2] = 0xba; >> this.field_ints[3] = 0xbe; >> this.field_ints[4] = 0xba; >> this.field_ints[5] = 0xad; >> this.field_ints[6] = 0xba; >> this.field_ints[7] = 0xbe; >> this.neighbors = new Node[NeighborCount]; >> } >> >> public int value() { >> return val; >> } >> } > > Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision: > > Remove trailing white space Looks good to me! ------------- Marked as reviewed by rkennke (Reviewer). PR: https://git.openjdk.java.net/shenandoah/pull/13 From adityam at openjdk.java.net Wed Feb 3 18:27:59 2021 From: adityam at openjdk.java.net (Aditya Mandaleeka) Date: Wed, 3 Feb 2021 18:27:59 GMT Subject: RFR: Milestone 1 [v3] In-Reply-To: <0dMmQ4z8BR9H2O7Gaa5wQXG616voa3tbcwRVmIIpxY0=.bb1e90d1-9861-4bd3-88f6-c1ade0ff1135@github.com> References: <0dMmQ4z8BR9H2O7Gaa5wQXG616voa3tbcwRVmIIpxY0=.bb1e90d1-9861-4bd3-88f6-c1ade0ff1135@github.com> Message-ID: On Tue, 2 Feb 2021 22:36:41 GMT, Kelvin Nilsen wrote: >> The objective of Milestone-1 is to demonstrate that certain heap regions can be designated as representing old-gen, card marking and remembered set implementation do not crash. Since the current implementation does not promote objects into old-gen space, much of the implementation of card marking and remembered set scanning is not exercised. >> >> The following simple test program was used to demonstrate execution: >> >> public class hello { >> public static void main(String args[]) { >> Node n = null; >> for (int count = 10000; count > 0; count--) { >> n = Node.upheaval(n); >> System.out.print(count); >> System.out.print(": Hello world: "); >> for (int i = 0; i < args.length; i++) { >> System.out.print(args[i]); >> System.out.print(" "); >> } >> System.out.print("[node value is " + n.value() + "]"); >> System.out.println(""); >> } >> } >> } >> >> import java.util.Random; >> >> public class Node { >> static private final int NeighborCount = 5; >> static private Random random = new Random(46); >> >> private int val; >> private Object field_o; >> >> private int[] field_ints; >> private Node [] neighbors; >> >> // Copy each neighbor of n into new node's neighbor array. Then overwrite >> // arbitrarily selected neighbor with newly allocated leaf node. >> public static Node upheaval(Node n) { >> int first_val = random.nextInt(); >> if (first_val < 0) first_val = -first_val; >> if (first_val < 0) first_val = 0; >> Node result = new Node(first_val); >> if (n != null) { >> for (int i = 0; i < NeighborCount; i++) >> result.neighbors[i] = n.neighbors[i]; >> } >> int second_val = random.nextInt(); >> if (second_val < 0) second_val = -second_val; >> if (second_val < 0) second_val = 0; >> int overwrite_index = first_val % NeighborCount; >> result.neighbors[overwrite_index] = new Node(second_val); >> return result; >> } >> >> public Node(int val) { >> this.val = val; >> this.field_o = new Object(); >> this.field_ints = new int[8]; >> this.field_ints[0] = 0xca; >> this.field_ints[1] = 0xfe; >> this.field_ints[2] = 0xba; >> this.field_ints[3] = 0xbe; >> this.field_ints[4] = 0xba; >> this.field_ints[5] = 0xad; >> this.field_ints[6] = 0xba; >> this.field_ints[7] = 0xbe; >> this.neighbors = new Node[NeighborCount]; >> } >> >> public int value() { >> return val; >> } >> } > > Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision: > > Remove trailing white space Sorry, I wrote my approval in a comment earlier but forgot to actually submit the review. ------------- Marked as reviewed by adityam (Author). PR: https://git.openjdk.java.net/shenandoah/pull/13 From zgu at openjdk.java.net Wed Feb 3 20:10:53 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Wed, 3 Feb 2021 20:10:53 GMT Subject: RFR: 8259647: Add support for JFR event ObjectCountAfterGC to Shenandoah Message-ID: Please review this patch that adds JFR ObjectCountAfterGC event support. AFAICT, the event is off by default. If it is enabled, it distorts Shenandoah pause characteristics, since it performs heap walk during final mark pause. When event is disabled: `[191.033s][info][gc,stats] Pause Init Mark (G) 454 us` `[191.033s][info][gc,stats] Pause Init Mark (N) 13 us` When event is enabled: `[396.631s][info][gc,stats] Pause Final Mark (G) 43199 us` `[396.631s][info][gc,stats] Pause Final Mark (N) 42982 us` Test: - [x] hotspot_gc_shenandoah ------------- Commit messages: - JDK-8259647-object_count_jfr Changes: https://git.openjdk.java.net/jdk/pull/2386/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2386&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8259647 Stats: 12 lines in 3 files changed: 6 ins; 4 del; 2 mod Patch: https://git.openjdk.java.net/jdk/pull/2386.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2386/head:pull/2386 PR: https://git.openjdk.java.net/jdk/pull/2386 From jwilhelm at openjdk.java.net Thu Feb 4 01:24:02 2021 From: jwilhelm at openjdk.java.net (Jesper Wilhelmsson) Date: Thu, 4 Feb 2021 01:24:02 GMT Subject: RFR: Merge jdk16 Message-ID: Forwardport JDK 16 -> JDK 17 ------------- Commit messages: - Merge - 8259794: Remove EA from JDK 16 version string starting with Initial RC promotion on Feb 04, 2021(B35) - 8260704: ParallelGC: oldgen expansion needs release-store for _end - 8260927: StringBuilder::insert is incorrect without Compact Strings - 8258378: Final nroff manpage update for JDK 16 - 8257215: JFR: Events dropped when streaming over a chunk rotation - 8260473: [vector] ZGC: VectorReshape test produces incorrect results with ZGC enabled - 8260632: Build failures after JDK-8253353 - 8260339: JVM crashes when executing PhaseIdealLoop::match_fill_loop - 8260608: add a regression test for 8260370 - ... and 2 more: https://git.openjdk.java.net/jdk/compare/f025bc1d...dad835ee The webrevs contain the adjustments done while merging with regards to each parent branch: - master: https://webrevs.openjdk.java.net/?repo=jdk&pr=2392&range=00.0 - jdk16: https://webrevs.openjdk.java.net/?repo=jdk&pr=2392&range=00.1 Changes: https://git.openjdk.java.net/jdk/pull/2392/files Stats: 2645 lines in 56 files changed: 2497 ins; 69 del; 79 mod Patch: https://git.openjdk.java.net/jdk/pull/2392.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2392/head:pull/2392 PR: https://git.openjdk.java.net/jdk/pull/2392 From iklam at openjdk.java.net Thu Feb 4 01:38:49 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Thu, 4 Feb 2021 01:38:49 GMT Subject: RFR: 8261106: Reduce inclusion of jniHandles.hpp Message-ID: niHandles.hpp is included by about 800 out of 1000 HotSpot .o files. Most of these are transitively included from these header files, which don't actually need to include jniHandles.hpp. - ci/ciBaseObject.hpp - ci/ciMetadata.hpp - ci/ciObject.hpp - classfile/moduleEntry.hpp - gc/shared/gcVMOperations.hpp - jvmci/jvmciJavaClasses.hpp - runtime/thread.hpp - services/threadService.hpp Fixing these headers reduces the number of .o files that include jniHandles.hpp to 145. Note: 43 files were changed in this PR. Most of them were using jniHandles.hpp but were not including it directly. Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. ------------- Commit messages: - 8261106: Reduce inclusion of jniHandles.hpp Changes: https://git.openjdk.java.net/jdk/pull/2393/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2393&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261106 Stats: 44 lines in 43 files changed: 36 ins; 8 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/2393.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2393/head:pull/2393 PR: https://git.openjdk.java.net/jdk/pull/2393 From jwilhelm at openjdk.java.net Thu Feb 4 02:09:40 2021 From: jwilhelm at openjdk.java.net (Jesper Wilhelmsson) Date: Thu, 4 Feb 2021 02:09:40 GMT Subject: Integrated: Merge jdk16 In-Reply-To: References: Message-ID: <9bIQlW7tZAt5i8quzTGD6Z6vHAG4-Q8-_saIecOJ4dM=.b1dacc8a-2678-417c-958b-650ff659723f@github.com> On Thu, 4 Feb 2021 01:17:48 GMT, Jesper Wilhelmsson wrote: > Forwardport JDK 16 -> JDK 17 This pull request has now been integrated. Changeset: 9b7a8f19 Author: Jesper Wilhelmsson URL: https://git.openjdk.java.net/jdk/commit/9b7a8f19 Stats: 2645 lines in 56 files changed: 2497 ins; 69 del; 79 mod Merge ------------- PR: https://git.openjdk.java.net/jdk/pull/2392 From iklam at openjdk.java.net Thu Feb 4 06:16:00 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Thu, 4 Feb 2021 06:16:00 GMT Subject: RFR: 8261125: Move VM_Operation to vmOperation.hpp Message-ID: vmOperations.hpp declares the VM_Operation class, as well as a hodge podge of subclasses such as VM_ForceSafepoint, VM_DeoptimizeFrame. Out of the 1000 hotspot .o files, about 680 include vmOperations.hpp (mostly transitively). In most cases, they just need to use the VM_Operation class. So we should move VM_Operation to its own header: vmOperation.hpp (no "s"). After the refactoring, vmOperations.hpp is included only 64 times. The inclusion count of threadSMR.hpp is also reduced from 687 to 99. HotSpot build time is improved by about 0.4%. Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. ------------- Commit messages: - 8261125: Move VM_Operation to vmOperation.hpp Changes: https://git.openjdk.java.net/jdk/pull/2398/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2398&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261125 Stats: 347 lines in 24 files changed: 189 ins; 142 del; 16 mod Patch: https://git.openjdk.java.net/jdk/pull/2398.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2398/head:pull/2398 PR: https://git.openjdk.java.net/jdk/pull/2398 From roland at openjdk.java.net Thu Feb 4 08:43:08 2021 From: roland at openjdk.java.net (Roland Westrelin) Date: Thu, 4 Feb 2021 08:43:08 GMT Subject: RFR: 8260637: Shenandoah: assert(_base == Tuple) failure during C2 compilation Message-ID: Another shenandoah bug with a fix in shared code. LRBRightAfterMemBar.test2() has 2 allocations that are non escaping but non scalarizable. As a result, the null check for a3.f is optimized out but the CastPP is left in the graph. That CastPP becomes control dependent on the o2 == null check which is later hoisted out of the loop. The CastPP is then right after the membar of the barrier = 0x42 volatile access but with an out of loop control. Because the node is considered pinned by loopopts, it is assigned the membar as control. The input of the CastPP is a shenandoah barrier that's sandwiched between the membar and the CastPP and so expanded right after the membar (that is between the membar and its control projection). That causes the crash. I don't think cast nodes need to be pinned so I propose that as a fix. ------------- Commit messages: - test & fix Changes: https://git.openjdk.java.net/jdk/pull/2400/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2400&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8260637 Stats: 33 lines in 2 files changed: 27 ins; 0 del; 6 mod Patch: https://git.openjdk.java.net/jdk/pull/2400.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2400/head:pull/2400 PR: https://git.openjdk.java.net/jdk/pull/2400 From kdnilsen at openjdk.java.net Thu Feb 4 08:48:01 2021 From: kdnilsen at openjdk.java.net (Kelvin Nilsen) Date: Thu, 4 Feb 2021 08:48:01 GMT Subject: Integrated: Milestone 1 In-Reply-To: References: Message-ID: On Thu, 21 Jan 2021 18:31:05 GMT, Kelvin Nilsen wrote: > The objective of Milestone-1 is to demonstrate that certain heap regions can be designated as representing old-gen, card marking and remembered set implementation do not crash. Since the current implementation does not promote objects into old-gen space, much of the implementation of card marking and remembered set scanning is not exercised. > > The following simple test program was used to demonstrate execution: > > public class hello { > public static void main(String args[]) { > Node n = null; > for (int count = 10000; count > 0; count--) { > n = Node.upheaval(n); > System.out.print(count); > System.out.print(": Hello world: "); > for (int i = 0; i < args.length; i++) { > System.out.print(args[i]); > System.out.print(" "); > } > System.out.print("[node value is " + n.value() + "]"); > System.out.println(""); > } > } > } > > import java.util.Random; > > public class Node { > static private final int NeighborCount = 5; > static private Random random = new Random(46); > > private int val; > private Object field_o; > > private int[] field_ints; > private Node [] neighbors; > > // Copy each neighbor of n into new node's neighbor array. Then overwrite > // arbitrarily selected neighbor with newly allocated leaf node. > public static Node upheaval(Node n) { > int first_val = random.nextInt(); > if (first_val < 0) first_val = -first_val; > if (first_val < 0) first_val = 0; > Node result = new Node(first_val); > if (n != null) { > for (int i = 0; i < NeighborCount; i++) > result.neighbors[i] = n.neighbors[i]; > } > int second_val = random.nextInt(); > if (second_val < 0) second_val = -second_val; > if (second_val < 0) second_val = 0; > int overwrite_index = first_val % NeighborCount; > result.neighbors[overwrite_index] = new Node(second_val); > return result; > } > > public Node(int val) { > this.val = val; > this.field_o = new Object(); > this.field_ints = new int[8]; > this.field_ints[0] = 0xca; > this.field_ints[1] = 0xfe; > this.field_ints[2] = 0xba; > this.field_ints[3] = 0xbe; > this.field_ints[4] = 0xba; > this.field_ints[5] = 0xad; > this.field_ints[6] = 0xba; > this.field_ints[7] = 0xbe; > this.neighbors = new Node[NeighborCount]; > } > > public int value() { > return val; > } > } This pull request has now been integrated. Changeset: 28fc3420 Author: Kelvin Nilsen Committer: Roman Kennke URL: https://git.openjdk.java.net/shenandoah/commit/28fc3420 Stats: 986 lines in 9 files changed: 984 ins; 1 del; 1 mod Milestone 1 Reviewed-by: rkennke, adityam ------------- PR: https://git.openjdk.java.net/shenandoah/pull/13 From shade at redhat.com Thu Feb 4 09:43:13 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 4 Feb 2021 10:43:13 +0100 Subject: [11u] RFR (S) 8259849: Shenandoah: Rename store-val to IU-barrier Message-ID: Original cleanup: https://bugs.openjdk.java.net/browse/JDK-8259849 https://git.openjdk.java.net/jdk/commit/e60c9926 I had to basically redo most of the patch, because the context is different in many places. But the change is mechanical search-and-replace. 11u variant: https://cr.openjdk.java.net/~shade/8259849/webrev.11u.01/ Testing: hotspot_gc_shenandoah on Linux x86_64, x86_32, AArch64; also tier{1,2,3} with Shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Thu Feb 4 09:55:01 2021 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 4 Feb 2021 10:55:01 +0100 Subject: [11u] RFR (S) 8259849: Shenandoah: Rename store-val to IU-barrier In-Reply-To: References: Message-ID: <931cbe5b-9ecd-b12d-3753-22e6fb149091@redhat.com> Looks good to me! Thank you! > Original cleanup: > ? https://bugs.openjdk.java.net/browse/JDK-8259849 > ? https://git.openjdk.java.net/jdk/commit/e60c9926 > > I had to basically redo most of the patch, because the context is > different in many places. But the change is mechanical search-and-replace. > > 11u variant: > ? https://cr.openjdk.java.net/~shade/8259849/webrev.11u.01/ > > Testing: hotspot_gc_shenandoah on Linux x86_64, x86_32, AArch64; also > tier{1,2,3} with Shenandoah > From shade at redhat.com Thu Feb 4 12:31:01 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 4 Feb 2021 13:31:01 +0100 Subject: [11u] RFR (S) 8251944: Add Shenandoah test config to compiler/gcbarriers/UnsafeIntrinsicsTest.java In-Reply-To: <74f58d15-fdd7-6830-8a66-f3e24c5bdd8a@redhat.com> References: <74f58d15-fdd7-6830-8a66-f3e24c5bdd8a@redhat.com> Message-ID: <49b570e1-c001-5420-05bd-0214a976128a@redhat.com> CC'ing shenandoah-dev at . On 2/3/21 10:43 AM, Aleksey Shipilev wrote: > Original test improvement: > https://bugs.openjdk.java.net/browse/JDK-8251944 > https://git.openjdk.java.net/jdk/commit/db6f3930 > > It does not apply cleanly to 11u, because test still has @requires !graal and ZGC is not yet > production-ready and needs UnlockExperimentalVMOptions. Otherwise the patch is the same: > https://cr.openjdk.java.net/~shade/8251944/webrev.11u.01/ > > Testing: affected test > -- Thanks, -Aleksey From shade at redhat.com Thu Feb 4 12:49:33 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 4 Feb 2021 13:49:33 +0100 Subject: [11u] RFR (S) 8259849: Shenandoah: Rename store-val to IU-barrier In-Reply-To: <931cbe5b-9ecd-b12d-3753-22e6fb149091@redhat.com> References: <931cbe5b-9ecd-b12d-3753-22e6fb149091@redhat.com> Message-ID: On 2/4/21 10:55 AM, Roman Kennke wrote: > Looks good to me! Thank you! Thanks, tagged for approval. -- -Aleksey From coleenp at openjdk.java.net Thu Feb 4 13:25:41 2021 From: coleenp at openjdk.java.net (Coleen Phillimore) Date: Thu, 4 Feb 2021 13:25:41 GMT Subject: RFR: 8261125: Move VM_Operation to vmOperation.hpp In-Reply-To: References: Message-ID: On Thu, 4 Feb 2021 05:38:49 GMT, Ioi Lam wrote: > vmOperations.hpp declares the VM_Operation class, as well as a hodge podge of subclasses such as VM_ForceSafepoint, VM_DeoptimizeFrame. > > Out of the 1000 hotspot .o files, about 680 include vmOperations.hpp (mostly transitively). In most cases, they just need to use the VM_Operation class. > > So we should move VM_Operation to its own header: vmOperation.hpp (no "s"). > > After the refactoring, vmOperations.hpp is included only 64 times. The inclusion count of threadSMR.hpp is also reduced from 687 to 99. HotSpot build time is improved by about 0.4%. > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. Ok! ------------- Marked as reviewed by coleenp (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2398 From coleenp at openjdk.java.net Thu Feb 4 13:26:42 2021 From: coleenp at openjdk.java.net (Coleen Phillimore) Date: Thu, 4 Feb 2021 13:26:42 GMT Subject: RFR: 8261106: Reduce inclusion of jniHandles.hpp In-Reply-To: References: Message-ID: <4hWwb7Jpf35oaGMbU_YB8MiT2F87wTGJxvL_Mq0UCHs=.a4589f14-f2a0-4e64-884d-c81a7b4b3540@github.com> On Thu, 4 Feb 2021 01:31:39 GMT, Ioi Lam wrote: > niHandles.hpp is included by about 800 out of 1000 HotSpot .o files. Most of these are transitively included from these header files, which don't actually need to include jniHandles.hpp. > > - ci/ciBaseObject.hpp > - ci/ciMetadata.hpp > - ci/ciObject.hpp > - classfile/moduleEntry.hpp > - gc/shared/gcVMOperations.hpp > - jvmci/jvmciJavaClasses.hpp > - runtime/thread.hpp > - services/threadService.hpp > > Fixing these headers reduces the number of .o files that include jniHandles.hpp to 145. > > Note: 43 files were changed in this PR. Most of them were using jniHandles.hpp but were not including it directly. > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. Ok! Seems trivial since I assume you've built this everywhere. ------------- Marked as reviewed by coleenp (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2393 From hseigel at openjdk.java.net Thu Feb 4 15:03:42 2021 From: hseigel at openjdk.java.net (Harold Seigel) Date: Thu, 4 Feb 2021 15:03:42 GMT Subject: RFR: 8261106: Reduce inclusion of jniHandles.hpp In-Reply-To: References: Message-ID: On Thu, 4 Feb 2021 01:31:39 GMT, Ioi Lam wrote: > niHandles.hpp is included by about 800 out of 1000 HotSpot .o files. Most of these are transitively included from these header files, which don't actually need to include jniHandles.hpp. > > - ci/ciBaseObject.hpp > - ci/ciMetadata.hpp > - ci/ciObject.hpp > - classfile/moduleEntry.hpp > - gc/shared/gcVMOperations.hpp > - jvmci/jvmciJavaClasses.hpp > - runtime/thread.hpp > - services/threadService.hpp > > Fixing these headers reduces the number of .o files that include jniHandles.hpp to 145. > > Note: 43 files were changed in this PR. Most of them were using jniHandles.hpp but were not including it directly. > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. LGTM! Harold ------------- Marked as reviewed by hseigel (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2393 From stuefe at openjdk.java.net Thu Feb 4 17:18:45 2021 From: stuefe at openjdk.java.net (Thomas Stuefe) Date: Thu, 4 Feb 2021 17:18:45 GMT Subject: RFR: 8261125: Move VM_Operation to vmOperation.hpp In-Reply-To: References: Message-ID: On Thu, 4 Feb 2021 05:38:49 GMT, Ioi Lam wrote: > vmOperations.hpp declares the VM_Operation class, as well as a hodge podge of subclasses such as VM_ForceSafepoint, VM_DeoptimizeFrame. > > Out of the 1000 hotspot .o files, about 680 include vmOperations.hpp (mostly transitively). In most cases, they just need to use the VM_Operation class. > > So we should move VM_Operation to its own header: vmOperation.hpp (no "s"). > > After the refactoring, vmOperations.hpp is included only 64 times. The inclusion count of threadSMR.hpp is also reduced from 687 to 99. HotSpot build time is improved by about 0.4%. > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. Hi Ioi, I like all these include cleanups! How do you find these, do you analyze the include tree? I think vmOperation vs vmOperations could be confusing. But have no immediate better idea. If others are fine with it, I am too. Can you please enable GA so we see that our weirder platforms build? Otherwise, looks good. ..Thomas ------------- Marked as reviewed by stuefe (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2398 From iklam at openjdk.java.net Thu Feb 4 17:20:00 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Thu, 4 Feb 2021 17:20:00 GMT Subject: RFR: 8261106: Reduce inclusion of jniHandles.hpp [v2] In-Reply-To: References: Message-ID: > niHandles.hpp is included by about 800 out of 1000 HotSpot .o files. Most of these are transitively included from these header files, which don't actually need to include jniHandles.hpp. > > - ci/ciBaseObject.hpp > - ci/ciMetadata.hpp > - ci/ciObject.hpp > - classfile/moduleEntry.hpp > - gc/shared/gcVMOperations.hpp > - jvmci/jvmciJavaClasses.hpp > - runtime/thread.hpp > - services/threadService.hpp > > Fixing these headers reduces the number of .o files that include jniHandles.hpp to 145. > > Note: 43 files were changed in this PR. Most of them were using jniHandles.hpp but were not including it directly. > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision: - Merge branch 'master' into 8261106-reduce-jniHandles-hpp - 8261106: Reduce inclusion of jniHandles.hpp ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2393/files - new: https://git.openjdk.java.net/jdk/pull/2393/files/e7f2d097..6e77fbea Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2393&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2393&range=00-01 Stats: 7440 lines in 439 files changed: 4576 ins; 1518 del; 1346 mod Patch: https://git.openjdk.java.net/jdk/pull/2393.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2393/head:pull/2393 PR: https://git.openjdk.java.net/jdk/pull/2393 From rkennke at redhat.com Thu Feb 4 17:21:59 2021 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 4 Feb 2021 18:21:59 +0100 Subject: [11u] RFR (S) 8251944: Add Shenandoah test config to compiler/gcbarriers/UnsafeIntrinsicsTest.java In-Reply-To: <49b570e1-c001-5420-05bd-0214a976128a@redhat.com> References: <74f58d15-fdd7-6830-8a66-f3e24c5bdd8a@redhat.com> <49b570e1-c001-5420-05bd-0214a976128a@redhat.com> Message-ID: Looks good to me! Thanks! Roman > CC'ing shenandoah-dev at . > > On 2/3/21 10:43 AM, Aleksey Shipilev wrote: >> Original test improvement: >> ??? https://bugs.openjdk.java.net/browse/JDK-8251944 >> ??? https://git.openjdk.java.net/jdk/commit/db6f3930 >> >> It does not apply cleanly to 11u, because test still has @requires >> !graal and ZGC is not yet >> production-ready and needs UnlockExperimentalVMOptions. Otherwise the >> patch is the same: >> ??? https://cr.openjdk.java.net/~shade/8251944/webrev.11u.01/ >> >> Testing: affected test >> > > From shade at redhat.com Thu Feb 4 17:37:19 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 4 Feb 2021 18:37:19 +0100 Subject: [11u] RFR (S) 8251944: Add Shenandoah test config to compiler/gcbarriers/UnsafeIntrinsicsTest.java In-Reply-To: References: <74f58d15-fdd7-6830-8a66-f3e24c5bdd8a@redhat.com> <49b570e1-c001-5420-05bd-0214a976128a@redhat.com> Message-ID: <18799efb-419c-ed38-3dfb-5c41856ad9a6@redhat.com> On 2/4/21 6:21 PM, Roman Kennke wrote: > Looks good to me! Thanks! Thanks, tagged for approval. -- Thanks, -Aleksey From github.com+71722661+earthling-amzn at openjdk.java.net Thu Feb 4 18:20:40 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Thu, 4 Feb 2021 18:20:40 GMT Subject: RFR: 8259647: Add support for JFR event ObjectCountAfterGC to Shenandoah In-Reply-To: References: Message-ID: On Wed, 3 Feb 2021 20:05:33 GMT, Zhengyu Gu wrote: > Please review this patch that adds JFR ObjectCountAfterGC event support. > > AFAICT, the event is off by default. If it is enabled, it distorts Shenandoah pause characteristics, since it performs heap walk during final mark pause. > > When event is disabled: > `[191.033s][info][gc,stats] Pause Init Mark (G) 454 us` > `[191.033s][info][gc,stats] Pause Init Mark (N) 13 us` > > When event is enabled: > `[396.631s][info][gc,stats] Pause Final Mark (G) 43199 us` > `[396.631s][info][gc,stats] Pause Final Mark (N) 42982 us` > > Test: > - [x] hotspot_gc_shenandoah That certainly is bad news for pause times. Do you think it'd be feasible to "piggyback" the object count calculation on concurrent marking? Might address https://bugs.openjdk.java.net/browse/JDK-8258431 also. ------------- PR: https://git.openjdk.java.net/jdk/pull/2386 From rkennke at openjdk.java.net Thu Feb 4 18:46:41 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Thu, 4 Feb 2021 18:46:41 GMT Subject: RFR: 8259647: Add support for JFR event ObjectCountAfterGC to Shenandoah In-Reply-To: References: Message-ID: On Thu, 4 Feb 2021 18:17:46 GMT, earthling-amzn wrote: > That certainly is bad news for pause times. Do you think it'd be feasible to "piggyback" the object count calculation on concurrent marking? Might address https://bugs.openjdk.java.net/browse/JDK-8258431 also. This could certainly be done, in a similar fashion as liveness counting. However, it would have to be done such that it only actually counts objects when JFR is requesting it, and otherwise stays out of the way, because this costs marking performance. Which means doubling the number of mark-loops, and select the correct loop based on whether or not we need object counts. ------------- PR: https://git.openjdk.java.net/jdk/pull/2386 From iklam at openjdk.java.net Thu Feb 4 19:08:43 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Thu, 4 Feb 2021 19:08:43 GMT Subject: Integrated: 8261106: Reduce inclusion of jniHandles.hpp In-Reply-To: References: Message-ID: On Thu, 4 Feb 2021 01:31:39 GMT, Ioi Lam wrote: > niHandles.hpp is included by about 800 out of 1000 HotSpot .o files. Most of these are transitively included from these header files, which don't actually need to include jniHandles.hpp. > > - ci/ciBaseObject.hpp > - ci/ciMetadata.hpp > - ci/ciObject.hpp > - classfile/moduleEntry.hpp > - gc/shared/gcVMOperations.hpp > - jvmci/jvmciJavaClasses.hpp > - runtime/thread.hpp > - services/threadService.hpp > > Fixing these headers reduces the number of .o files that include jniHandles.hpp to 145. > > Note: 43 files were changed in this PR. Most of them were using jniHandles.hpp but were not including it directly. > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. This pull request has now been integrated. Changeset: c59e4b66 Author: Ioi Lam URL: https://git.openjdk.java.net/jdk/commit/c59e4b66 Stats: 44 lines in 43 files changed: 36 ins; 8 del; 0 mod 8261106: Reduce inclusion of jniHandles.hpp Reviewed-by: coleenp, hseigel ------------- PR: https://git.openjdk.java.net/jdk/pull/2393 From iklam at openjdk.java.net Thu Feb 4 19:08:42 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Thu, 4 Feb 2021 19:08:42 GMT Subject: RFR: 8261106: Reduce inclusion of jniHandles.hpp [v2] In-Reply-To: <4hWwb7Jpf35oaGMbU_YB8MiT2F87wTGJxvL_Mq0UCHs=.a4589f14-f2a0-4e64-884d-c81a7b4b3540@github.com> References: <4hWwb7Jpf35oaGMbU_YB8MiT2F87wTGJxvL_Mq0UCHs=.a4589f14-f2a0-4e64-884d-c81a7b4b3540@github.com> Message-ID: On Thu, 4 Feb 2021 13:24:24 GMT, Coleen Phillimore wrote: >> Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision: >> >> - Merge branch 'master' into 8261106-reduce-jniHandles-hpp >> - 8261106: Reduce inclusion of jniHandles.hpp > > Ok! Seems trivial since I assume you've built this everywhere. Thanks @coleenp and @hseigel for the review. ------------- PR: https://git.openjdk.java.net/jdk/pull/2393 From zgu at openjdk.java.net Thu Feb 4 19:22:39 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 4 Feb 2021 19:22:39 GMT Subject: RFR: 8259647: Add support for JFR event ObjectCountAfterGC to Shenandoah In-Reply-To: References: Message-ID: On Thu, 4 Feb 2021 18:44:24 GMT, Roman Kennke wrote: > That certainly is bad news for pause times. Do you think it'd be feasible to "piggyback" the object count calculation on concurrent marking? Might address https://bugs.openjdk.java.net/browse/JDK-8258431 also. It dose not just count number of objects, but number of objects by type, much more than liveness counting. Just add a branch in hot marking loop, I can foresee negative impact on performance. ------------- PR: https://git.openjdk.java.net/jdk/pull/2386 From github.com+71722661+earthling-amzn at openjdk.java.net Thu Feb 4 19:45:41 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Thu, 4 Feb 2021 19:45:41 GMT Subject: RFR: 8259647: Add support for JFR event ObjectCountAfterGC to Shenandoah In-Reply-To: References: Message-ID: On Thu, 4 Feb 2021 19:19:35 GMT, Zhengyu Gu wrote: >>> That certainly is bad news for pause times. Do you think it'd be feasible to "piggyback" the object count calculation on concurrent marking? Might address https://bugs.openjdk.java.net/browse/JDK-8258431 also. >> >> This could certainly be done, in a similar fashion as liveness counting. However, it would have to be done such that it only actually counts objects when JFR is requesting it, and otherwise stays out of the way, because this costs marking performance. Which means doubling the number of mark-loops, and select the correct loop based on whether or not we need object counts. > >> That certainly is bad news for pause times. Do you think it'd be feasible to "piggyback" the object count calculation on concurrent marking? Might address https://bugs.openjdk.java.net/browse/JDK-8258431 also. > > It dose not just count number of objects, but number of objects by type, much more than liveness counting. Just add a branch in hot marking loop, I can foresee negative impact on performance. Would it be possible to combine the object _counting_ closure and the object _marking_ closure into one aggregate closure and complete both calculations in one pass over the live objects? Of course, only do this when the JFR event is enabled (and even then, perhaps only do it periodically). ------------- PR: https://git.openjdk.java.net/jdk/pull/2386 From rkennke at openjdk.java.net Thu Feb 4 19:45:42 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Thu, 4 Feb 2021 19:45:42 GMT Subject: RFR: 8259647: Add support for JFR event ObjectCountAfterGC to Shenandoah In-Reply-To: References: Message-ID: On Thu, 4 Feb 2021 19:19:35 GMT, Zhengyu Gu wrote: > > That certainly is bad news for pause times. Do you think it'd be feasible to "piggyback" the object count calculation on concurrent marking? Might address https://bugs.openjdk.java.net/browse/JDK-8258431 also. > > It dose not just count number of objects, but number of objects by type, much more than liveness counting. Just add a branch in hot marking loop, I can foresee negative impact on performance. Yes, as I suggested earlier, I'd only turn it on when requested by JFR, and otherwise leave it off. It definitely will impact performance. That means another set of mark loops that we need to generate at compile-time. ------------- PR: https://git.openjdk.java.net/jdk/pull/2386 From dcubed at openjdk.java.net Thu Feb 4 19:47:45 2021 From: dcubed at openjdk.java.net (Daniel D.Daugherty) Date: Thu, 4 Feb 2021 19:47:45 GMT Subject: RFR: 8261125: Move VM_Operation to vmOperation.hpp In-Reply-To: References: Message-ID: On Thu, 4 Feb 2021 17:15:37 GMT, Thomas Stuefe wrote: >> vmOperations.hpp declares the VM_Operation class, as well as a hodge podge of subclasses such as VM_ForceSafepoint, VM_DeoptimizeFrame. >> >> Out of the 1000 hotspot .o files, about 680 include vmOperations.hpp (mostly transitively). In most cases, they just need to use the VM_Operation class. >> >> So we should move VM_Operation to its own header: vmOperation.hpp (no "s"). >> >> After the refactoring, vmOperations.hpp is included only 64 times. The inclusion count of threadSMR.hpp is also reduced from 687 to 99. HotSpot build time is improved by about 0.4%. >> >> Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. > > Hi Ioi, > > I like all these include cleanups! How do you find these, do you analyze the include tree? > > I think vmOperation vs vmOperations could be confusing. But have no immediate better idea. If others are fine with it, I am too. > > Can you please enable GA so we see that our weirder platforms build? > > Otherwise, looks good. > > ..Thomas A drive-by comment... The class is named VM_Operation, but the file is named vmOperation.hpp. The missing '_' in the file name is a bit of a disconnect, but there are worse in the code base... ------------- PR: https://git.openjdk.java.net/jdk/pull/2398 From dholmes at openjdk.java.net Thu Feb 4 22:27:40 2021 From: dholmes at openjdk.java.net (David Holmes) Date: Thu, 4 Feb 2021 22:27:40 GMT Subject: RFR: 8261125: Move VM_Operation to vmOperation.hpp In-Reply-To: References: Message-ID: <1bctHoGUQv3v65nZBeuvMgXH4ur6CU3xXkzHT6ZqIPo=.aeda32f9-fdfe-4561-b6f0-7201caa0eea1@github.com> On Thu, 4 Feb 2021 05:38:49 GMT, Ioi Lam wrote: > vmOperations.hpp declares the VM_Operation class, as well as a hodge podge of subclasses such as VM_ForceSafepoint, VM_DeoptimizeFrame. > > Out of the 1000 hotspot .o files, about 680 include vmOperations.hpp (mostly transitively). In most cases, they just need to use the VM_Operation class. > > So we should move VM_Operation to its own header: vmOperation.hpp (no "s"). > > After the refactoring, vmOperations.hpp is included only 64 times. The inclusion count of threadSMR.hpp is also reduced from 687 to 99. HotSpot build time is improved by about 0.4%. > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. Hi Ioi, The distinction between vmOperation versus vmOperations is far too subtle. Perhaps as Dan implied vm_Operation.hpp or VM_Operation.hpp (though that breaks normal - odd - naming convention). I assume most files that include vmOperation.hpp are those that define VM_Operation subclasses? Thanks, David src/hotspot/share/runtime/vmOperation.hpp line 2: > 1: /* > 2: * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved. New file so single copyright year. ------------- Changes requested by dholmes (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2398 From iklam at openjdk.java.net Fri Feb 5 05:39:40 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Fri, 5 Feb 2021 05:39:40 GMT Subject: RFR: 8261125: Move VM_Operation to vmOperation.hpp In-Reply-To: References: Message-ID: On Thu, 4 Feb 2021 17:15:37 GMT, Thomas Stuefe wrote: > I like all these include cleanups! How do you find these, do you analyze the include tree? I have a few hand-rolled tools for identifying what header files are easy/beneficial to refactor. See https://github.com/iklam/tools/tree/main/headers > I think vmOperation vs vmOperations could be confusing. But have no immediate better idea. If others are fine with it, I am too. > > Can you please enable GA so we see that our weirder platforms build? I think I finally re-enabled the GitHub actions properly for my PRs. Let's see if they get run for my next push to this PR :-) ------------- PR: https://git.openjdk.java.net/jdk/pull/2398 From iklam at openjdk.java.net Fri Feb 5 05:53:39 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Fri, 5 Feb 2021 05:53:39 GMT Subject: RFR: 8261125: Move VM_Operation to vmOperation.hpp In-Reply-To: <1bctHoGUQv3v65nZBeuvMgXH4ur6CU3xXkzHT6ZqIPo=.aeda32f9-fdfe-4561-b6f0-7201caa0eea1@github.com> References: <1bctHoGUQv3v65nZBeuvMgXH4ur6CU3xXkzHT6ZqIPo=.aeda32f9-fdfe-4561-b6f0-7201caa0eea1@github.com> Message-ID: <7F1Nq0zPfyWP644ml5icuHT6lkHlAjJG2qFOJr2dGAY=.daffcc16-1ed0-42db-b77b-e59c72dff349@github.com> On Thu, 4 Feb 2021 22:24:38 GMT, David Holmes wrote: > Hi Ioi, > > The distinction between vmOperation versus vmOperations is far too subtle. Perhaps as Dan implied vm_Operation.hpp or VM_Operation.hpp (though that breaks normal - odd - naming convention). How about this: - runtime/vmOperation.hpp --- (new file) this is the file that declares VM_Operation - runtime/commonVMOperations.hpp -- (renamed from vmOperations.hpp) these are the VM_Operation subclasses that no one cares to organize properly :-) this will be kinda consistent with these existing files: - gc/g1/g1VMOperations.hpp - gc/g1/g1VMOperations.cpp - gc/shenandoah/shenandoahVMOperations.cpp - gc/shenandoah/shenandoahVMOperations.hpp - gc/shared/gcVMOperations.cpp - gc/shared/gcVMOperations.hpp - gc/parallel/psVMOperations.cpp - gc/parallel/psVMOperations.hpp (I should also add a new vmOperation.cpp, and rename vmOperations.cpp to commonVMOperations.cpp) BTW, I need to refactor VM_Exit into its own file. It's used by the `JVM_LEAF` macro in interfaceSupport.inline.hpp, but I don't want to pull in all the other "common" operations in there. I am thinking of calling it vmExit.hpp (since exitVMOperation.hpp doesn't really look good). > I assume most files that include vmOperation.hpp are those that define VM_Operation subclasses? Yes, but there are also files that use the `VM_Operation::VMOp_Type` type, notably safepoint.hpp. ------------- PR: https://git.openjdk.java.net/jdk/pull/2398 From david.holmes at oracle.com Fri Feb 5 08:37:31 2021 From: david.holmes at oracle.com (David Holmes) Date: Fri, 5 Feb 2021 18:37:31 +1000 Subject: RFR: 8261125: Move VM_Operation to vmOperation.hpp In-Reply-To: <7F1Nq0zPfyWP644ml5icuHT6lkHlAjJG2qFOJr2dGAY=.daffcc16-1ed0-42db-b77b-e59c72dff349@github.com> References: <1bctHoGUQv3v65nZBeuvMgXH4ur6CU3xXkzHT6ZqIPo=.aeda32f9-fdfe-4561-b6f0-7201caa0eea1@github.com> <7F1Nq0zPfyWP644ml5icuHT6lkHlAjJG2qFOJr2dGAY=.daffcc16-1ed0-42db-b77b-e59c72dff349@github.com> Message-ID: <0b7b9e47-9ca6-afee-17bf-8063bc46df76@oracle.com> On 5/02/2021 3:53 pm, Ioi Lam wrote: > On Thu, 4 Feb 2021 22:24:38 GMT, David Holmes wrote: > >> Hi Ioi, >> >> The distinction between vmOperation versus vmOperations is far too subtle. Perhaps as Dan implied vm_Operation.hpp or VM_Operation.hpp (though that breaks normal - odd - naming convention). > > How about this: > > - runtime/vmOperation.hpp --- (new file) this is the file that declares VM_Operation > - runtime/commonVMOperations.hpp -- (renamed from vmOperations.hpp) these are the VM_Operation subclasses that no one cares to organize properly :-) > > this will be kinda consistent with these existing files: > > - gc/g1/g1VMOperations.hpp > - gc/g1/g1VMOperations.cpp > - gc/shenandoah/shenandoahVMOperations.cpp > - gc/shenandoah/shenandoahVMOperations.hpp > - gc/shared/gcVMOperations.cpp > - gc/shared/gcVMOperations.hpp > - gc/parallel/psVMOperations.cpp > - gc/parallel/psVMOperations.hpp > > (I should also add a new vmOperation.cpp, and rename vmOperations.cpp to commonVMOperations.cpp) Okay. > BTW, I need to refactor VM_Exit into its own file. It's used by the `JVM_LEAF` macro in interfaceSupport.inline.hpp, but I don't want to pull in all the other "common" operations in there. I am thinking of calling it vmExit.hpp (since exitVMOperation.hpp doesn't really look good). :( Does it really matter? We're going to end up with a bazillion files at this rate and the build time improvements are not even perceptible. David ----- >> I assume most files that include vmOperation.hpp are those that define VM_Operation subclasses? > > Yes, but there are also files that use the `VM_Operation::VMOp_Type` type, notably safepoint.hpp. > > ------------- > > PR: https://git.openjdk.java.net/jdk/pull/2398 > From shade at openjdk.java.net Fri Feb 5 13:27:43 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Fri, 5 Feb 2021 13:27:43 GMT Subject: RFR: 8260736: Shenandoah: Cleanup includes in ShenandoahGC and families [v2] In-Reply-To: References: Message-ID: On Mon, 1 Feb 2021 21:25:54 GMT, Zhengyu Gu wrote: >> 8260736: Shenandoah: Cleanup includes in ShenandoahGC and families > > Zhengyu Gu has updated the pull request incrementally with one additional commit since the last revision: > > Added back vmThread.hpp Looks fine. But please pull from recent master to see if other `#include` work breaks these. ------------- Marked as reviewed by shade (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2339 From zgu at openjdk.java.net Fri Feb 5 14:15:56 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Fri, 5 Feb 2021 14:15:56 GMT Subject: RFR: 8260736: Shenandoah: Cleanup includes in ShenandoahGC and families [v3] In-Reply-To: References: Message-ID: > 8260736: Shenandoah: Cleanup includes in ShenandoahGC and families Zhengyu Gu has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains six commits: - Merge master - Added back vmThread.hpp - update - Merge branch 'master' into JDK-8260736-cleanup-includes-gc - update - init ------------- Changes: https://git.openjdk.java.net/jdk/pull/2339/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2339&range=02 Stats: 35 lines in 10 files changed: 2 ins; 28 del; 5 mod Patch: https://git.openjdk.java.net/jdk/pull/2339.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2339/head:pull/2339 PR: https://git.openjdk.java.net/jdk/pull/2339 From rkennke at openjdk.java.net Fri Feb 5 15:49:44 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Fri, 5 Feb 2021 15:49:44 GMT Subject: RFR: 8260736: Shenandoah: Cleanup includes in ShenandoahGC and families [v3] In-Reply-To: References: Message-ID: On Fri, 5 Feb 2021 14:15:56 GMT, Zhengyu Gu wrote: >> 8260736: Shenandoah: Cleanup includes in ShenandoahGC and families > > Zhengyu Gu has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains six commits: > > - Merge master > - Added back vmThread.hpp > - update > - Merge branch 'master' into JDK-8260736-cleanup-includes-gc > - update > - init Looks good to me! Thanks! ------------- Marked as reviewed by rkennke (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2339 From coleenp at openjdk.java.net Fri Feb 5 17:37:39 2021 From: coleenp at openjdk.java.net (Coleen Phillimore) Date: Fri, 5 Feb 2021 17:37:39 GMT Subject: RFR: 8261125: Move VM_Operation to vmOperation.hpp In-Reply-To: <7F1Nq0zPfyWP644ml5icuHT6lkHlAjJG2qFOJr2dGAY=.daffcc16-1ed0-42db-b77b-e59c72dff349@github.com> References: <1bctHoGUQv3v65nZBeuvMgXH4ur6CU3xXkzHT6ZqIPo=.aeda32f9-fdfe-4561-b6f0-7201caa0eea1@github.com> <7F1Nq0zPfyWP644ml5icuHT6lkHlAjJG2qFOJr2dGAY=.daffcc16-1ed0-42db-b77b-e59c72dff349@github.com> Message-ID: On Fri, 5 Feb 2021 05:51:22 GMT, Ioi Lam wrote: >> Hi Ioi, >> >> The distinction between vmOperation versus vmOperations is far too subtle. Perhaps as Dan implied vm_Operation.hpp or VM_Operation.hpp (though that breaks normal - odd - naming convention). >> >> I assume most files that include vmOperation.hpp are those that define VM_Operation subclasses? >> >> Thanks, >> David > >> Hi Ioi, >> >> The distinction between vmOperation versus vmOperations is far too subtle. Perhaps as Dan implied vm_Operation.hpp or VM_Operation.hpp (though that breaks normal - odd - naming convention). > > How about this: > > - runtime/vmOperation.hpp --- (new file) this is the file that declares VM_Operation > - runtime/commonVMOperations.hpp -- (renamed from vmOperations.hpp) these are the VM_Operation subclasses that no one cares to organize properly :-) > > this will be kinda consistent with these existing files: > > - gc/g1/g1VMOperations.hpp > - gc/g1/g1VMOperations.cpp > - gc/shenandoah/shenandoahVMOperations.cpp > - gc/shenandoah/shenandoahVMOperations.hpp > - gc/shared/gcVMOperations.cpp > - gc/shared/gcVMOperations.hpp > - gc/parallel/psVMOperations.cpp > - gc/parallel/psVMOperations.hpp > > (I should also add a new vmOperation.cpp, and rename vmOperations.cpp to commonVMOperations.cpp) > > BTW, I need to refactor VM_Exit into its own file. It's used by the `JVM_LEAF` macro in interfaceSupport.inline.hpp, but I don't want to pull in all the other "common" operations in there. I am thinking of calling it vmExit.hpp (since exitVMOperation.hpp doesn't really look good). > >> I assume most files that include vmOperation.hpp are those that define VM_Operation subclasses? > > Yes, but there are also files that use the `VM_Operation::VMOp_Type` type, notably safepoint.hpp. I'm fine with leaving vmOperations.hpp and vmOperation.hpp. It's not a big deal. commonVMOperations.hpp - too much noise! I agree with David. interfaceSupport.inline.hpp imports a lot of things so importing vmOperations.hpp is not a big deal. vmOperations.hpp imports #include "runtime/threadSMR.hpp" otherwise it has all the same imports as interfaceSupport.inline.hpp anyway. All these files are going to increase compilation time too. I stand by my check mark above! ------------- PR: https://git.openjdk.java.net/jdk/pull/2398 From rkennke at openjdk.java.net Fri Feb 5 18:26:54 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Fri, 5 Feb 2021 18:26:54 GMT Subject: RFR: 8261251: Shenandoah: Use object size for full GC humongous compaction Message-ID: Currently, copying objects in full GC humongous object comaction copies the full region. We can limit that to copying only the object size and save some wasted cycles. Also, this fixes a test failure with loom where object copy checks that the given size matches the object size. - [x] hotspot_gc_shenandoah - [ ] tier1(+Shenandoah) ------------- Commit messages: - 8261251: Shenandoah: Use object size for full GC humongous compaction Changes: https://git.openjdk.java.net/jdk/pull/2433/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2433&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261251 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/2433.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2433/head:pull/2433 PR: https://git.openjdk.java.net/jdk/pull/2433 From zgu at openjdk.java.net Fri Feb 5 19:33:44 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Fri, 5 Feb 2021 19:33:44 GMT Subject: Integrated: 8260736: Shenandoah: Cleanup includes in ShenandoahGC and families In-Reply-To: References: Message-ID: On Mon, 1 Feb 2021 18:55:03 GMT, Zhengyu Gu wrote: > 8260736: Shenandoah: Cleanup includes in ShenandoahGC and families This pull request has now been integrated. Changeset: 7a6c1768 Author: Zhengyu Gu URL: https://git.openjdk.java.net/jdk/commit/7a6c1768 Stats: 35 lines in 10 files changed: 2 ins; 28 del; 5 mod 8260736: Shenandoah: Cleanup includes in ShenandoahGC and families Reviewed-by: shade, rkennke ------------- PR: https://git.openjdk.java.net/jdk/pull/2339 From aph at openjdk.java.net Sat Feb 6 10:37:41 2021 From: aph at openjdk.java.net (Andrew Haley) Date: Sat, 6 Feb 2021 10:37:41 GMT Subject: RFR: 8261251: Shenandoah: Use object size for full GC humongous compaction In-Reply-To: References: Message-ID: On Fri, 5 Feb 2021 18:21:55 GMT, Roman Kennke wrote: > Currently, copying objects in full GC humongous object comaction copies the full region. We can limit that to copying only the object size and save some wasted cycles. Also, this fixes a test failure with loom where object copy checks that the given size matches the object size. > > - [x] hotspot_gc_shenandoah > - [x] tier1(+Shenandoah) Marked as reviewed by aph (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/2433 From shade at openjdk.java.net Mon Feb 8 07:31:45 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 8 Feb 2021 07:31:45 GMT Subject: RFR: 8261251: Shenandoah: Use object size for full GC humongous compaction In-Reply-To: References: Message-ID: On Fri, 5 Feb 2021 18:21:55 GMT, Roman Kennke wrote: > Currently, copying objects in full GC humongous object comaction copies the full region. We can limit that to copying only the object size and save some wasted cycles. Also, this fixes a test failure with loom where object copy checks that the given size matches the object size. > > - [x] hotspot_gc_shenandoah > - [x] tier1(+Shenandoah) Marked as reviewed by shade (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/2433 From rkennke at openjdk.java.net Mon Feb 8 08:04:43 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Mon, 8 Feb 2021 08:04:43 GMT Subject: Integrated: 8261251: Shenandoah: Use object size for full GC humongous compaction In-Reply-To: References: Message-ID: On Fri, 5 Feb 2021 18:21:55 GMT, Roman Kennke wrote: > Currently, copying objects in full GC humongous object comaction copies the full region. We can limit that to copying only the object size and save some wasted cycles. Also, this fixes a test failure with loom where object copy checks that the given size matches the object size. > > - [x] hotspot_gc_shenandoah > - [x] tier1(+Shenandoah) This pull request has now been integrated. Changeset: deb0544f Author: Roman Kennke URL: https://git.openjdk.java.net/jdk/commit/deb0544f Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod 8261251: Shenandoah: Use object size for full GC humongous compaction Reviewed-by: aph, shade ------------- PR: https://git.openjdk.java.net/jdk/pull/2433 From rkennke at openjdk.java.net Tue Feb 9 12:03:46 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Tue, 9 Feb 2021 12:03:46 GMT Subject: RFR: 8261413: Shenandoah: Disable class-unloading in I-U mode Message-ID: JDK-8261341 describes a serious problem with I-U mode and class-unloading. Let's disable class-unloading in I-U for now as a workaround. Testing: - [ ] hotspot_gc_shenandoah - [ ] tier1 (+UseShenandoahGC +IU) - [x] runtime/CreateMirror/ArraysNewInstanceBug.java (+UseShenandoahGC +IU +aggressive) many times in a row w/o failure ------------- Commit messages: - 8261413: Shenandoah: Disable class-unloading in I-U mode Changes: https://git.openjdk.java.net/jdk/pull/2477/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2477&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261413 Stats: 6 lines in 1 file changed: 6 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/2477.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2477/head:pull/2477 PR: https://git.openjdk.java.net/jdk/pull/2477 From shade at openjdk.java.net Tue Feb 9 12:41:31 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 9 Feb 2021 12:41:31 GMT Subject: RFR: 8261413: Shenandoah: Disable class-unloading in I-U mode In-Reply-To: References: Message-ID: <8FGC9ajeya9Jh4D4rL7W6kUqiV1m8TBdHvms8JOBLkU=.42a84b4b-08e8-4e6c-8dce-e9660f4506b7@github.com> On Tue, 9 Feb 2021 11:58:58 GMT, Roman Kennke wrote: > JDK-8261341 describes a serious problem with I-U mode and class-unloading. Let's disable class-unloading in I-U for now as a workaround. > > Testing: > - [ ] hotspot_gc_shenandoah > - [ ] tier1 (+UseShenandoahGC +IU) > - [x] runtime/CreateMirror/ArraysNewInstanceBug.java (+UseShenandoahGC +IU +aggressive) many times in a row w/o failure Changes requested by shade (Reviewer). src/hotspot/share/gc/shenandoah/mode/shenandoahIUMode.cpp line 37: > 35: > 36: void ShenandoahIUMode::initialize_flags() const { > 37: // See: https://bugs.openjdk.java.net/browse/JDK-8261341 No need for this comment, as the message prints it out. src/hotspot/share/gc/shenandoah/mode/shenandoahIUMode.cpp line 39: > 37: // See: https://bugs.openjdk.java.net/browse/JDK-8261341 > 38: if (FLAG_IS_CMDLINE(ClassUnloading) && ClassUnloading) { > 39: log_warning(gc)("Shenandoah I-U mode forces -XX:-ClassUnloading, for decails, see https://bugs.openjdk.java.net/browse/JDK-8261341"); "Shenandoah I-U mode sets -XX:-ClassUnloading; see JDK-8261341 for details" ------------- PR: https://git.openjdk.java.net/jdk/pull/2477 From rkennke at openjdk.java.net Tue Feb 9 13:13:43 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Tue, 9 Feb 2021 13:13:43 GMT Subject: RFR: 8261413: Shenandoah: Disable class-unloading in I-U mode [v2] In-Reply-To: References: Message-ID: > JDK-8261341 describes a serious problem with I-U mode and class-unloading. Let's disable class-unloading in I-U for now as a workaround. > > Testing: > - [ ] hotspot_gc_shenandoah > - [ ] tier1 (+UseShenandoahGC +IU) > - [x] runtime/CreateMirror/ArraysNewInstanceBug.java (+UseShenandoahGC +IU +aggressive) many times in a row w/o failure Roman Kennke has updated the pull request incrementally with one additional commit since the last revision: Some comment and output changes as requested by Aleksey ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2477/files - new: https://git.openjdk.java.net/jdk/pull/2477/files/491c41c1..e3c1b459 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2477&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2477&range=00-01 Stats: 2 lines in 1 file changed: 0 ins; 1 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/2477.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2477/head:pull/2477 PR: https://git.openjdk.java.net/jdk/pull/2477 From shade at openjdk.java.net Tue Feb 9 13:13:43 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 9 Feb 2021 13:13:43 GMT Subject: RFR: 8261413: Shenandoah: Disable class-unloading in I-U mode [v2] In-Reply-To: References: Message-ID: On Tue, 9 Feb 2021 13:10:55 GMT, Roman Kennke wrote: >> JDK-8261341 describes a serious problem with I-U mode and class-unloading. Let's disable class-unloading in I-U for now as a workaround. >> >> Testing: >> - [ ] hotspot_gc_shenandoah >> - [ ] tier1 (+UseShenandoahGC +IU) >> - [x] runtime/CreateMirror/ArraysNewInstanceBug.java (+UseShenandoahGC +IU +aggressive) many times in a row w/o failure > > Roman Kennke has updated the pull request incrementally with one additional commit since the last revision: > > Some comment and output changes as requested by Aleksey Marked as reviewed by shade (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/2477 From zgu at openjdk.java.net Tue Feb 9 13:21:31 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Tue, 9 Feb 2021 13:21:31 GMT Subject: RFR: 8261413: Shenandoah: Disable class-unloading in I-U mode [v2] In-Reply-To: References: Message-ID: On Tue, 9 Feb 2021 13:13:43 GMT, Roman Kennke wrote: >> JDK-8261341 describes a serious problem with I-U mode and class-unloading. Let's disable class-unloading in I-U for now as a workaround. >> >> Testing: >> - [ ] hotspot_gc_shenandoah >> - [ ] tier1 (+UseShenandoahGC +IU) >> - [x] runtime/CreateMirror/ArraysNewInstanceBug.java (+UseShenandoahGC +IU +aggressive) many times in a row w/o failure > > Roman Kennke has updated the pull request incrementally with one additional commit since the last revision: > > Some comment and output changes as requested by Aleksey Marked as reviewed by zgu (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/2477 From shade at openjdk.java.net Wed Feb 10 10:13:54 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 10 Feb 2021 10:13:54 GMT Subject: RFR: 8261493: Shenandoah: reconsider bitmap access memory ordering Message-ID: Shenandoah currently uses its own marking bitmap (added by JDK-8254315). It accesses the marking bitmap with "acquire" for reads and "conservative" for updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This seems to be excessive for Shenandoah marking bitmap updates, and "release" is enough. I think both are actually excessive for marking bitmap accesses: we do not piggyback object updates on it, the atomics there are only to guarantee the access atomicity and CAS updates to bits. So we might as well use "relaxed" modes for both loads and updates. Sample run with aggressive (back-to-back cycles) on SPECjvm2008:compiler.compiler on AArch64: # Baseline [135.357s][info][gc,stats] Concurrent Marking = 38.795 s (a = 146951 us) (n = 264) (lvls, us = 172, 1719, 150391, 275391, 348305) # Patched [130.475s][info][gc,stats] Concurrent Marking = 34.874 s (a = 120672 us) (n = 289) (lvls, us = 178, 1777, 132812, 222656, 323957) Average time goes down, the number of GC cycles go up, since the cycles are shorter. Additional testing: - [x] Linux x86_64 `hotspot_gc_shenandoah` - [x] Linux AArch64 `hotspot_gc_shenandoah` - [x] Linux AArch64 `tier1` with Shenandoah ------------- Commit messages: - 8261493: Shenandoah: reconsider bitmap access memory ordering Changes: https://git.openjdk.java.net/jdk/pull/2497/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2497&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261493 Stats: 18 lines in 2 files changed: 0 ins; 14 del; 4 mod Patch: https://git.openjdk.java.net/jdk/pull/2497.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2497/head:pull/2497 PR: https://git.openjdk.java.net/jdk/pull/2497 From rkennke at openjdk.java.net Wed Feb 10 10:27:39 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Wed, 10 Feb 2021 10:27:39 GMT Subject: RFR: 8261493: Shenandoah: reconsider bitmap access memory ordering In-Reply-To: References: Message-ID: On Wed, 10 Feb 2021 09:32:18 GMT, Aleksey Shipilev wrote: > Shenandoah currently uses its own marking bitmap (added by JDK-8254315). It accesses the marking bitmap with "acquire" for reads and "conservative" for updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This seems to be excessive for Shenandoah marking bitmap updates, and "release" is enough. > > I think both are actually excessive for marking bitmap accesses: we do not piggyback object updates on it, the atomics there are only to guarantee the access atomicity and CAS updates to bits. So we might as well use "relaxed" modes for both loads and updates. > > Sample run with aggressive (back-to-back cycles) on SPECjvm2008:compiler.compiler on AArch64: > > # Baseline > [135.357s][info][gc,stats] Concurrent Marking = 38.795 s (a = 146951 us) (n = 264) > (lvls, us = 172, 1719, 150391, 275391, 348305) > > # Patched > [130.475s][info][gc,stats] Concurrent Marking = 34.874 s (a = 120672 us) (n = 289) > (lvls, us = 178, 1777, 132812, 222656, 323957) > > Average time goes down, the number of GC cycles go up, since the cycles are shorter. > > Additional testing: > - [x] Linux x86_64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `tier1` with Shenandoah Nice improvement! I think that makes sense. Patch looks good to me! ------------- Marked as reviewed by rkennke (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2497 From shade at openjdk.java.net Wed Feb 10 11:16:49 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 10 Feb 2021 11:16:49 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering Message-ID: Shenandoah carries forwardee information in object's mark word. Installing the new mark word is effectively "releasing" the object copy, and reading from the new mark word is "acquiring" that object copy. For the forwardee update side, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This seems to be excessive for Shenandoah forwardee updates, and "release" is enough. For the forwardee load side, we need to guarantee "acquire". We do not do it now, reading the markword without memory semantics. It does not seem to pose a practical problem today, because GC does not access the object contents in the new copy, and mutators get this from the JRT-called stub that separates the fwdptr access and object contents access by a lot. It still should be cleaner to "acquire" the mark on load to avoid surprises. Sample run with `aggressive` (back-to-back cycles) on SPECjvm2008:compiler.compiler on AArch64: # Baseline [135.357s][info][gc,stats] Concurrent Evacuation = 17.459 s (a = 66132 us) (n = 264) (lvls, us = 152, 2402, 74414, 123047, 142021) [135.357s][info][gc,stats] Concurrent Update Refs = 72.774 s (a = 276708 us) (n = 263) ( lvls, us = 354, 3281, 259766, 548828, 720417) # Patched [135.923s][info][gc,stats] Concurrent Evacuation = 17.266 s (a = 61444 us) (n = 281) (lvls, us = 137, 2754, 42773, 119141, 142979) [135.923s][info][gc,stats] Concurrent Update Refs = 74.234 s (a = 265121 us) (n = 280) (lvls, us = 354, 3672, 132812, 558594, 748677) Average time goes down, the number of GC cycles go up, since the cycles are shorter. Additional testing: - [x] Linux x86_64 `hotspot_gc_shenandoah` - [x] Linux AArch64 `hotspot_gc_shenandoah` - [x] Linux AArch64 `tier1` with Shenandoah ------------- Commit messages: - 8261492: Shenandoah: reconsider forwardee accesses memory ordering Changes: https://git.openjdk.java.net/jdk/pull/2496/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2496&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261492 Stats: 17 lines in 3 files changed: 11 ins; 0 del; 6 mod Patch: https://git.openjdk.java.net/jdk/pull/2496.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2496/head:pull/2496 PR: https://git.openjdk.java.net/jdk/pull/2496 From rkennke at openjdk.java.net Wed Feb 10 11:53:37 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Wed, 10 Feb 2021 11:53:37 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering In-Reply-To: References: Message-ID: On Wed, 10 Feb 2021 08:55:39 GMT, Aleksey Shipilev wrote: > Shenandoah carries forwardee information in object's mark word. Installing the new mark word is effectively "releasing" the object copy, and reading from the new mark word is "acquiring" that object copy. > > For the forwardee update side, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This seems to be excessive for Shenandoah forwardee updates, and "release" is enough. > > For the forwardee load side, we need to guarantee "acquire". We do not do it now, reading the markword without memory semantics. It does not seem to pose a practical problem today, because GC does not access the object contents in the new copy, and mutators get this from the JRT-called stub that separates the fwdptr access and object contents access by a lot. It still should be cleaner to "acquire" the mark on load to avoid surprises. > > Sample run with `aggressive` (back-to-back cycles) on SPECjvm2008:compiler.compiler on AArch64: > > # Baseline > [135.357s][info][gc,stats] Concurrent Evacuation = 17.459 s (a = 66132 us) (n = 264) > (lvls, us = 152, 2402, 74414, 123047, 142021) > [135.357s][info][gc,stats] Concurrent Update Refs = 72.774 s (a = 276708 us) (n = 263) ( > lvls, us = 354, 3281, 259766, 548828, 720417) > > # Patched > [135.923s][info][gc,stats] Concurrent Evacuation = 17.266 s (a = 61444 us) (n = 281) > (lvls, us = 137, 2754, 42773, 119141, 142979) > [135.923s][info][gc,stats] Concurrent Update Refs = 74.234 s (a = 265121 us) (n = 280) > (lvls, us = 354, 3672, 132812, 558594, 748677) > > Average time goes down, the number of GC cycles go up, since the cycles are shorter. > > Additional testing: > - [x] Linux x86_64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `tier1` with Shenandoah Nice! Looks good to me! ------------- Marked as reviewed by rkennke (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2496 From shade at openjdk.java.net Wed Feb 10 12:42:45 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 10 Feb 2021 12:42:45 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering Message-ID: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> Shenandoah update heap references code uses default Atomic::cmpxchg to avoid races with mutator updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This seems to be excessive for Shenandoah update references code, and "relaxed" is enough. We do not seem to piggyback on update-references memory effects anywhere (in fact, if not for mutator, we would not even need a CAS). Sample run with aggressive (back-to-back cycles) on SPECjvm2008:compiler.compiler on AArch64: # Baseline [135.065s][info][gc,stats] Concurrent Update Refs = 73.685 s (a = 295924 us) (n = 249) (lvls, us = 354, 3418, 349609, 564453, 715405) # Patched [127.649s][info][gc,stats] Concurrent Update Refs = 54.389 s (a = 169437 us) (n = 321) (lvls, us = 324, 2188, 183594, 322266, 394495) Average time goes down, the number of GC cycles go up, since the cycles are shorter. Additional testing: - [x] Linux x86_64 hotspot_gc_shenandoah - [x] Linux AArch64 hotspot_gc_shenandoah - [x] Linux AArch64 tier1 with Shenandoah ------------- Commit messages: - 8261495: Shenandoah: reconsider update references memory ordering Changes: https://git.openjdk.java.net/jdk/pull/2498/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2498&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261495 Stats: 15 lines in 5 files changed: 0 ins; 0 del; 15 mod Patch: https://git.openjdk.java.net/jdk/pull/2498.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2498/head:pull/2498 PR: https://git.openjdk.java.net/jdk/pull/2498 From zgu at openjdk.java.net Wed Feb 10 13:11:52 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Wed, 10 Feb 2021 13:11:52 GMT Subject: RFR: 8261473: Shenandoah: Add breakpoint suppoprt Message-ID: Please review this patch that adds breakpoint support for Shenandoah, that allows Shenandoah to access a few tests: gc/TestConcurrentGCBreakpoints.java gc/TestJNIWeak/TestJNIWeak.java gc/TestReferenceClearDuringMarking.java gc/TestReferenceClearDuringReferenceProcessing.java gc/TestReferenceRefersTo.java The drawback is that above tests can not run with passive mode, which can result tests to hang, as breakpoints only apply to concurrent GC. Test: - [x] hotspot_gc_shenandoah - [x] tier1 with Shenandoah ------------- Commit messages: - update - init update Changes: https://git.openjdk.java.net/jdk/pull/2489/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2489&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261473 Stats: 170 lines in 8 files changed: 158 ins; 2 del; 10 mod Patch: https://git.openjdk.java.net/jdk/pull/2489.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2489/head:pull/2489 PR: https://git.openjdk.java.net/jdk/pull/2489 From zgu at openjdk.java.net Wed Feb 10 13:40:39 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Wed, 10 Feb 2021 13:40:39 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering In-Reply-To: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> Message-ID: On Wed, 10 Feb 2021 09:52:11 GMT, Aleksey Shipilev wrote: > Shenandoah update heap references code uses default Atomic::cmpxchg to avoid races with mutator updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > This seems to be excessive for Shenandoah update references code, and "relaxed" is enough. We do not seem to piggyback on update-references memory effects anywhere (in fact, if not for mutator, we would not even need a CAS). > > Sample run with aggressive (back-to-back cycles) on SPECjvm2008:compiler.compiler on AArch64: > > # Baseline > [135.065s][info][gc,stats] Concurrent Update Refs = 73.685 s (a = 295924 us) (n = 249) > (lvls, us = 354, 3418, 349609, 564453, 715405) > > # Patched > [127.649s][info][gc,stats] Concurrent Update Refs = 54.389 s (a = 169437 us) (n = 321) > (lvls, us = 324, 2188, 183594, 322266, 394495) > > Average time goes down, the number of GC cycles go up, since the cycles are shorter. > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp line 149: > 147: assert(is_aligned(addr, sizeof(narrowOop)), "Address should be aligned: " PTR_FORMAT, p2i(addr)); > 148: narrowOop val = CompressedOops::encode(n); > 149: return CompressedOops::decode(Atomic::cmpxchg(addr, c, val, memory_order_relaxed)); Are you sure it is sufficient? I would think it needs acq/rel pair, otherwise, read side can see incomplete oop ... ------------- PR: https://git.openjdk.java.net/jdk/pull/2498 From shade at openjdk.java.net Wed Feb 10 15:13:47 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 10 Feb 2021 15:13:47 GMT Subject: RFR: 8261503: Shenandoah: reconsider verifier memory ordering Message-ID: Shenandoah verifier uses lots of atomic operations. Unfortunately, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. In most cases, that is excessive for verifier, and "relaxed" would do. Additional testing: - [x] Linux x86_64 hotspot_gc_shenandoah - [x] Linux AArch64 hotspot_gc_shenandoah - [x] Linux AArch64 tier1 with Shenandoah ------------- Commit messages: - 8261503: Shenandoah: reconsider verifier memory ordering Changes: https://git.openjdk.java.net/jdk/pull/2505/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2505&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261503 Stats: 8 lines in 1 file changed: 0 ins; 0 del; 8 mod Patch: https://git.openjdk.java.net/jdk/pull/2505.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2505/head:pull/2505 PR: https://git.openjdk.java.net/jdk/pull/2505 From shade at openjdk.java.net Wed Feb 10 15:14:47 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 10 Feb 2021 15:14:47 GMT Subject: RFR: 8261496: Shenandoah: reconsider pacing updates memory ordering Message-ID: <_BlnOgWoSTjE1myt9WfuiZpM9hiIP7sGp38IJmzuyYg=.8a578dda-dbf7-4780-bc74-cf3710609005@github.com> Shenandoah pacer uses atomic operations to update budget, progress, allocations seen. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This is excessive for pacing, as we do not piggyback memory effects on it. All pacing updates can use "relaxed". Additional testing: - [x] Linux x86_64 hotspot_gc_shenandoah - [x] Linux AArch64 hotspot_gc_shenandoah - [x] Linux AArch64 tier1 with Shenandoah ------------- Commit messages: - 8261496: Shenandoah: reconsider pacing updates memory ordering Changes: https://git.openjdk.java.net/jdk/pull/2501/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2501&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261496 Stats: 7 lines in 3 files changed: 0 ins; 0 del; 7 mod Patch: https://git.openjdk.java.net/jdk/pull/2501.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2501/head:pull/2501 PR: https://git.openjdk.java.net/jdk/pull/2501 From zgu at openjdk.java.net Wed Feb 10 15:25:39 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Wed, 10 Feb 2021 15:25:39 GMT Subject: RFR: 8261496: Shenandoah: reconsider pacing updates memory ordering In-Reply-To: <_BlnOgWoSTjE1myt9WfuiZpM9hiIP7sGp38IJmzuyYg=.8a578dda-dbf7-4780-bc74-cf3710609005@github.com> References: <_BlnOgWoSTjE1myt9WfuiZpM9hiIP7sGp38IJmzuyYg=.8a578dda-dbf7-4780-bc74-cf3710609005@github.com> Message-ID: On Wed, 10 Feb 2021 10:13:47 GMT, Aleksey Shipilev wrote: > Shenandoah pacer uses atomic operations to update budget, progress, allocations seen. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > This is excessive for pacing, as we do not piggyback memory effects on it. All pacing updates can use "relaxed". > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah Looks good to me ------------- Marked as reviewed by zgu (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2501 From zgu at openjdk.java.net Wed Feb 10 15:27:44 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Wed, 10 Feb 2021 15:27:44 GMT Subject: RFR: 8261503: Shenandoah: reconsider verifier memory ordering In-Reply-To: References: Message-ID: On Wed, 10 Feb 2021 11:41:45 GMT, Aleksey Shipilev wrote: > Shenandoah verifier uses lots of atomic operations. Unfortunately, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > In most cases, that is excessive for verifier, and "relaxed" would do. > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah Looks good. ------------- Marked as reviewed by zgu (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2505 From shade at openjdk.java.net Wed Feb 10 15:28:39 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 10 Feb 2021 15:28:39 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering In-Reply-To: References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> Message-ID: <-XbC4UcEc8lhp2-6w1hq2sOHrX2R-x7nfdgMuUWTxwg=.b38923c7-ca15-4f17-804d-e44942f71621@github.com> On Wed, 10 Feb 2021 13:37:59 GMT, Zhengyu Gu wrote: >> Shenandoah update heap references code uses default Atomic::cmpxchg to avoid races with mutator updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. >> >> This seems to be excessive for Shenandoah update references code, and "relaxed" is enough. We do not seem to piggyback on update-references memory effects anywhere (in fact, if not for mutator, we would not even need a CAS). >> >> Sample run with aggressive (back-to-back cycles) on SPECjvm2008:compiler.compiler on AArch64: >> >> # Baseline >> [135.065s][info][gc,stats] Concurrent Update Refs = 73.685 s (a = 295924 us) (n = 249) >> (lvls, us = 354, 3418, 349609, 564453, 715405) >> >> # Patched >> [127.649s][info][gc,stats] Concurrent Update Refs = 54.389 s (a = 169437 us) (n = 321) >> (lvls, us = 324, 2188, 183594, 322266, 394495) >> >> Average time goes down, the number of GC cycles go up, since the cycles are shorter. >> >> Additional testing: >> - [x] Linux x86_64 hotspot_gc_shenandoah >> - [x] Linux AArch64 hotspot_gc_shenandoah >> - [x] Linux AArch64 tier1 with Shenandoah > > src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp line 149: > >> 147: assert(is_aligned(addr, sizeof(narrowOop)), "Address should be aligned: " PTR_FORMAT, p2i(addr)); >> 148: narrowOop val = CompressedOops::encode(n); >> 149: return CompressedOops::decode(Atomic::cmpxchg(addr, c, val, memory_order_relaxed)); > > Are you sure it is sufficient? I would think it needs acq/rel pair, otherwise, read side can see incomplete oop ... Actually, I think you are right: we must ensure the cumulativity of the barriers. Let me think a bit more about it. ------------- PR: https://git.openjdk.java.net/jdk/pull/2498 From shade at openjdk.java.net Wed Feb 10 16:14:45 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 10 Feb 2021 16:14:45 GMT Subject: RFR: 8261501: Shenandoah: reconsider heap statistics memory ordering Message-ID: <0O1tXXs991770rhrpYioXIWr6m-OhDFMZINDiQ_UXc4=.92460035-468e-4bf5-97cb-bff58d1a2ede@github.com> ShenandoahHeap collects heap-wide statistics (used, committed, etc). It does so by atomically updating them with default CASes. Unfortunately, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This is excessive for statistics gathering, and "relaxed" should be just as good. Additional testing: - [x] Linux x86_64 hotspot_gc_shenandoah - [x] Linux AArch64 hotspot_gc_shenandoah - [x] Linux AArch64 tier1 with Shenandoah ------------- Commit messages: - 8261501: Shenandoah: reconsider heap statistics memory ordering Changes: https://git.openjdk.java.net/jdk/pull/2504/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2504&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261501 Stats: 9 lines in 1 file changed: 0 ins; 1 del; 8 mod Patch: https://git.openjdk.java.net/jdk/pull/2504.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2504/head:pull/2504 PR: https://git.openjdk.java.net/jdk/pull/2504 From shade at openjdk.java.net Wed Feb 10 17:43:47 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 10 Feb 2021 17:43:47 GMT Subject: RFR: 8261500: Shenandoah: reconsider region live data memory ordering Message-ID: Current Shenandoah region live data tracking uses default CAS updates to achieve atomicity of updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This seems to be excessive for live data tracking, and "relaxed" could be used instead. The only serious user of that data is collection set chooser, which runs at safepoint and so everything should be quiescent when that happens. Additional testing: - [x] Linux x86_64 hotspot_gc_shenandoah - [x] Linux AArch64 hotspot_gc_shenandoah - [x] Linux AArch64 tier1 with Shenandoah ------------- Commit messages: - 8261500: Shenandoah: reconsider region live data memory ordering Changes: https://git.openjdk.java.net/jdk/pull/2503/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2503&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261500 Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod Patch: https://git.openjdk.java.net/jdk/pull/2503.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2503/head:pull/2503 PR: https://git.openjdk.java.net/jdk/pull/2503 From zgu at openjdk.java.net Wed Feb 10 17:58:39 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Wed, 10 Feb 2021 17:58:39 GMT Subject: RFR: 8261500: Shenandoah: reconsider region live data memory ordering In-Reply-To: References: Message-ID: On Wed, 10 Feb 2021 10:40:26 GMT, Aleksey Shipilev wrote: > Current Shenandoah region live data tracking uses default CAS updates to achieve atomicity of updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > This seems to be excessive for live data tracking, and "relaxed" could be used instead. The only serious user of that data is collection set chooser, which runs at safepoint and so everything should be quiescent when that happens. > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah Looks good ------------- Marked as reviewed by zgu (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2503 From shade at openjdk.java.net Wed Feb 10 19:07:37 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 10 Feb 2021 19:07:37 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering [v2] In-Reply-To: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> Message-ID: > Shenandoah update heap references code uses default Atomic::cmpxchg to avoid races with mutator updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > This seems to be excessive for Shenandoah update references code, and "acq_rel" is enough. We do not seem to piggyback on update-references memory effects anywhere (in fact, if not for mutator, we would not even need a CAS). But, there is an interplay with concurrent evacuation and updates from self-healing. > > Sample run with aggressive (back-to-back cycles) on SPECjvm2008:compiler.compiler on AArch64: > > # Baseline > [135.065s][info][gc,stats] Concurrent Update Refs = 73.685 s (a = 295924 us) (n = 249) > (lvls, us = 354, 3418, 349609, 564453, 715405) > > # Patched > [127.649s][info][gc,stats] Concurrent Update Refs = 54.389 s (a = 169437 us) (n = 321) > (lvls, us = 324, 2188, 183594, 322266, 394495) > > Average time goes down, the number of GC cycles go up, since the cycles are shorter. > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: Do acq_rel instead ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2498/files - new: https://git.openjdk.java.net/jdk/pull/2498/files/d83b9af4..87a609f4 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2498&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2498&range=00-01 Stats: 41 lines in 1 file changed: 38 ins; 0 del; 3 mod Patch: https://git.openjdk.java.net/jdk/pull/2498.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2498/head:pull/2498 PR: https://git.openjdk.java.net/jdk/pull/2498 From shade at openjdk.java.net Wed Feb 10 19:07:38 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 10 Feb 2021 19:07:38 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering [v2] In-Reply-To: <-XbC4UcEc8lhp2-6w1hq2sOHrX2R-x7nfdgMuUWTxwg=.b38923c7-ca15-4f17-804d-e44942f71621@github.com> References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> <-XbC4UcEc8lhp2-6w1hq2sOHrX2R-x7nfdgMuUWTxwg=.b38923c7-ca15-4f17-804d-e44942f71621@github.com> Message-ID: On Wed, 10 Feb 2021 15:25:33 GMT, Aleksey Shipilev wrote: >> src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp line 149: >> >>> 147: assert(is_aligned(addr, sizeof(narrowOop)), "Address should be aligned: " PTR_FORMAT, p2i(addr)); >>> 148: narrowOop val = CompressedOops::encode(n); >>> 149: return CompressedOops::decode(Atomic::cmpxchg(addr, c, val, memory_order_relaxed)); >> >> Are you sure it is sufficient? I would think it needs acq/rel pair, otherwise, read side can see incomplete oop ... > > Actually, I think you are right: we must ensure the cumulativity of the barriers. Let me think a bit more about it. I think I convinced myself there is a need for `memory_order_acq_rel`. I added a sketch of (counter-)example in code comments. See if that what you were concerned about? ------------- PR: https://git.openjdk.java.net/jdk/pull/2498 From shade at openjdk.java.net Wed Feb 10 19:10:43 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 10 Feb 2021 19:10:43 GMT Subject: RFR: 8261504: Shenandoah: reconsider ShenandoahJavaThreadsIterator::claim memory ordering Message-ID: JDK-8256298 added the thread iterator for thread roots, and I don't think we need the Hotspot's default memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. The simple "relaxed" should do. Additional testing: - [x] Linux x86_64 hotspot_gc_shenandoah - [x] Linux AArch64 hotspot_gc_shenandoah - [x] Linux AArch64 tier1 with Shenandoah ------------- Commit messages: - 8261504: Shenandoah: reconsider ShenandoahJavaThreadsIterator::claim memory ordering Changes: https://git.openjdk.java.net/jdk/pull/2506/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2506&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261504 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/2506.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2506/head:pull/2506 PR: https://git.openjdk.java.net/jdk/pull/2506 From zgu at openjdk.java.net Wed Feb 10 19:23:39 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Wed, 10 Feb 2021 19:23:39 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering [v2] In-Reply-To: References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> <-XbC4UcEc8lhp2-6w1hq2sOHrX2R-x7nfdgMuUWTxwg=.b38923c7-ca15-4f17-804d-e44942f71621@github.com> Message-ID: On Wed, 10 Feb 2021 18:59:42 GMT, Aleksey Shipilev wrote: >> Actually, I think you are right: we must ensure the cumulativity of the barriers. Let me think a bit more about it. > > I think I convinced myself there is a need for `memory_order_acq_rel`. I added a sketch of (counter-)example in code comments. See if that what you were concerned about? Actually, what I meant is that CAS here should use memory_order_release and load barrier needs memory_order_acquire. I am not sure memory_order_acq_rel is sufficient, C++ states _memory_order_acq_rel_: A read-modify-write operation with this memory order is both an acquire operation and a release operation. No memory reads or writes in the current thread can be reordered before or after this store. All writes in other threads that release the same atomic variable are visible before the modification and **the modification is visible in other threads that acquire the same atomic variable.** ------------- PR: https://git.openjdk.java.net/jdk/pull/2498 From zgu at openjdk.java.net Wed Feb 10 19:25:38 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Wed, 10 Feb 2021 19:25:38 GMT Subject: RFR: 8261504: Shenandoah: reconsider ShenandoahJavaThreadsIterator::claim memory ordering In-Reply-To: References: Message-ID: On Wed, 10 Feb 2021 12:00:38 GMT, Aleksey Shipilev wrote: > JDK-8256298 added the thread iterator for thread roots, and I don't think we need the Hotspot's default memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. The simple "relaxed" should do. > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah Looks good. ------------- Marked as reviewed by zgu (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2506 From zgu at openjdk.java.net Wed Feb 10 20:13:52 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Wed, 10 Feb 2021 20:13:52 GMT Subject: RFR: 8261473: Shenandoah: Add breakpoint suppoprt [v2] In-Reply-To: References: Message-ID: <9gXmTI0gU9zTr-HffSqSsVEVjmUED0rNINulpr_mjQM=.b353278c-a4f1-45f5-bf8d-ed1e33fbb0c9@github.com> > Please review this patch that adds breakpoint support for Shenandoah, that allows Shenandoah to access a few tests: > > gc/TestConcurrentGCBreakpoints.java > gc/TestJNIWeak/TestJNIWeak.java > gc/TestReferenceClearDuringMarking.java > gc/TestReferenceClearDuringReferenceProcessing.java > gc/TestReferenceRefersTo.java > > The drawback is that above tests can not run with passive mode, which can result tests to hang, as breakpoints only apply to concurrent GC. > > Test: > - [x] hotspot_gc_shenandoah > - [x] tier1 with Shenandoah Zhengyu Gu has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits: - Merge - update - init update ------------- Changes: https://git.openjdk.java.net/jdk/pull/2489/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2489&range=01 Stats: 170 lines in 8 files changed: 158 ins; 2 del; 10 mod Patch: https://git.openjdk.java.net/jdk/pull/2489.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2489/head:pull/2489 PR: https://git.openjdk.java.net/jdk/pull/2489 From zgu at openjdk.java.net Wed Feb 10 20:47:37 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Wed, 10 Feb 2021 20:47:37 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering [v2] In-Reply-To: References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> <-XbC4UcEc8lhp2-6w1hq2sOHrX2R-x7nfdgMuUWTxwg=.b38923c7-ca15-4f17-804d-e44942f71621@github.com> Message-ID: On Wed, 10 Feb 2021 18:59:42 GMT, Aleksey Shipilev wrote: >> Actually, I think you are right: we must ensure the cumulativity of the barriers. Let me think a bit more about it. > > I think I convinced myself there is a need for `memory_order_acq_rel`. I added a sketch of (counter-)example in code comments. See if that what you were concerned about? Actually, what I meant is that CAS here should use memory_order_release and load barrier needs memory_order_acquire. I am not sure memory_order_acq_rel is sufficient, C++ states _memory_order_acq_rel_: A read-modify-write operation with this memory order is both an acquire operation and a release operation. No memory reads or writes in the current thread can be reordered before or after this store. All writes in other threads that release the same atomic variable are visible before the modification and **the modification is visible in other threads that acquire the same atomic variable.** ------------- PR: https://git.openjdk.java.net/jdk/pull/2498 From iklam at openjdk.java.net Thu Feb 11 03:56:56 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Thu, 11 Feb 2021 03:56:56 GMT Subject: RFR: 8261125: Move VM_Operation to vmOperation.hpp [v2] In-Reply-To: References: Message-ID: <7NTd4QcyE-O95plU98DtOA8v8NoO1ArbeT0i1AzK0-w=.47ecf860-07f6-4ead-a0b1-4f0127853e4d@github.com> > vmOperations.hpp declares the VM_Operation class, as well as a hodge podge of subclasses such as VM_ForceSafepoint, VM_DeoptimizeFrame. > > Out of the 1000 hotspot .o files, about 680 include vmOperations.hpp (mostly transitively). In most cases, they just need to use the VM_Operation class. > > So we should move VM_Operation to its own header: vmOperation.hpp (no "s"). > > After the refactoring, vmOperations.hpp is included only 64 times. The inclusion count of threadSMR.hpp is also reduced from 687 to 99. HotSpot build time is improved by about 0.4%. > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: interfaceSupport.inline.hpp needs VM_Exit from vmOperations.hpp for JVM_LEAF macro ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2398/files - new: https://git.openjdk.java.net/jdk/pull/2398/files/f4637f70..01633cda Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2398&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2398&range=00-01 Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/2398.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2398/head:pull/2398 PR: https://git.openjdk.java.net/jdk/pull/2398 From iklam at openjdk.java.net Thu Feb 11 03:59:37 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Thu, 11 Feb 2021 03:59:37 GMT Subject: RFR: 8261125: Move VM_Operation to vmOperation.hpp [v2] In-Reply-To: References: <1bctHoGUQv3v65nZBeuvMgXH4ur6CU3xXkzHT6ZqIPo=.aeda32f9-fdfe-4561-b6f0-7201caa0eea1@github.com> <7F1Nq0zPfyWP644ml5icuHT6lkHlAjJG2qFOJr2dGAY=.daffcc16-1ed0-42db-b77b-e59c72dff349@github.com> Message-ID: <54Eg-olaP7adJuc9TR2Rj58smez-FpUWkYcf1Hf1onA=.0137514d-c491-4701-8db4-2fa3fd6ac51d@github.com> On Fri, 5 Feb 2021 17:34:06 GMT, Coleen Phillimore wrote: > I'm fine with leaving vmOperations.hpp and vmOperation.hpp. It's not a big deal. commonVMOperations.hpp - too much noise! > I agree with David. interfaceSupport.inline.hpp imports a lot of things so importing vmOperations.hpp is not a big deal. vmOperations.hpp imports #include "runtime/threadSMR.hpp" otherwise it has all the same imports as interfaceSupport.inline.hpp anyway. > All these files are going to increase compilation time too. > I stand by my check mark above! OK, since no one is fond of further splitting the headers, and no one has vetoed the vmOperation.hpp name, I'll keep everything as originally proposed. Will do more testing and integrate. ------------- PR: https://git.openjdk.java.net/jdk/pull/2398 From iklam at openjdk.java.net Thu Feb 11 06:36:57 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Thu, 11 Feb 2021 06:36:57 GMT Subject: RFR: 8261125: Move VM_Operation to vmOperation.hpp [v3] In-Reply-To: References: Message-ID: > vmOperations.hpp declares the VM_Operation class, as well as a hodge podge of subclasses such as VM_ForceSafepoint, VM_DeoptimizeFrame. > > Out of the 1000 hotspot .o files, about 680 include vmOperations.hpp (mostly transitively). In most cases, they just need to use the VM_Operation class. > > So we should move VM_Operation to its own header: vmOperation.hpp (no "s"). > > After the refactoring, vmOperations.hpp is included only 64 times. The inclusion count of threadSMR.hpp is also reduced from 687 to 99. HotSpot build time is improved by about 0.4%. > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: - Merge branch 'master' into 8261125-move-VM_Operation-to-vmOperation.hpp - interfaceSupport.inline.hpp needs VM_Exit from vmOperations.hpp for JVM_LEAF macro - 8261125: Move VM_Operation to vmOperation.hpp ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2398/files - new: https://git.openjdk.java.net/jdk/pull/2398/files/01633cda..bab79154 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2398&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2398&range=01-02 Stats: 19114 lines in 561 files changed: 11182 ins; 5559 del; 2373 mod Patch: https://git.openjdk.java.net/jdk/pull/2398.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2398/head:pull/2398 PR: https://git.openjdk.java.net/jdk/pull/2398 From shade at openjdk.java.net Thu Feb 11 06:37:56 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Thu, 11 Feb 2021 06:37:56 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering [v3] In-Reply-To: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> Message-ID: > Shenandoah update heap references code uses default Atomic::cmpxchg to avoid races with mutator updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > This seems to be excessive for Shenandoah update references code, and "acq_rel" is enough. We do not seem to piggyback on update-references memory effects anywhere (in fact, if not for mutator, we would not even need a CAS). But, there is an interplay with concurrent evacuation and updates from self-healing. > > Sample run with aggressive (back-to-back cycles) on SPECjvm2008:compiler.compiler on AArch64: > > # Baseline > [135.065s][info][gc,stats] Concurrent Update Refs = 73.685 s (a = 295924 us) (n = 249) > (lvls, us = 354, 3418, 349609, 564453, 715405) > > # Patched > [127.649s][info][gc,stats] Concurrent Update Refs = 54.389 s (a = 169437 us) (n = 321) > (lvls, us = 324, 2188, 183594, 322266, 394495) > > Average time goes down, the number of GC cycles go up, since the cycles are shorter. > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: Use release only ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2498/files - new: https://git.openjdk.java.net/jdk/pull/2498/files/87a609f4..36bee3a9 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2498&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2498&range=01-02 Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod Patch: https://git.openjdk.java.net/jdk/pull/2498.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2498/head:pull/2498 PR: https://git.openjdk.java.net/jdk/pull/2498 From iklam at openjdk.java.net Thu Feb 11 06:57:39 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Thu, 11 Feb 2021 06:57:39 GMT Subject: RFR: 8261125: Move VM_Operation to vmOperation.hpp [v3] In-Reply-To: <54Eg-olaP7adJuc9TR2Rj58smez-FpUWkYcf1Hf1onA=.0137514d-c491-4701-8db4-2fa3fd6ac51d@github.com> References: <1bctHoGUQv3v65nZBeuvMgXH4ur6CU3xXkzHT6ZqIPo=.aeda32f9-fdfe-4561-b6f0-7201caa0eea1@github.com> <7F1Nq0zPfyWP644ml5icuHT6lkHlAjJG2qFOJr2dGAY=.daffcc16-1ed0-42db-b77b-e59c72dff349@github.com> <54Eg-olaP7adJuc9TR2Rj58smez-FpUWkYcf1Hf1onA=.0137514d-c491-4701-8db4-2fa3fd6ac51d@github.com> Message-ID: On Thu, 11 Feb 2021 03:56:44 GMT, Ioi Lam wrote: >> I'm fine with leaving vmOperations.hpp and vmOperation.hpp. It's not a big deal. commonVMOperations.hpp - too much noise! >> I agree with David. interfaceSupport.inline.hpp imports a lot of things so importing vmOperations.hpp is not a big deal. vmOperations.hpp imports #include "runtime/threadSMR.hpp" otherwise it has all the same imports as interfaceSupport.inline.hpp anyway. >> All these files are going to increase compilation time too. >> I stand by my check mark above! > >> I'm fine with leaving vmOperations.hpp and vmOperation.hpp. It's not a big deal. commonVMOperations.hpp - too much noise! >> I agree with David. interfaceSupport.inline.hpp imports a lot of things so importing vmOperations.hpp is not a big deal. vmOperations.hpp imports #include "runtime/threadSMR.hpp" otherwise it has all the same imports as interfaceSupport.inline.hpp anyway. >> All these files are going to increase compilation time too. >> I stand by my check mark above! > > OK, since no one is fond of further splitting the headers, and no one has vetoed the vmOperation.hpp name, I'll keep everything as originally proposed. Will do more testing and integrate. BTW, I found a few existing singular/plural pairs of hpp files. Admittedly I created ciSymbols.hpp recently, but the other 3 pairs have been there for quite some time. share/ci/ciSymbol.hpp share/ci/ciSymbols.hpp share/interpreter/bytecode.hpp share/interpreter/bytecodes.hpp share/jfr/recorder/service/jfrEvent.hpp share/jfr/jfrEvents.hpp share/jfr/recorder/checkpoint/types/jfrType.hpp share/jfr/utilities/jfrTypes.hpp ------------- PR: https://git.openjdk.java.net/jdk/pull/2398 From zgu at openjdk.java.net Thu Feb 11 13:30:43 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 11 Feb 2021 13:30:43 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering [v3] In-Reply-To: References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> <-XbC4UcEc8lhp2-6w1hq2sOHrX2R-x7nfdgMuUWTxwg=.b38923c7-ca15-4f17-804d-e44942f71621@github.com> Message-ID: On Wed, 10 Feb 2021 20:44:34 GMT, Zhengyu Gu wrote: >> I think I convinced myself there is a need for `memory_order_acq_rel`. I added a sketch of (counter-)example in code comments. See if that what you were concerned about? > > Actually, what I meant is that CAS here should use memory_order_release and load barrier needs memory_order_acquire. > I am not sure memory_order_acq_rel is sufficient, C++ states _memory_order_acq_rel_: > > A read-modify-write operation with this memory order is both an acquire operation and a release operation. No memory reads or writes in the current thread can be reordered before or after this store. All writes in other threads that release the same atomic variable are visible before the modification and **the modification is visible in other threads that acquire the same atomic variable.** > > For atomic_update_oop(), leading acq is prob. unnecessary, since the oop is either evacuated by current thread or there is a safepoint in between. My concern is missing read barrier on read side, e.g. an oop is evacuated and updated by a mutator, then the second Java thread follows fwdptr and loads the oop, without a read barrier on then load, it may see incompleted/newly evacuated oop. Ah, I missed JDK-8261495, which is counterpart of this change. I think memory_order_release is good. ------------- PR: https://git.openjdk.java.net/jdk/pull/2498 From zgu at openjdk.java.net Thu Feb 11 13:30:42 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 11 Feb 2021 13:30:42 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering [v3] In-Reply-To: References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> Message-ID: On Thu, 11 Feb 2021 06:37:56 GMT, Aleksey Shipilev wrote: >> Shenandoah update heap references code uses default Atomic::cmpxchg to avoid races with mutator updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. >> >> This seems to be excessive for Shenandoah update references code, and "release" is enough. We do not seem to piggyback on update-references memory effects anywhere (in fact, if not for mutator, we would not even need a CAS). But, there is an interplay with concurrent evacuation and updates from self-healing. >> >> Average time goes down, the number of GC cycles go up, since the cycles are shorter. >> >> Additional testing: >> - [x] Linux x86_64 hotspot_gc_shenandoah >> - [x] Linux AArch64 hotspot_gc_shenandoah >> - [x] Linux AArch64 tier1 with Shenandoah > > Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: > > Use release only Looks good to me. ------------- Marked as reviewed by zgu (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2498 From zgu at openjdk.java.net Thu Feb 11 13:34:38 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 11 Feb 2021 13:34:38 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering In-Reply-To: References: Message-ID: On Wed, 10 Feb 2021 08:55:39 GMT, Aleksey Shipilev wrote: > Shenandoah carries forwardee information in object's mark word. Installing the new mark word is effectively "releasing" the object copy, and reading from the new mark word is "acquiring" that object copy. > > For the forwardee update side, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This seems to be excessive for Shenandoah forwardee updates, and "release" is enough. > > For the forwardee load side, we need to guarantee "acquire". We do not do it now, reading the markword without memory semantics. It does not seem to pose a practical problem today, because GC does not access the object contents in the new copy, and mutators get this from the JRT-called stub that separates the fwdptr access and object contents access by a lot. It still should be cleaner to "acquire" the mark on load to avoid surprises. > > Additional testing: > - [x] Linux x86_64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `tier1` with Shenandoah Changes requested by zgu (Reviewer). src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp line 89: > 87: // (would be paired with acquire in forwardee accessors). Acquire on failed update > 88: // would get the updated object after the forwardee load. > 89: markWord prev_mark = obj->cas_set_mark(new_mark, old_mark, memory_order_acq_rel); You have obj->mark_acquire() above, I don't think you need leading acquire here. src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp line 43: > 41: // fwdptr. That object is still not forwarded, and we need to return > 42: // the object itself. > 43: markWord mark = obj->mark_acquire(); We also need the acquire barrier in fast path in generated code, right? ------------- PR: https://git.openjdk.java.net/jdk/pull/2496 From shade at openjdk.java.net Thu Feb 11 13:43:40 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Thu, 11 Feb 2021 13:43:40 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering In-Reply-To: References: Message-ID: On Thu, 11 Feb 2021 13:32:00 GMT, Zhengyu Gu wrote: >> Shenandoah carries forwardee information in object's mark word. Installing the new mark word is effectively "releasing" the object copy, and reading from the new mark word is "acquiring" that object copy. >> >> For the forwardee update side, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This seems to be excessive for Shenandoah forwardee updates, and "release" is enough. >> >> For the forwardee load side, we need to guarantee "acquire". We do not do it now, reading the markword without memory semantics. It does not seem to pose a practical problem today, because GC does not access the object contents in the new copy, and mutators get this from the JRT-called stub that separates the fwdptr access and object contents access by a lot. It still should be cleaner to "acquire" the mark on load to avoid surprises. >> >> Additional testing: >> - [x] Linux x86_64 `hotspot_gc_shenandoah` >> - [x] Linux AArch64 `hotspot_gc_shenandoah` >> - [x] Linux AArch64 `tier1` with Shenandoah > > src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp line 43: > >> 41: // fwdptr. That object is still not forwarded, and we need to return >> 42: // the object itself. >> 43: markWord mark = obj->mark_acquire(); > > We also need the acquire barrier in fast path in generated code, right? Dang. I thought the beauty of self-fixing barriers is that we moved all fwdptr accesses to C++ (either GC or LRB), and all of them end up in this file. But there is `ShenandoahBarrierSetAssembler::cmpxchg_oop` that accesses the fwdptr directly. I shall see what can be done there. > src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp line 89: > >> 87: // (would be paired with acquire in forwardee accessors). Acquire on failed update >> 88: // would get the updated object after the forwardee load. >> 89: markWord prev_mark = obj->cas_set_mark(new_mark, old_mark, memory_order_acq_rel); > > You have obj->mark_acquire() above, I don't think you need leading acquire here. A bit different: we want to acquire `prev_mark` (failure witness) here, if we lose the update race. So the `old_mark` acquire does not really help us. ------------- PR: https://git.openjdk.java.net/jdk/pull/2496 From shade at openjdk.java.net Thu Feb 11 14:07:59 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Thu, 11 Feb 2021 14:07:59 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v2] In-Reply-To: References: Message-ID: On Thu, 11 Feb 2021 13:39:42 GMT, Aleksey Shipilev wrote: >> src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp line 43: >> >>> 41: // fwdptr. That object is still not forwarded, and we need to return >>> 42: // the object itself. >>> 43: markWord mark = obj->mark_acquire(); >> >> We also need the acquire barrier in fast path in generated code, right? > > Dang. I thought the beauty of self-fixing barriers is that we moved all fwdptr accesses to C++ (either GC or LRB), and all of them end up in this file. But there is `ShenandoahBarrierSetAssembler::cmpxchg_oop` that accesses the fwdptr directly. I shall see what can be done there. I believe only AArch64 needs a fix. x86_64 already has a strong semantics. See new commit. ------------- PR: https://git.openjdk.java.net/jdk/pull/2496 From shade at openjdk.java.net Thu Feb 11 14:07:58 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Thu, 11 Feb 2021 14:07:58 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v2] In-Reply-To: References: Message-ID: > Shenandoah carries forwardee information in object's mark word. Installing the new mark word is effectively "releasing" the object copy, and reading from the new mark word is "acquiring" that object copy. > > For the forwardee update side, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This seems to be excessive for Shenandoah forwardee updates, and "release" is enough. > > For the forwardee load side, we need to guarantee "acquire". We do not do it now, reading the markword without memory semantics. It does not seem to pose a practical problem today, because GC does not access the object contents in the new copy, and mutators get this from the JRT-called stub that separates the fwdptr access and object contents access by a lot. It still should be cleaner to "acquire" the mark on load to avoid surprises. > > Additional testing: > - [x] Linux x86_64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `tier1` with Shenandoah Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: Make sure to access fwdptr with acquire semantics in assembler code ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2496/files - new: https://git.openjdk.java.net/jdk/pull/2496/files/b6ac8e4c..49626781 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2496&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2496&range=00-01 Stats: 5 lines in 1 file changed: 4 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/2496.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2496/head:pull/2496 PR: https://git.openjdk.java.net/jdk/pull/2496 From zgu at openjdk.java.net Thu Feb 11 14:31:41 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 11 Feb 2021 14:31:41 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v2] In-Reply-To: References: Message-ID: <-mMs6CWp1r2GKMwtamARlpAfWQnUI-I3sSCfpmaRfPI=.9aa2cb72-1370-47ee-8de0-ce4b8a946661@github.com> On Thu, 11 Feb 2021 14:07:58 GMT, Aleksey Shipilev wrote: >> Shenandoah carries forwardee information in object's mark word. Installing the new mark word is effectively "releasing" the object copy, and reading from the new mark word is "acquiring" that object copy. >> >> For the forwardee update side, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This seems to be excessive for Shenandoah forwardee updates, and "release" is enough. >> >> For the forwardee load side, we need to guarantee "acquire". We do not do it now, reading the markword without memory semantics. It does not seem to pose a practical problem today, because GC does not access the object contents in the new copy, and mutators get this from the JRT-called stub that separates the fwdptr access and object contents access by a lot. It still should be cleaner to "acquire" the mark on load to avoid surprises. >> >> Additional testing: >> - [x] Linux x86_64 `hotspot_gc_shenandoah` >> - [x] Linux AArch64 `hotspot_gc_shenandoah` >> - [x] Linux AArch64 `tier1` with Shenandoah > > Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: > > Make sure to access fwdptr with acquire semantics in assembler code src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp line 58: > 56: assert(Thread::current()->is_Java_thread(), "Must be a mutator thread"); > 57: > 58: markWord mark = obj->mark_acquire(); Actually, I would argue that you don't need acquire here, since you don't touch anything other than mark word, so that there is no order that needs to be enforced. src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp line 89: > 87: // (would be paired with acquire in forwardee accessors). Acquire on failed update > 88: // would get the updated object after the forwardee load. > 89: markWord prev_mark = obj->cas_set_mark(new_mark, old_mark, memory_order_acq_rel); Same here, CAS guarantees you to see latest mark word. memory_order_release should be sufficient here, paired with memory_order_acquire in resolve_forward barrier to ensure safe publishing the new object. ------------- PR: https://git.openjdk.java.net/jdk/pull/2496 From shade at openjdk.java.net Thu Feb 11 16:08:40 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Thu, 11 Feb 2021 16:08:40 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v2] In-Reply-To: <-mMs6CWp1r2GKMwtamARlpAfWQnUI-I3sSCfpmaRfPI=.9aa2cb72-1370-47ee-8de0-ce4b8a946661@github.com> References: <-mMs6CWp1r2GKMwtamARlpAfWQnUI-I3sSCfpmaRfPI=.9aa2cb72-1370-47ee-8de0-ce4b8a946661@github.com> Message-ID: <6xIXW7WXJtqZVPASy4StAzwMhh6AHgYibgX6NRHoOF8=.85ffde9d-662c-4f3a-9410-de5ca9def6a7@github.com> On Thu, 11 Feb 2021 14:25:21 GMT, Zhengyu Gu wrote: >> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: >> >> Make sure to access fwdptr with acquire semantics in assembler code > > src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp line 58: > >> 56: assert(Thread::current()->is_Java_thread(), "Must be a mutator thread"); >> 57: >> 58: markWord mark = obj->mark_acquire(); > > Actually, I would argue that you don't need acquire here, since you don't touch anything other than mark word, so that there is no order that needs to be enforced. It is not about the mark word itself, we access the forwardee afterwards. It is about transitive dependency: object copy stores -> forwardee installation (markword store, release) -> forwardee discovery (markword load, acquire) --> object copy access. Remember this: https://github.com/openjdk/jdk/pull/2498#discussion_r574498830 > src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp line 89: > >> 87: // (would be paired with acquire in forwardee accessors). Acquire on failed update >> 88: // would get the updated object after the forwardee load. >> 89: markWord prev_mark = obj->cas_set_mark(new_mark, old_mark, memory_order_acq_rel); > > Same here, CAS guarantees you to see latest mark word. memory_order_release should be sufficient here, paired with memory_order_acquire in resolve_forward barrier to ensure safe publishing the new object. Again, not really about the mark word. The transitive load of the object from that fwdptr is what we are after. ------------- PR: https://git.openjdk.java.net/jdk/pull/2496 From zgu at openjdk.java.net Thu Feb 11 16:16:38 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 11 Feb 2021 16:16:38 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v2] In-Reply-To: <6xIXW7WXJtqZVPASy4StAzwMhh6AHgYibgX6NRHoOF8=.85ffde9d-662c-4f3a-9410-de5ca9def6a7@github.com> References: <-mMs6CWp1r2GKMwtamARlpAfWQnUI-I3sSCfpmaRfPI=.9aa2cb72-1370-47ee-8de0-ce4b8a946661@github.com> <6xIXW7WXJtqZVPASy4StAzwMhh6AHgYibgX6NRHoOF8=.85ffde9d-662c-4f3a-9410-de5ca9def6a7@github.com> Message-ID: On Thu, 11 Feb 2021 16:04:38 GMT, Aleksey Shipilev wrote: >> src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp line 58: >> >>> 56: assert(Thread::current()->is_Java_thread(), "Must be a mutator thread"); >>> 57: >>> 58: markWord mark = obj->mark_acquire(); >> >> Actually, I would argue that you don't need acquire here, since you don't touch anything other than mark word, so that there is no order that needs to be enforced. > > It is not about the mark word itself, we access the forwardee afterwards. It is about transitive dependency: object copy stores -> forwardee installation (markword store, release) -> forwardee discovery (markword load, acquire) --> object copy access. Remember this: https://github.com/openjdk/jdk/pull/2498#discussion_r574498830 Sorry. I commented on wrong place. I actually meant line #78 in try_update_forwardee(). ------------- PR: https://git.openjdk.java.net/jdk/pull/2496 From zgu at openjdk.java.net Thu Feb 11 16:21:38 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 11 Feb 2021 16:21:38 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v2] In-Reply-To: References: Message-ID: On Thu, 11 Feb 2021 14:07:58 GMT, Aleksey Shipilev wrote: >> Shenandoah carries forwardee information in object's mark word. Installing the new mark word is effectively "releasing" the object copy, and reading from the new mark word is "acquiring" that object copy. >> >> For the forwardee update side, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This seems to be excessive for Shenandoah forwardee updates, and "release" is enough. >> >> For the forwardee load side, we need to guarantee "acquire". We do not do it now, reading the markword without memory semantics. It does not seem to pose a practical problem today, because GC does not access the object contents in the new copy, and mutators get this from the JRT-called stub that separates the fwdptr access and object contents access by a lot. It still should be cleaner to "acquire" the mark on load to avoid surprises. >> >> Additional testing: >> - [x] Linux x86_64 `hotspot_gc_shenandoah` >> - [x] Linux AArch64 `hotspot_gc_shenandoah` >> - [x] Linux AArch64 `tier1` with Shenandoah > > Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: > > Make sure to access fwdptr with acquire semantics in assembler code Good to me. ------------- Marked as reviewed by zgu (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2496 From zgu at openjdk.java.net Thu Feb 11 16:21:40 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 11 Feb 2021 16:21:40 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v2] In-Reply-To: <6xIXW7WXJtqZVPASy4StAzwMhh6AHgYibgX6NRHoOF8=.85ffde9d-662c-4f3a-9410-de5ca9def6a7@github.com> References: <-mMs6CWp1r2GKMwtamARlpAfWQnUI-I3sSCfpmaRfPI=.9aa2cb72-1370-47ee-8de0-ce4b8a946661@github.com> <6xIXW7WXJtqZVPASy4StAzwMhh6AHgYibgX6NRHoOF8=.85ffde9d-662c-4f3a-9410-de5ca9def6a7@github.com> Message-ID: On Thu, 11 Feb 2021 16:06:37 GMT, Aleksey Shipilev wrote: >> src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp line 89: >> >>> 87: // (would be paired with acquire in forwardee accessors). Acquire on failed update >>> 88: // would get the updated object after the forwardee load. >>> 89: markWord prev_mark = obj->cas_set_mark(new_mark, old_mark, memory_order_acq_rel); >> >> Same here, CAS guarantees you to see latest mark word. memory_order_release should be sufficient here, paired with memory_order_acquire in resolve_forward barrier to ensure safe publishing the new object. > > Again, not really about the mark word. The transitive load of the object from that fwdptr is what we are after. I kind of seeing what you meant, if there is a load after, we do need acquire. So good to me. ------------- PR: https://git.openjdk.java.net/jdk/pull/2496 From shade at openjdk.java.net Thu Feb 11 16:21:41 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Thu, 11 Feb 2021 16:21:41 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v2] In-Reply-To: References: <-mMs6CWp1r2GKMwtamARlpAfWQnUI-I3sSCfpmaRfPI=.9aa2cb72-1370-47ee-8de0-ce4b8a946661@github.com> <6xIXW7WXJtqZVPASy4StAzwMhh6AHgYibgX6NRHoOF8=.85ffde9d-662c-4f3a-9410-de5ca9def6a7@github.com> Message-ID: On Thu, 11 Feb 2021 16:14:00 GMT, Zhengyu Gu wrote: >> It is not about the mark word itself, we access the forwardee afterwards. It is about transitive dependency: object copy stores -> forwardee installation (markword store, release) -> forwardee discovery (markword load, acquire) --> object copy access. Remember this: https://github.com/openjdk/jdk/pull/2498#discussion_r574498830 > > Sorry. I commented on wrong place. I actually meant line #78 in try_update_forwardee(). You have to do acquire there as well, because you can exit from the next block, the one with `old_mark.is_marked()`, never getting further. Then the whole thing unfolds: for transitive visibility of the object contents, you have to load the mark word with acquire before accessing forwardee contents. ------------- PR: https://git.openjdk.java.net/jdk/pull/2496 From zgu at openjdk.java.net Thu Feb 11 16:30:40 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 11 Feb 2021 16:30:40 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v2] In-Reply-To: References: <-mMs6CWp1r2GKMwtamARlpAfWQnUI-I3sSCfpmaRfPI=.9aa2cb72-1370-47ee-8de0-ce4b8a946661@github.com> <6xIXW7WXJtqZVPASy4StAzwMhh6AHgYibgX6NRHoOF8=.85ffde9d-662c-4f3a-9410-de5ca9def6a7@github.com> Message-ID: On Thu, 11 Feb 2021 16:17:18 GMT, Aleksey Shipilev wrote: >> Sorry. I commented on wrong place. I actually meant line #78 in try_update_forwardee(). > > You have to do acquire there as well, because you can exit from the next block, the one with `old_mark.is_marked()`, never getting further. Then the whole thing unfolds: for transitive visibility of the object contents, you have to load the mark word with acquire before accessing forwardee contents. Yes. I wasn't thinking of the use of oop content after. ------------- PR: https://git.openjdk.java.net/jdk/pull/2496 From zgu at openjdk.java.net Thu Feb 11 18:10:41 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 11 Feb 2021 18:10:41 GMT Subject: RFR: 8261493: Shenandoah: reconsider bitmap access memory ordering In-Reply-To: References: Message-ID: On Wed, 10 Feb 2021 09:32:18 GMT, Aleksey Shipilev wrote: > Shenandoah currently uses its own marking bitmap (added by JDK-8254315). It accesses the marking bitmap with "acquire" for reads and "conservative" for updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > I think both are actually excessive for marking bitmap accesses: we do not piggyback object updates on it, the atomics there are only to guarantee the access atomicity and CAS updates to bits. It seems "relaxed" is enough for marking bitmap accesses. > > Sample run with "compact" (frequent GC cycles) on SPECjvm2008:compiler.sunflow on AArch64: > > # Baseline > # Baseline > [146.028s][info][gc,stats] Concurrent Marking = 50.315 s (a = 258024 us) (n = 195) (lvls, us = 31836, 230469, 273438, 306641, 464255) > [141.458s][info][gc,stats] Concurrent Marking = 47.819 s (a = 242737 us) (n = 197) (lvls, us = 42773, 197266, 267578, 287109, 433948) > [144.108s][info][gc,stats] Concurrent Marking = 49.806 s (a = 250283 us) (n = 199) (lvls, us = 32227, 201172, 267578, 296875, 448549) > > # Patched > [144.238s][info][gc,stats] Concurrent Marking = 46.627 s (a = 220981 us) (n = 211) (lvls, us = 24414, 197266, 238281, 259766, 345112) > [138.406s][info][gc,stats] Concurrent Marking = 45.022 s (a = 227383 us) (n = 198) (lvls, us = 20508, 205078, 244141, 271484, 427658) > [140.950s][info][gc,stats] Concurrent Marking = 45.073 s (a = 222036 us) (n = 203) (lvls, us = 21680, 181641, 240234, 265625, 375750) > > Average time goes down, total marking time goes down. > > Additional testing: > - [x] Linux x86_64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `tier1` with Shenandoah Now, you need load barrier on read side (e.g. ShenandoahMarkBitMap::at()). Although, it is not a correctness issue, but seeing stale value means extra unnecessary work. ------------- Changes requested by zgu (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2497 From mdoerr at openjdk.java.net Thu Feb 11 18:11:43 2021 From: mdoerr at openjdk.java.net (Martin Doerr) Date: Thu, 11 Feb 2021 18:11:43 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v2] In-Reply-To: References: Message-ID: On Thu, 11 Feb 2021 16:18:30 GMT, Zhengyu Gu wrote: >> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: >> >> Make sure to access fwdptr with acquire semantics in assembler code > > Good to me. Do we really need to change shenandoahBarrierSetAssembler_aarch64.cpp? Address dependency ensures the ordering. Or is there anything missing? ------------- PR: https://git.openjdk.java.net/jdk/pull/2496 From shade at openjdk.java.net Fri Feb 12 07:29:43 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Fri, 12 Feb 2021 07:29:43 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v2] In-Reply-To: References: Message-ID: On Thu, 11 Feb 2021 18:08:49 GMT, Martin Doerr wrote: > Do we really need to change shenandoahBarrierSetAssembler_aarch64.cpp? > Address dependency ensures the ordering. Or is there anything missing? True, we could use address dependency for the ordering. This thing is more or less load-consume of the newly promoted object. But, I think reasoning with (stronger) acquires is more versatile for the code we do not control (C++ generally discourages using `memory_order_consume`; that is why our C++ code acquires mark word). While we control the assembler insns sequence, it seems good to match that. It does not seem worth over-relaxing the rare path: the CAS failure path under running GC. ------------- PR: https://git.openjdk.java.net/jdk/pull/2496 From shade at openjdk.java.net Fri Feb 12 07:34:38 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Fri, 12 Feb 2021 07:34:38 GMT Subject: RFR: 8261493: Shenandoah: reconsider bitmap access memory ordering In-Reply-To: References: Message-ID: On Thu, 11 Feb 2021 18:07:58 GMT, Zhengyu Gu wrote: > Now, you need load barrier on read side (e.g. ShenandoahMarkBitMap::at()). Although, it is not a correctness issue, but seeing stale value means extra unnecessary work. I don't see why. Adding load barriers would not affect promptness of seeing the memory updates to the bitmap itself. It might affect the promptness of seeing the object contents that we are reading after asking `is_marked` -- but that would be a race either way, because we do not use mark bitmap for memory ordering at all (i.e. there is no "release" on bitmap update). ------------- PR: https://git.openjdk.java.net/jdk/pull/2497 From mdoerr at openjdk.java.net Fri Feb 12 10:09:40 2021 From: mdoerr at openjdk.java.net (Martin Doerr) Date: Fri, 12 Feb 2021 10:09:40 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v2] In-Reply-To: References: Message-ID: On Fri, 12 Feb 2021 07:26:49 GMT, Aleksey Shipilev wrote: >> Do we really need to change shenandoahBarrierSetAssembler_aarch64.cpp? >> Address dependency ensures the ordering. Or is there anything missing? > >> Do we really need to change shenandoahBarrierSetAssembler_aarch64.cpp? >> Address dependency ensures the ordering. Or is there anything missing? > > True, we could use address dependency for the ordering. This thing is more or less load-consume of the newly promoted object. But, I think reasoning with (stronger) acquires is more versatile for the code we do not control (C++ generally discourages using `memory_order_consume`; that is why our C++ code acquires mark word). While we control the assembler insns sequence, it seems good to match that. It does not seem worth over-relaxing the rare path: the CAS failure path under running GC. Thanks for your reply. Yeah, I got your point regarding C++. But we use load-consume a lot in our self-made assembly code which should be ok. I guess the shenandoahBarrierSetAssembler_aarch64.cpp part you're changing is not very perfomance sensitive? ------------- PR: https://git.openjdk.java.net/jdk/pull/2496 From shade at openjdk.java.net Fri Feb 12 10:59:38 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Fri, 12 Feb 2021 10:59:38 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v2] In-Reply-To: References: Message-ID: On Fri, 12 Feb 2021 10:06:52 GMT, Martin Doerr wrote: > I guess the shenandoahBarrierSetAssembler_aarch64.cpp part you're changing is not very perfomance sensitive? Yes, it is not supposed to be: CAS failure path when GC is relocating the objects. ------------- PR: https://git.openjdk.java.net/jdk/pull/2496 From zgu at openjdk.java.net Fri Feb 12 13:18:41 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Fri, 12 Feb 2021 13:18:41 GMT Subject: RFR: 8261493: Shenandoah: reconsider bitmap access memory ordering In-Reply-To: References: Message-ID: On Fri, 12 Feb 2021 07:31:34 GMT, Aleksey Shipilev wrote: > > Now, you need load barrier on read side (e.g. ShenandoahMarkBitMap::at()). Although, it is not a correctness issue, but seeing stale value means extra unnecessary work. > > I don't see why. Adding load barriers would not affect promptness of seeing the memory updates to the bitmap itself. It might affect the promptness of seeing the object contents that we are reading after asking `is_marked` -- but that would be a race either way, because we do not use mark bitmap for memory ordering at all (i.e. there is no "release" on bitmap update). The `load barrier` I were thinking, is something that can prompt seeing the updating of bitmap. I did a little digging, it does not seem we have something like that. We rarely call is_marked() and variants during mark phase, except SATB filtering. I wonder if adding a leading fence in SH::requires_marking() can accomplish that. Although, it is still a race, but I think 1) small price to pay compares to the work of enqueuing a marked oop 2) might help the termination by not enqueuing marked oops. ------------- PR: https://git.openjdk.java.net/jdk/pull/2497 From shade at openjdk.java.net Fri Feb 12 15:53:38 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Fri, 12 Feb 2021 15:53:38 GMT Subject: RFR: 8261493: Shenandoah: reconsider bitmap access memory ordering In-Reply-To: References: Message-ID: On Fri, 12 Feb 2021 13:16:03 GMT, Zhengyu Gu wrote: > The `load barrier` I were thinking, is something that can prompt seeing the updating of bitmap. I did a little digging, it does not seem we have something like that. > > We rarely call is_marked() and variants during mark phase, except SATB filtering. I wonder if adding a leading fence in SH::requires_marking() can accomplish that. Although, it is still a race, but I think 1) small price to pay compares to the work of enqueuing a marked oop 2) might help the termination by not enqueuing marked oops. I suspect it would not help much, mostly because hardware does not hoard mutable data on the timescales that are important for performance (they do it on timescales that are important for correctness though: data coming out of order "just" 100ps later is still out of order). I believe we would be paying barrier costs for a very little gain in promptness. Our current handshaking-before-final-mark and SATB locking provides enough of memory bashing, I think. ------------- PR: https://git.openjdk.java.net/jdk/pull/2497 From github.com+71722661+earthling-amzn at openjdk.java.net Fri Feb 12 17:51:10 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Fri, 12 Feb 2021 17:51:10 GMT Subject: RFR: Bring genshen up to date with master Message-ID: Brought mainline (master) commits in a series of smaller merges to make the conflicts more manageable. The refactoring of concurrent mark and the control thread required some non-trivial conflict resolution. I've tested `satb` mode and `generational` mode on the dacapo suite. ------------- Commit messages: - Merge branch 'master' into github-genshen - Merge remote-tracking branch 'upstream/master' - 8260571: Add PrintMetaspaceStatistics to print metaspace statistics upon VM exit - 8260420: C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint - 8257086: Clarify differences between {Float, Double}.equals and == - 8260576: Typo in compiler/runtime/safepoints/TestRegisterRestoring.java - 8260864: ProblemList two security/krb5 tests on Linux - 8260860: ProblemList tools/jlink/plugins/CompressorPluginTest.java - 8213226: [TESTBUG] Reduce the usage of CDSTestUtils.executeAndLog() - 8260349: Cannot programmatically retrieve Metaspace max set via JAVA_TOOL_OPTIONS - ... and 769 more: https://git.openjdk.java.net/shenandoah/compare/28fc3420...74b47181 Changes: https://git.openjdk.java.net/shenandoah/pull/14/files Webrev: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=14&range=00 Stats: 156854 lines in 3616 files changed: 75939 ins; 48315 del; 32600 mod Patch: https://git.openjdk.java.net/shenandoah/pull/14.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/14/head:pull/14 PR: https://git.openjdk.java.net/shenandoah/pull/14 From rkennke at openjdk.java.net Fri Feb 12 18:23:00 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Fri, 12 Feb 2021 18:23:00 GMT Subject: RFR: Bring genshen up to date with master In-Reply-To: References: Message-ID: On Fri, 12 Feb 2021 17:44:24 GMT, earthling-amzn wrote: > Brought mainline (master) commits in a series of smaller merges to make the conflicts more manageable. The refactoring of concurrent mark and the control thread required some non-trivial conflict resolution. I've tested `satb` mode and `generational` mode on the dacapo suite. This is impossible to actually review, so I'm limited to testing it: it finds the following compilation failure. It's probably lacking in include there. Make sure to test with --disable-precompiled-headers. === Output from failing command(s) repeated here === * For target hotspot_variant-server_libjvm_objs_BUILD_LIBJVM_link: collect2: error: ld returned 1 exit status * All command lines available in /home/rkennke/src/openjdk/shenandoah/build/linux-x86_64-server-fastdebug/make-support/failure-logs. === End of repeated output === ------------- Changes requested by rkennke (Reviewer). PR: https://git.openjdk.java.net/shenandoah/pull/14 From zgu at openjdk.java.net Fri Feb 12 19:03:39 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Fri, 12 Feb 2021 19:03:39 GMT Subject: RFR: 8261493: Shenandoah: reconsider bitmap access memory ordering In-Reply-To: References: Message-ID: On Wed, 10 Feb 2021 09:32:18 GMT, Aleksey Shipilev wrote: > Shenandoah currently uses its own marking bitmap (added by JDK-8254315). It accesses the marking bitmap with "acquire" for reads and "conservative" for updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > I think both are actually excessive for marking bitmap accesses: we do not piggyback object updates on it, the atomics there are only to guarantee the access atomicity and CAS updates to bits. It seems "relaxed" is enough for marking bitmap accesses. > > Sample run with "compact" (frequent GC cycles) on SPECjvm2008:compiler.sunflow on AArch64: > > # Baseline > # Baseline > [146.028s][info][gc,stats] Concurrent Marking = 50.315 s (a = 258024 us) (n = 195) (lvls, us = 31836, 230469, 273438, 306641, 464255) > [141.458s][info][gc,stats] Concurrent Marking = 47.819 s (a = 242737 us) (n = 197) (lvls, us = 42773, 197266, 267578, 287109, 433948) > [144.108s][info][gc,stats] Concurrent Marking = 49.806 s (a = 250283 us) (n = 199) (lvls, us = 32227, 201172, 267578, 296875, 448549) > > # Patched > [144.238s][info][gc,stats] Concurrent Marking = 46.627 s (a = 220981 us) (n = 211) (lvls, us = 24414, 197266, 238281, 259766, 345112) > [138.406s][info][gc,stats] Concurrent Marking = 45.022 s (a = 227383 us) (n = 198) (lvls, us = 20508, 205078, 244141, 271484, 427658) > [140.950s][info][gc,stats] Concurrent Marking = 45.073 s (a = 222036 us) (n = 203) (lvls, us = 21680, 181641, 240234, 265625, 375750) > > Average time goes down, total marking time goes down. > > Additional testing: > - [x] Linux x86_64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `tier1` with Shenandoah Marked as reviewed by zgu (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/2497 From zgu at openjdk.java.net Fri Feb 12 19:03:40 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Fri, 12 Feb 2021 19:03:40 GMT Subject: RFR: 8261493: Shenandoah: reconsider bitmap access memory ordering In-Reply-To: References: Message-ID: <-k9uEgpi0Kil5Jze_XXSAHngq5nuRTatgFxReISTyIQ=.15e7429b-9a2c-4e73-b8c9-80741bcc781d@github.com> On Fri, 12 Feb 2021 15:50:31 GMT, Aleksey Shipilev wrote: > > The `load barrier` I were thinking, is something that can prompt seeing the updating of bitmap. I did a little digging, it does not seem we have something like that. > > We rarely call is_marked() and variants during mark phase, except SATB filtering. I wonder if adding a leading fence in SH::requires_marking() can accomplish that. Although, it is still a race, but I think 1) small price to pay compares to the work of enqueuing a marked oop 2) might help the termination by not enqueuing marked oops. > > I suspect it would not help much, mostly because hardware does not hoard mutable data on the timescales that are important for performance (they do it on timescales that are important for correctness though: data coming out of order "just" 100ps later is still out of order). I believe we would be paying barrier costs for a very little gain in promptness. Our current handshaking-before-final-mark and SATB locking provides enough of memory bashing, I think. Okay, then. ------------- PR: https://git.openjdk.java.net/jdk/pull/2497 From github.com+71722661+earthling-amzn at openjdk.java.net Fri Feb 12 19:05:05 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Fri, 12 Feb 2021 19:05:05 GMT Subject: RFR: Bring genshen up to date with master In-Reply-To: References: Message-ID: On Fri, 12 Feb 2021 18:20:29 GMT, Roman Kennke wrote: >> Brought mainline (master) commits in a series of smaller merges to make the conflicts more manageable. The refactoring of concurrent mark and the control thread required some non-trivial conflict resolution. I've tested `satb` mode and `generational` mode on the dacapo suite. > > This is impossible to actually review, so I'm limited to testing it: > it finds the following compilation failure. It's probably lacking in include there. Make sure to test with --disable-precompiled-headers. > > === Output from failing command(s) repeated here === > * For target hotspot_variant-server_libjvm_objs_BUILD_LIBJVM_link: > > > collect2: error: ld returned 1 exit status > > * All command lines available in /home/rkennke/src/openjdk/shenandoah/build/linux-x86_64-server-fastdebug/make-support/failure-logs. > === End of repeated output === Taking a look now. The bot suggests changing the title of this PR to indicate that it's a merge, otherwise it will be squashed. If this gets squashed, won't it make subsequent merges from master more difficult? Is it okay with you if I change the title of this PR so this goes into a `genshen` as a merge and not a giant squashed commit? ------------- PR: https://git.openjdk.java.net/shenandoah/pull/14 From github.com+71722661+earthling-amzn at openjdk.java.net Fri Feb 12 19:39:59 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Fri, 12 Feb 2021 19:39:59 GMT Subject: RFR: Merge shenandoah:genshen In-Reply-To: References: Message-ID: <3C4zsnuh2HDrC2Dm8oNVzOTzX-PDqHp0hf_WsgFWPXo=.7dec60e8-a210-4dc7-b170-75fc486439c7@github.com> On Fri, 12 Feb 2021 19:02:36 GMT, earthling-amzn wrote: >> This is impossible to actually review, so I'm limited to testing it: >> it finds the following compilation failure. It's probably lacking in include there. Make sure to test with --disable-precompiled-headers. >> >> === Output from failing command(s) repeated here === >> * For target hotspot_variant-server_libjvm_objs_BUILD_LIBJVM_link: >> >> >> collect2: error: ld returned 1 exit status >> >> * All command lines available in /home/rkennke/src/openjdk/shenandoah/build/linux-x86_64-server-fastdebug/make-support/failure-logs. >> === End of repeated output === > > Taking a look now. The bot suggests changing the title of this PR to indicate that it's a merge, otherwise it will be squashed. If this gets squashed, won't it make subsequent merges from master more difficult? Is it okay with you if I change the title of this PR so this goes into a `genshen` as a merge and not a giant squashed commit? Well, the bot doesn't like having this PR titled as a "merge". ------------- PR: https://git.openjdk.java.net/shenandoah/pull/14 From rkennke at openjdk.java.net Fri Feb 12 19:39:59 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Fri, 12 Feb 2021 19:39:59 GMT Subject: RFR: Merge shenandoah:genshen In-Reply-To: References: Message-ID: On Fri, 12 Feb 2021 19:02:36 GMT, earthling-amzn wrote: > Taking a look now. The bot suggests changing the title of this PR to indicate that it's a merge, otherwise it will be squashed. If this gets squashed, won't it make subsequent merges from master more difficult? Is it okay with you if I change the title of this PR so this goes into a `genshen` as a merge and not a giant squashed commit? Yes, please! ------------- PR: https://git.openjdk.java.net/shenandoah/pull/14 From github.com+71722661+earthling-amzn at openjdk.java.net Fri Feb 12 19:48:37 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Fri, 12 Feb 2021 19:48:37 GMT Subject: RFR: Merge shenandoah:genshen [v2] In-Reply-To: References: Message-ID: <7uYDwoAmRgYOEsf8NzLaGeuXK8OHxh5t7v6x-zQmP_s=.4121405e-387f-4954-9180-2f295e00c0d7@github.com> > Brought mainline (master) commits in a series of smaller merges to make the conflicts more manageable. The refactoring of concurrent mark and the control thread required some non-trivial conflict resolution. I've tested `satb` mode and `generational` mode on the dacapo suite. earthling-amzn has updated the pull request incrementally with one additional commit since the last revision: Correct include ------------- Changes: - all: https://git.openjdk.java.net/shenandoah/pull/14/files - new: https://git.openjdk.java.net/shenandoah/pull/14/files/74b47181..4809d472 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=14&range=01 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=14&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/shenandoah/pull/14.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/14/head:pull/14 PR: https://git.openjdk.java.net/shenandoah/pull/14 From github.com+71722661+earthling-amzn at openjdk.java.net Fri Feb 12 19:48:37 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Fri, 12 Feb 2021 19:48:37 GMT Subject: RFR: Merge shenandoah:genshen [v2] In-Reply-To: References: Message-ID: <3XL4h_34pqt7nfPbLhogGCfUEtA4-1qG7Yc-H_ZKLPQ=.be175b51-4ccd-4442-bb77-9cec8eee016b@github.com> On Fri, 12 Feb 2021 19:37:50 GMT, Roman Kennke wrote: >> Taking a look now. The bot suggests changing the title of this PR to indicate that it's a merge, otherwise it will be squashed. If this gets squashed, won't it make subsequent merges from master more difficult? Is it okay with you if I change the title of this PR so this goes into a `genshen` as a merge and not a giant squashed commit? > >> Taking a look now. The bot suggests changing the title of this PR to indicate that it's a merge, otherwise it will be squashed. If this gets squashed, won't it make subsequent merges from master more difficult? Is it okay with you if I change the title of this PR so this goes into a `genshen` as a merge and not a giant squashed commit? > > Yes, please! The bot says only 'known authors' can create merge requests. ------------- PR: https://git.openjdk.java.net/shenandoah/pull/14 From shade at openjdk.java.net Mon Feb 15 08:44:41 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 15 Feb 2021 08:44:41 GMT Subject: Integrated: 8261503: Shenandoah: reconsider verifier memory ordering In-Reply-To: References: Message-ID: On Wed, 10 Feb 2021 11:41:45 GMT, Aleksey Shipilev wrote: > Shenandoah verifier uses lots of atomic operations. Unfortunately, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > In most cases, that is excessive for verifier, and "relaxed" would do. > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah This pull request has now been integrated. Changeset: 7c931591 Author: Aleksey Shipilev URL: https://git.openjdk.java.net/jdk/commit/7c931591 Stats: 8 lines in 1 file changed: 0 ins; 0 del; 8 mod 8261503: Shenandoah: reconsider verifier memory ordering Reviewed-by: zgu ------------- PR: https://git.openjdk.java.net/jdk/pull/2505 From shade at openjdk.java.net Mon Feb 15 08:45:40 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 15 Feb 2021 08:45:40 GMT Subject: Integrated: 8261496: Shenandoah: reconsider pacing updates memory ordering In-Reply-To: <_BlnOgWoSTjE1myt9WfuiZpM9hiIP7sGp38IJmzuyYg=.8a578dda-dbf7-4780-bc74-cf3710609005@github.com> References: <_BlnOgWoSTjE1myt9WfuiZpM9hiIP7sGp38IJmzuyYg=.8a578dda-dbf7-4780-bc74-cf3710609005@github.com> Message-ID: On Wed, 10 Feb 2021 10:13:47 GMT, Aleksey Shipilev wrote: > Shenandoah pacer uses atomic operations to update budget, progress, allocations seen. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > This is excessive for pacing, as we do not piggyback memory effects on it. All pacing updates can use "relaxed". > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah This pull request has now been integrated. Changeset: 4642730b Author: Aleksey Shipilev URL: https://git.openjdk.java.net/jdk/commit/4642730b Stats: 7 lines in 3 files changed: 0 ins; 0 del; 7 mod 8261496: Shenandoah: reconsider pacing updates memory ordering Reviewed-by: zgu ------------- PR: https://git.openjdk.java.net/jdk/pull/2501 From shade at openjdk.java.net Mon Feb 15 08:46:45 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 15 Feb 2021 08:46:45 GMT Subject: RFR: 8261501: Shenandoah: reconsider heap statistics memory ordering In-Reply-To: <0O1tXXs991770rhrpYioXIWr6m-OhDFMZINDiQ_UXc4=.92460035-468e-4bf5-97cb-bff58d1a2ede@github.com> References: <0O1tXXs991770rhrpYioXIWr6m-OhDFMZINDiQ_UXc4=.92460035-468e-4bf5-97cb-bff58d1a2ede@github.com> Message-ID: On Wed, 10 Feb 2021 11:10:35 GMT, Aleksey Shipilev wrote: > ShenandoahHeap collects heap-wide statistics (used, committed, etc). It does so by atomically updating them with default CASes. Unfortunately, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > This is excessive for statistics gathering, and "relaxed" should be just as good. > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah Friendly reminder. ------------- PR: https://git.openjdk.java.net/jdk/pull/2504 From shade at openjdk.java.net Mon Feb 15 08:47:44 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 15 Feb 2021 08:47:44 GMT Subject: Integrated: 8261493: Shenandoah: reconsider bitmap access memory ordering In-Reply-To: References: Message-ID: On Wed, 10 Feb 2021 09:32:18 GMT, Aleksey Shipilev wrote: > Shenandoah currently uses its own marking bitmap (added by JDK-8254315). It accesses the marking bitmap with "acquire" for reads and "conservative" for updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > I think both are actually excessive for marking bitmap accesses: we do not piggyback object updates on it, the atomics there are only to guarantee the access atomicity and CAS updates to bits. It seems "relaxed" is enough for marking bitmap accesses. > > Sample run with "compact" (frequent GC cycles) on SPECjvm2008:compiler.sunflow on AArch64: > > # Baseline > # Baseline > [146.028s][info][gc,stats] Concurrent Marking = 50.315 s (a = 258024 us) (n = 195) (lvls, us = 31836, 230469, 273438, 306641, 464255) > [141.458s][info][gc,stats] Concurrent Marking = 47.819 s (a = 242737 us) (n = 197) (lvls, us = 42773, 197266, 267578, 287109, 433948) > [144.108s][info][gc,stats] Concurrent Marking = 49.806 s (a = 250283 us) (n = 199) (lvls, us = 32227, 201172, 267578, 296875, 448549) > > # Patched > [144.238s][info][gc,stats] Concurrent Marking = 46.627 s (a = 220981 us) (n = 211) (lvls, us = 24414, 197266, 238281, 259766, 345112) > [138.406s][info][gc,stats] Concurrent Marking = 45.022 s (a = 227383 us) (n = 198) (lvls, us = 20508, 205078, 244141, 271484, 427658) > [140.950s][info][gc,stats] Concurrent Marking = 45.073 s (a = 222036 us) (n = 203) (lvls, us = 21680, 181641, 240234, 265625, 375750) > > Average time goes down, total marking time goes down. > > Additional testing: > - [x] Linux x86_64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `tier1` with Shenandoah This pull request has now been integrated. Changeset: 745c0b91 Author: Aleksey Shipilev URL: https://git.openjdk.java.net/jdk/commit/745c0b91 Stats: 18 lines in 2 files changed: 0 ins; 14 del; 4 mod 8261493: Shenandoah: reconsider bitmap access memory ordering Reviewed-by: rkennke, zgu ------------- PR: https://git.openjdk.java.net/jdk/pull/2497 From shade at openjdk.java.net Mon Feb 15 08:47:42 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 15 Feb 2021 08:47:42 GMT Subject: Integrated: 8261504: Shenandoah: reconsider ShenandoahJavaThreadsIterator::claim memory ordering In-Reply-To: References: Message-ID: On Wed, 10 Feb 2021 12:00:38 GMT, Aleksey Shipilev wrote: > JDK-8256298 added the thread iterator for thread roots, and I don't think we need the Hotspot's default memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. The simple "relaxed" should do. > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah This pull request has now been integrated. Changeset: df0897ea Author: Aleksey Shipilev URL: https://git.openjdk.java.net/jdk/commit/df0897ea Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod 8261504: Shenandoah: reconsider ShenandoahJavaThreadsIterator::claim memory ordering Reviewed-by: zgu ------------- PR: https://git.openjdk.java.net/jdk/pull/2506 From shade at openjdk.java.net Mon Feb 15 08:47:44 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 15 Feb 2021 08:47:44 GMT Subject: Integrated: 8261500: Shenandoah: reconsider region live data memory ordering In-Reply-To: References: Message-ID: On Wed, 10 Feb 2021 10:40:26 GMT, Aleksey Shipilev wrote: > Current Shenandoah region live data tracking uses default CAS updates to achieve atomicity of updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > This seems to be excessive for live data tracking, and "relaxed" could be used instead. The only serious user of that data is collection set chooser, which runs at safepoint and so everything should be quiescent when that happens. > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah This pull request has now been integrated. Changeset: c6eedda8 Author: Aleksey Shipilev URL: https://git.openjdk.java.net/jdk/commit/c6eedda8 Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod 8261500: Shenandoah: reconsider region live data memory ordering Reviewed-by: zgu ------------- PR: https://git.openjdk.java.net/jdk/pull/2503 From mdoerr at openjdk.java.net Mon Feb 15 12:00:40 2021 From: mdoerr at openjdk.java.net (Martin Doerr) Date: Mon, 15 Feb 2021 12:00:40 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v2] In-Reply-To: References: Message-ID: On Fri, 12 Feb 2021 10:56:34 GMT, Aleksey Shipilev wrote: >> Thanks for your reply. Yeah, I got your point regarding C++. But we use load-consume a lot in our self-made assembly code which should be ok. >> I guess the shenandoahBarrierSetAssembler_aarch64.cpp part you're changing is not very perfomance sensitive? > >> I guess the shenandoahBarrierSetAssembler_aarch64.cpp part you're changing is not very perfomance sensitive? > > Yes, it is not supposed to be: CAS failure path when GC is relocating the objects. I'd prefer using load-consume with comment in assembly code and acquire in C++ code. That would be consistent with other code. But that's just my opinion. I'll leave the aarch64 maintainers free to decide. ------------- PR: https://git.openjdk.java.net/jdk/pull/2496 From shade at redhat.com Mon Feb 15 18:15:33 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 15 Feb 2021 19:15:33 +0100 Subject: [11u] RFR (XS) 8261251: Shenandoah: Use object size for full GC humongous compaction Message-ID: <62f8d040-f3b6-bf3b-2a43-564bb809cb77@redhat.com> Original bug: https://bugs.openjdk.java.net/browse/JDK-8261251 https://git.openjdk.java.net/jdk/commit/deb0544f The patch does not apply cleanly to 11u, because of the shenandoahMarkCompact -> shenandoahFullGC rename. I applied the same patch to the new file without problems. 11u variant: diff -r a4e1ec47729f src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Thu Jan 28 09:50:21 2021 +0000 +++ b/src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Mon Feb 15 10:50:03 2021 +0100 @@ -905,7 +905,7 @@ Copy::aligned_conjoint_words(heap->get_region(old_start)->bottom(), heap->get_region(new_start)->bottom(), - ShenandoahHeapRegion::region_size_words()*num_regions); + words_size); oop new_obj = oop(heap->get_region(new_start)->bottom()); new_obj->init_mark_raw(); Testing: hotspot_gc_shenandoah; tier{1,2} with Shenandoah -- Thanks, -Aleksey From shade at redhat.com Mon Feb 15 18:59:07 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 15 Feb 2021 19:59:07 +0100 Subject: [11u] RFR (S) 8260497: Shenandoah: Improve SATB flushing Message-ID: <0bcbdd56-00cd-e107-58ae-d0268ceba529@redhat.com> Original RFE: https://bugs.openjdk.java.net/browse/JDK-8260497 https://git.openjdk.java.net/jdk/commit/316d52c1 There are distinct changes from master version. First, SATBMarkQueue and PtrQueue are still closely coupled together. Because of this, we cannot drop "virtual" from should_enqueue_buffer, and therefore cannot remove ShenandoahSATBMarkQueue::should_enqueue_buffer completely. Second, there is no SATBMarkQueueSet::flush_queue(SATBMarkQueue&), and so we have to go to SATBMarkQueue::flush directly. This also simplifies ShenandoahFlushSATBHandshakeClosure. I have observed reduced final-mark times with this patch. 11u variant: https://cr.openjdk.java.net/~shade/8260497/webrev.11u.01/ Testing: hotspot_gc_shenandoah; tier{1,2} with Shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Mon Feb 15 20:03:08 2021 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 15 Feb 2021 21:03:08 +0100 Subject: [11u] RFR (XS) 8261251: Shenandoah: Use object size for full GC humongous compaction In-Reply-To: <62f8d040-f3b6-bf3b-2a43-564bb809cb77@redhat.com> References: <62f8d040-f3b6-bf3b-2a43-564bb809cb77@redhat.com> Message-ID: <48e62f36-1b02-2b29-99de-36543624579d@redhat.com> Good! Thanks, Roman > Original bug: > ? https://bugs.openjdk.java.net/browse/JDK-8261251 > ? https://git.openjdk.java.net/jdk/commit/deb0544f > > The patch does not apply cleanly to 11u, because of the > shenandoahMarkCompact -> shenandoahFullGC rename. I applied the same > patch to the new file without problems. > > 11u variant: > > diff -r a4e1ec47729f > src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Thu Jan > 28 09:50:21 2021 +0000 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Mon Feb > 15 10:50:03 2021 +0100 > @@ -905,7 +905,7 @@ > > ?????? Copy::aligned_conjoint_words(heap->get_region(old_start)->bottom(), > ??????????????????????????????????? heap->get_region(new_start)->bottom(), > - > ShenandoahHeapRegion::region_size_words()*num_regions); > +?????????????????????????????????? words_size); > > ?????? oop new_obj = oop(heap->get_region(new_start)->bottom()); > ?????? new_obj->init_mark_raw(); > > Testing: hotspot_gc_shenandoah; tier{1,2} with Shenandoah > From rkennke at redhat.com Mon Feb 15 20:04:39 2021 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 15 Feb 2021 21:04:39 +0100 Subject: [11u] RFR (S) 8260497: Shenandoah: Improve SATB flushing In-Reply-To: <0bcbdd56-00cd-e107-58ae-d0268ceba529@redhat.com> References: <0bcbdd56-00cd-e107-58ae-d0268ceba529@redhat.com> Message-ID: <9d0ddff1-b4c5-4948-e864-ada6e23cd3c8@redhat.com> Looks good, thank you! Roman > Original RFE: > ? https://bugs.openjdk.java.net/browse/JDK-8260497 > ? https://git.openjdk.java.net/jdk/commit/316d52c1 > > There are distinct changes from master version. > > First, SATBMarkQueue and PtrQueue are still closely coupled together. > Because of this, we cannot drop "virtual" from should_enqueue_buffer, > and therefore cannot remove > ShenandoahSATBMarkQueue::should_enqueue_buffer completely. > > Second, there is no SATBMarkQueueSet::flush_queue(SATBMarkQueue&), and > so we have to go to SATBMarkQueue::flush directly. This also simplifies > ShenandoahFlushSATBHandshakeClosure. > > I have observed reduced final-mark times with this patch. > > 11u variant: > ? https://cr.openjdk.java.net/~shade/8260497/webrev.11u.01/ > > Testing: hotspot_gc_shenandoah; tier{1,2} with Shenandoah > > From github.com+71722661+earthling-amzn at openjdk.java.net Mon Feb 15 20:19:57 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Mon, 15 Feb 2021 20:19:57 GMT Subject: Integrated: Merge shenandoah:genshen In-Reply-To: References: Message-ID: On Fri, 12 Feb 2021 17:44:24 GMT, earthling-amzn wrote: > Brought mainline (master) commits in a series of smaller merges to make the conflicts more manageable. The refactoring of concurrent mark and the control thread required some non-trivial conflict resolution. I've tested `satb` mode and `generational` mode on the dacapo suite. This pull request has now been integrated. Changeset: 4809d472 Author: William Kemper URL: https://git.openjdk.java.net/shenandoah/commit/4809d472 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Correct include ------------- PR: https://git.openjdk.java.net/shenandoah/pull/14 From rkennke at openjdk.java.net Mon Feb 15 20:24:58 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Mon, 15 Feb 2021 20:24:58 GMT Subject: RFR: Merge shenandoah:genshen [v3] In-Reply-To: <3XL4h_34pqt7nfPbLhogGCfUEtA4-1qG7Yc-H_ZKLPQ=.be175b51-4ccd-4442-bb77-9cec8eee016b@github.com> References: <3XL4h_34pqt7nfPbLhogGCfUEtA4-1qG7Yc-H_ZKLPQ=.be175b51-4ccd-4442-bb77-9cec8eee016b@github.com> Message-ID: On Fri, 12 Feb 2021 19:42:05 GMT, earthling-amzn wrote: >>> Taking a look now. The bot suggests changing the title of this PR to indicate that it's a merge, otherwise it will be squashed. If this gets squashed, won't it make subsequent merges from master more difficult? Is it okay with you if I change the title of this PR so this goes into a `genshen` as a merge and not a giant squashed commit? >> >> Yes, please! > > The bot says only 'known authors' can create merge requests. I've integrated this merge directly. Seemed the easiest approach :-) ------------- PR: https://git.openjdk.java.net/shenandoah/pull/14 From rkennke at openjdk.java.net Mon Feb 15 21:12:53 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Mon, 15 Feb 2021 21:12:53 GMT Subject: RFR: 8261413: Shenandoah: Disable class-unloading in I-U mode [v3] In-Reply-To: References: Message-ID: <5rxb-j7jLWGsanoowSjvLIzFwCtlH_FgBHo-GM7fkyQ=.4cf0989c-f784-48ad-b60c-e4613f35270d@github.com> > JDK-8261341 describes a serious problem with I-U mode and class-unloading. Let's disable class-unloading in I-U for now as a workaround. > > Testing: > - [ ] hotspot_gc_shenandoah > - [ ] tier1 (+UseShenandoahGC +IU) > - [x] runtime/CreateMirror/ArraysNewInstanceBug.java (+UseShenandoahGC +IU +aggressive) many times in a row w/o failure Roman Kennke has updated the pull request incrementally with one additional commit since the last revision: Don't disable all class-unloading with I-U, disabling concurrent class-unloading is sufficient ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2477/files - new: https://git.openjdk.java.net/jdk/pull/2477/files/e3c1b459..6e99cc98 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2477&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2477&range=01-02 Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod Patch: https://git.openjdk.java.net/jdk/pull/2477.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2477/head:pull/2477 PR: https://git.openjdk.java.net/jdk/pull/2477 From shade at openjdk.java.net Tue Feb 16 07:26:40 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 16 Feb 2021 07:26:40 GMT Subject: RFR: 8261413: Shenandoah: Disable class-unloading in I-U mode [v3] In-Reply-To: <5rxb-j7jLWGsanoowSjvLIzFwCtlH_FgBHo-GM7fkyQ=.4cf0989c-f784-48ad-b60c-e4613f35270d@github.com> References: <5rxb-j7jLWGsanoowSjvLIzFwCtlH_FgBHo-GM7fkyQ=.4cf0989c-f784-48ad-b60c-e4613f35270d@github.com> Message-ID: On Mon, 15 Feb 2021 21:12:53 GMT, Roman Kennke wrote: >> JDK-8261341 describes a serious problem with I-U mode and class-unloading. Let's disable class-unloading in I-U for now as a workaround. >> >> Testing: >> - [x] hotspot_gc_shenandoah >> - [x] tier1 (+UseShenandoahGC +IU) >> - [x] runtime/CreateMirror/ArraysNewInstanceBug.java (+UseShenandoahGC +IU +aggressive) many times in a row w/o failure > > Roman Kennke has updated the pull request incrementally with one additional commit since the last revision: > > Don't disable all class-unloading with I-U, disabling concurrent class-unloading is sufficient Marked as reviewed by shade (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/2477 From shade at redhat.com Tue Feb 16 07:36:07 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 16 Feb 2021 08:36:07 +0100 Subject: [11u] RFR (S) 8260497: Shenandoah: Improve SATB flushing In-Reply-To: <9d0ddff1-b4c5-4948-e864-ada6e23cd3c8@redhat.com> References: <0bcbdd56-00cd-e107-58ae-d0268ceba529@redhat.com> <9d0ddff1-b4c5-4948-e864-ada6e23cd3c8@redhat.com> Message-ID: Thanks, tagged. On 2/15/21 9:04 PM, Roman Kennke wrote: > Looks good, thank you! > > Roman > > >> Original RFE: >> ? https://bugs.openjdk.java.net/browse/JDK-8260497 >> ? https://git.openjdk.java.net/jdk/commit/316d52c1 >> >> There are distinct changes from master version. >> >> First, SATBMarkQueue and PtrQueue are still closely coupled together. >> Because of this, we cannot drop "virtual" from should_enqueue_buffer, >> and therefore cannot remove >> ShenandoahSATBMarkQueue::should_enqueue_buffer completely. >> >> Second, there is no SATBMarkQueueSet::flush_queue(SATBMarkQueue&), and >> so we have to go to SATBMarkQueue::flush directly. This also simplifies >> ShenandoahFlushSATBHandshakeClosure. >> >> I have observed reduced final-mark times with this patch. >> >> 11u variant: >> ? https://cr.openjdk.java.net/~shade/8260497/webrev.11u.01/ >> >> Testing: hotspot_gc_shenandoah; tier{1,2} with Shenandoah >> >> > -- Thanks, -Aleksey From shade at redhat.com Tue Feb 16 07:36:17 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 16 Feb 2021 08:36:17 +0100 Subject: [11u] RFR (XS) 8261251: Shenandoah: Use object size for full GC humongous compaction In-Reply-To: <48e62f36-1b02-2b29-99de-36543624579d@redhat.com> References: <62f8d040-f3b6-bf3b-2a43-564bb809cb77@redhat.com> <48e62f36-1b02-2b29-99de-36543624579d@redhat.com> Message-ID: <2635b2ec-0dd5-7ea6-82d0-55b06edcdcd8@redhat.com> Thanks, tagged. On 2/15/21 9:03 PM, Roman Kennke wrote: > Good! Thanks, > Roman > >> Original bug: >> ? https://bugs.openjdk.java.net/browse/JDK-8261251 >> ? https://git.openjdk.java.net/jdk/commit/deb0544f >> >> The patch does not apply cleanly to 11u, because of the >> shenandoahMarkCompact -> shenandoahFullGC rename. I applied the same >> patch to the new file without problems. >> >> 11u variant: >> >> diff -r a4e1ec47729f >> src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp >> --- a/src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Thu Jan >> 28 09:50:21 2021 +0000 >> +++ b/src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Mon Feb >> 15 10:50:03 2021 +0100 >> @@ -905,7 +905,7 @@ >> >> ?????? Copy::aligned_conjoint_words(heap->get_region(old_start)->bottom(), >> ??????????????????????????????????? heap->get_region(new_start)->bottom(), >> - >> ShenandoahHeapRegion::region_size_words()*num_regions); >> +?????????????????????????????????? words_size); >> >> ?????? oop new_obj = oop(heap->get_region(new_start)->bottom()); >> ?????? new_obj->init_mark_raw(); >> >> Testing: hotspot_gc_shenandoah; tier{1,2} with Shenandoah >> > -- Thanks, -Aleksey From rkennke at openjdk.java.net Tue Feb 16 08:20:39 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Tue, 16 Feb 2021 08:20:39 GMT Subject: Integrated: 8261413: Shenandoah: Disable class-unloading in I-U mode In-Reply-To: References: Message-ID: On Tue, 9 Feb 2021 11:58:58 GMT, Roman Kennke wrote: > JDK-8261341 describes a serious problem with I-U mode and class-unloading. Let's disable class-unloading in I-U for now as a workaround. > > Testing: > - [x] hotspot_gc_shenandoah > - [x] tier1 (+UseShenandoahGC +IU) > - [x] runtime/CreateMirror/ArraysNewInstanceBug.java (+UseShenandoahGC +IU +aggressive) many times in a row w/o failure This pull request has now been integrated. Changeset: e2d52ae2 Author: Roman Kennke URL: https://git.openjdk.java.net/jdk/commit/e2d52ae2 Stats: 5 lines in 1 file changed: 5 ins; 0 del; 0 mod 8261413: Shenandoah: Disable class-unloading in I-U mode Reviewed-by: shade, zgu ------------- PR: https://git.openjdk.java.net/jdk/pull/2477 From rkennke at openjdk.java.net Tue Feb 16 10:14:40 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Tue, 16 Feb 2021 10:14:40 GMT Subject: RFR: 8261501: Shenandoah: reconsider heap statistics memory ordering In-Reply-To: <0O1tXXs991770rhrpYioXIWr6m-OhDFMZINDiQ_UXc4=.92460035-468e-4bf5-97cb-bff58d1a2ede@github.com> References: <0O1tXXs991770rhrpYioXIWr6m-OhDFMZINDiQ_UXc4=.92460035-468e-4bf5-97cb-bff58d1a2ede@github.com> Message-ID: <3w0bggGwSikPsnaGTFPIMjsNNLUNu1vxVCLraAf6nhA=.8f35a639-9325-4c18-9b09-7b62e67b8dd8@github.com> On Wed, 10 Feb 2021 11:10:35 GMT, Aleksey Shipilev wrote: > ShenandoahHeap collects heap-wide statistics (used, committed, etc). It does so by atomically updating them with default CASes. Unfortunately, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > This is excessive for statistics gathering, and "relaxed" should be just as good. > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah Looks good to me! Thanks! ------------- Marked as reviewed by rkennke (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2504 From rkennke at openjdk.java.net Tue Feb 16 10:21:16 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Tue, 16 Feb 2021 10:21:16 GMT Subject: RFR: Mark concurrent roots as global when requested to do so, instead of young Message-ID: This is probably a merge error from the last big merge that brought in concurrent roots marking. Testing: - [x] hotspot_gc_shenandoah - [ ] tier1 (+UseShenandoahGC) ------------- Commit messages: - Mark concurrent roots as global when requested to do so, instead of young Changes: https://git.openjdk.java.net/shenandoah/pull/15/files Webrev: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=15&range=00 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/shenandoah/pull/15.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/15/head:pull/15 PR: https://git.openjdk.java.net/shenandoah/pull/15 From shade at openjdk.java.net Tue Feb 16 10:26:06 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 16 Feb 2021 10:26:06 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v3] In-Reply-To: References: Message-ID: > Shenandoah carries forwardee information in object's mark word. Installing the new mark word is effectively "releasing" the object copy, and reading from the new mark word is "acquiring" that object copy. > > For the forwardee update side, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This seems to be excessive for Shenandoah forwardee updates, and "release" is enough. > > For the forwardee load side, we need to guarantee "acquire". We do not do it now, reading the markword without memory semantics. It does not seem to pose a practical problem today, because GC does not access the object contents in the new copy, and mutators get this from the JRT-called stub that separates the fwdptr access and object contents access by a lot. It still should be cleaner to "acquire" the mark on load to avoid surprises. > > Additional testing: > - [x] Linux x86_64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `tier1` with Shenandoah Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision: - A few minor touchups - Add a blurb to x86 code as well - Use implicit "consume" in AArch64, add more notes. - Merge branch 'master' into JDK-8261492-shenandoah-forwardee-memord - Make sure to access fwdptr with acquire semantics in assembler code - 8261492: Shenandoah: reconsider forwardee accesses memory ordering ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2496/files - new: https://git.openjdk.java.net/jdk/pull/2496/files/49626781..0c159cc3 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2496&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2496&range=01-02 Stats: 11804 lines in 386 files changed: 5929 ins; 3700 del; 2175 mod Patch: https://git.openjdk.java.net/jdk/pull/2496.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2496/head:pull/2496 PR: https://git.openjdk.java.net/jdk/pull/2496 From shade at openjdk.java.net Tue Feb 16 10:26:06 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 16 Feb 2021 10:26:06 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v2] In-Reply-To: References: Message-ID: On Mon, 15 Feb 2021 11:58:18 GMT, Martin Doerr wrote: >>> I guess the shenandoahBarrierSetAssembler_aarch64.cpp part you're changing is not very perfomance sensitive? >> >> Yes, it is not supposed to be: CAS failure path when GC is relocating the objects. > > I'd prefer using load-consume with comment in assembly code and acquire in C++ code. That would be consistent with other code. But that's just my opinion. I'll leave the aarch64 maintainers free to decide. All right, I added more discussion right in the code comments that hopefully makes the whole thing clearer. Re-running tests now with dirty AArch64 relaxed CAS patch, but we would need to get Andrew's fix for https://bugs.openjdk.java.net/browse/JDK-8261579 to properly estimate the performance impact. ------------- PR: https://git.openjdk.java.net/jdk/pull/2496 From shade at openjdk.java.net Tue Feb 16 10:27:03 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 16 Feb 2021 10:27:03 GMT Subject: RFR: Mark concurrent roots as global when requested to do so, instead of young In-Reply-To: References: Message-ID: On Tue, 16 Feb 2021 10:17:01 GMT, Roman Kennke wrote: > This is probably a merge error from the last big merge that brought in concurrent roots marking. > > Testing: > - [x] hotspot_gc_shenandoah > - [ ] tier1 (+UseShenandoahGC) This makes sense. Looks good and trivial. ------------- Marked as reviewed by shade (Reviewer). PR: https://git.openjdk.java.net/shenandoah/pull/15 From shade at openjdk.java.net Tue Feb 16 11:35:51 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 16 Feb 2021 11:35:51 GMT Subject: Integrated: 8261501: Shenandoah: reconsider heap statistics memory ordering In-Reply-To: <0O1tXXs991770rhrpYioXIWr6m-OhDFMZINDiQ_UXc4=.92460035-468e-4bf5-97cb-bff58d1a2ede@github.com> References: <0O1tXXs991770rhrpYioXIWr6m-OhDFMZINDiQ_UXc4=.92460035-468e-4bf5-97cb-bff58d1a2ede@github.com> Message-ID: On Wed, 10 Feb 2021 11:10:35 GMT, Aleksey Shipilev wrote: > ShenandoahHeap collects heap-wide statistics (used, committed, etc). It does so by atomically updating them with default CASes. Unfortunately, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > This is excessive for statistics gathering, and "relaxed" should be just as good. > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah This pull request has now been integrated. Changeset: 3f8819c6 Author: Aleksey Shipilev URL: https://git.openjdk.java.net/jdk/commit/3f8819c6 Stats: 9 lines in 1 file changed: 0 ins; 1 del; 8 mod 8261501: Shenandoah: reconsider heap statistics memory ordering Reviewed-by: rkennke ------------- PR: https://git.openjdk.java.net/jdk/pull/2504 From rkennke at openjdk.java.net Tue Feb 16 12:16:02 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Tue, 16 Feb 2021 12:16:02 GMT Subject: Integrated: Mark concurrent roots as global when requested to do so, instead of young In-Reply-To: References: Message-ID: <3Ise5OHfo4cte5iw7TiDTXcT-ewZElG4sQthBfCm22M=.2e216bf7-bad0-4360-99ed-388fd24c3e2d@github.com> On Tue, 16 Feb 2021 10:17:01 GMT, Roman Kennke wrote: > This is probably a merge error from the last big merge that brought in concurrent roots marking. > > Testing: > - [x] hotspot_gc_shenandoah > - [x] tier1 (+UseShenandoahGC) This pull request has now been integrated. Changeset: e60b8a46 Author: Roman Kennke URL: https://git.openjdk.java.net/shenandoah/commit/e60b8a46 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Mark concurrent roots as global when requested to do so, instead of young Reviewed-by: shade ------------- PR: https://git.openjdk.java.net/shenandoah/pull/15 From shade at openjdk.java.net Tue Feb 16 13:21:00 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 16 Feb 2021 13:21:00 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering [v4] In-Reply-To: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> Message-ID: > Shenandoah update heap references code uses default Atomic::cmpxchg to avoid races with mutator updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > This seems to be excessive for Shenandoah update references code, and "release" is enough. We do not seem to piggyback on update-references memory effects anywhere (in fact, if not for mutator, we would not even need a CAS). But, there is an interplay with concurrent evacuation and updates from self-healing. > > Average time goes down, the number of GC cycles go up, since the cycles are shorter. > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 10 additional commits since the last revision: - Comment touchup - Specialize out witness-checking methods, drop acquire again - Even more explanation - Move the comment - Also handle clearing the oops - Minor touchups to the comment - Merge branch 'master' into JDK-8261495-shenandoah-updaterefs-memord - Use release only - Do acq_rel instead - 8261495: Shenandoah: reconsider update references memory ordering ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2498/files - new: https://git.openjdk.java.net/jdk/pull/2498/files/36bee3a9..0d299968 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2498&range=03 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2498&range=02-03 Stats: 12253 lines in 405 files changed: 6246 ins; 3773 del; 2234 mod Patch: https://git.openjdk.java.net/jdk/pull/2498.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2498/head:pull/2498 PR: https://git.openjdk.java.net/jdk/pull/2498 From rkennke at redhat.com Tue Feb 16 15:40:45 2021 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 16 Feb 2021 16:40:45 +0100 Subject: FYI: Merged genshen into master in openjdk/shenandoah repository Message-ID: <51bf4c9d-6524-8952-3df1-76f856ab2de8@redhat.com> We decided to simplify things a little bit in Shenandoah repository: The work in genshen branch is now merged into master, and brought up-to-date with recent JDK17 development. The genshen branch should not be used anymore, and any new PRs for the generational Shenandoah work should not be made directly against master in openjdk/shenandoah. Roman From shade at redhat.com Tue Feb 16 15:49:57 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 16 Feb 2021 16:49:57 +0100 Subject: FYI: Merged genshen into master in openjdk/shenandoah repository In-Reply-To: <51bf4c9d-6524-8952-3df1-76f856ab2de8@redhat.com> References: <51bf4c9d-6524-8952-3df1-76f856ab2de8@redhat.com> Message-ID: <18559f32-011a-30ab-86cd-4a3b5e9eadaa@redhat.com> On 2/16/21 4:40 PM, Roman Kennke wrote: > We decided to simplify things a little bit in Shenandoah repository: The > work in genshen branch is now merged into master, and brought up-to-date > with recent JDK17 development. The genshen branch should not be used > anymore, and any new PRs for the generational Shenandoah work should not > be made directly against master in openjdk/shenandoah. These builds are normally built from openjdk/shenandoah: https://builds.shipilev.net/openjdk-shenandoah-jdk/ ...and thus would contain the recent merge "soon". -- Thanks, -Aleksey From duke at openjdk.java.net Tue Feb 16 15:51:27 2021 From: duke at openjdk.java.net (duke) Date: Tue, 16 Feb 2021 15:51:27 GMT Subject: git: openjdk/shenandoah: master: 226 new changesets Message-ID: Changeset: 288a4fed Author: Thomas Schatzl Date: 2021-02-02 11:01:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/288a4fed 8260643: Remove parallel version handling in CardTableRS::younger_refs_in_space_iterate() Reviewed-by: ayang, sjohanss ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/shared/cardGeneration.cpp ! src/hotspot/share/gc/shared/cardGeneration.hpp ! src/hotspot/share/gc/shared/cardTableRS.cpp ! src/hotspot/share/gc/shared/cardTableRS.hpp ! src/hotspot/share/gc/shared/space.cpp ! src/hotspot/share/gc/shared/space.hpp Changeset: 189b65b2 Author: Harold Seigel Date: 2021-02-02 13:10:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/189b65b2 8260264: Move common os_ inline methods to a common posix source file Reviewed-by: iklam, dholmes, coleenp, stuefe ! src/hotspot/os/aix/os_aix.inline.hpp ! src/hotspot/os/bsd/os_bsd.inline.hpp ! src/hotspot/os/linux/os_linux.inline.hpp ! src/hotspot/os/posix/os_posix.inline.hpp Changeset: a421bfad Author: Coleen Phillimore Date: 2021-02-02 13:29:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a421bfad 8259839: SystemDictionary exports too much implementation Reviewed-by: iklam, dholmes ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp Changeset: defcb042 Author: Daniel D. Daugherty Date: 2021-02-02 15:36:31 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/defcb042 8260867: ProblemList java/awt/FullScreen/TranslucentWindow/TranslucentWindow.java on linux Reviewed-by: psadhukhan, jdv, pbansal ! test/jdk/ProblemList.txt Changeset: 0093183b Author: Quaffel Committer: Martin Doerr Date: 2021-02-02 15:53:56 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0093183b 8260368: [PPC64] GC interface needs enhancement to support GCs with load barriers Reviewed-by: mdoerr, rkennke, goetz ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/g1/g1BarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/g1/g1BarrierSetAssembler_ppc.hpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.hpp ! src/hotspot/cpu/ppc/gc/shared/cardTableBarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/cardTableBarrierSetAssembler_ppc.hpp ! src/hotspot/cpu/ppc/gc/shared/modRefBarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/modRefBarrierSetAssembler_ppc.hpp ! src/hotspot/cpu/ppc/interp_masm_ppc.hpp ! src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.inline.hpp ! src/hotspot/cpu/ppc/methodHandles_ppc.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp Changeset: d7b1fc59 Author: Thomas Stuefe Date: 2021-02-02 17:56:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d7b1fc59 8260707: java/lang/instrument/PremainClass/InheritAgent0100.java times out Co-authored-by: Arno Zeller Reviewed-by: dholmes, sspitsyn, dcubed ! test/jdk/java/lang/instrument/NegativeAgentRunner.java ! test/jdk/java/lang/instrument/PremainClass/NoPremainAgent.java ! test/jdk/java/lang/instrument/PremainClass/ZeroArgPremainAgent.java Changeset: f546fd00 Author: Thomas Stuefe Date: 2021-02-02 18:21:53 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f546fd00 8260902: CDS mapping errors should not lead to unconditional output Reviewed-by: iklam ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/metaspaceShared.cpp Changeset: 69189f88 Author: Rajan Halade Date: 2021-02-02 18:26:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/69189f88 8256421: Add 2 HARICA roots to cacerts truststore Reviewed-by: hchao, mullan + make/data/cacerts/haricaeccrootca2015 + make/data/cacerts/haricarootca2015 + test/jdk/security/infra/java/security/cert/CertPathValidator/certification/HaricaCA.java ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: 105d3e8f Author: Davin Kevin Committer: Xue-Lei Andrew Fan Date: 2021-02-02 20:54:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/105d3e8f 8260861: TrustStoreDescriptor log the same value Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/ssl/TrustStoreManager.java Changeset: 6dc3c6dc Author: Mahendra Chhipa Committer: Brent Christian Date: 2021-02-02 21:11:41 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6dc3c6dc 8183372: Refactor java/lang/Class shell tests to java Reviewed-by: bchristi, mchung ! test/jdk/java/lang/Class/forName/NonJavaNames.java - test/jdk/java/lang/Class/forName/NonJavaNames.sh ! test/jdk/java/lang/Class/getEnclosingClass/EnclosingClassTest.java - test/jdk/java/lang/Class/getEnclosingClass/build.sh - test/jdk/java/lang/Class/getEnclosingClass/make_src.sh Changeset: 9af33392 Author: Mahendra Chhipa Committer: Brent Christian Date: 2021-02-02 22:14:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9af33392 8261003: Bad Copyright header format after JDK-8183372 Reviewed-by: bchristi ! test/jdk/java/lang/Class/getEnclosingClass/EnclosingClassTest.java Changeset: ffbcf1b0 Author: Ioi Lam Date: 2021-02-02 23:40:29 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ffbcf1b0 8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass Reviewed-by: lfoltan, hseigel, dholmes, stuefe ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/methodHandles_aarch64.cpp ! src/hotspot/cpu/aarch64/methodHandles_aarch64.hpp ! src/hotspot/cpu/aarch64/runtime_aarch64.cpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/arm/c1_MacroAssembler_arm.cpp ! src/hotspot/cpu/arm/methodHandles_arm.cpp ! src/hotspot/cpu/arm/methodHandles_arm.hpp ! src/hotspot/cpu/arm/runtime_arm.cpp ! src/hotspot/cpu/ppc/c1_MacroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/methodHandles_ppc.cpp ! src/hotspot/cpu/ppc/methodHandles_ppc.hpp ! src/hotspot/cpu/ppc/runtime_ppc.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/s390/c1_MacroAssembler_s390.cpp ! src/hotspot/cpu/s390/methodHandles_s390.cpp ! src/hotspot/cpu/s390/methodHandles_s390.hpp ! src/hotspot/cpu/s390/runtime_s390.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/methodHandles_x86.cpp ! src/hotspot/cpu/x86/methodHandles_x86.hpp ! src/hotspot/cpu/x86/runtime_x86_32.cpp ! src/hotspot/cpu/x86/runtime_x86_64.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/zero/compiledIC_zero.cpp ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp ! src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp ! src/hotspot/os_cpu/bsd_zero/os_bsd_zero.cpp ! src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp ! src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp ! src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp ! src/hotspot/os_cpu/linux_s390/os_linux_s390.cpp ! src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp ! src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp ! src/hotspot/os_cpu/windows_aarch64/os_windows_aarch64.cpp ! src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp ! src/hotspot/share/aot/aotCodeHeap.cpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/ci/ciInstance.cpp ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciObjArrayKlass.cpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/ci/ciType.cpp ! src/hotspot/share/classfile/altHashing.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classListParser.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderDataShared.cpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/defaultMethods.cpp ! src/hotspot/share/classfile/javaAssertions.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/javaClasses.inline.hpp ! src/hotspot/share/classfile/lambdaFormInvokers.cpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/classfile/protectionDomainCache.cpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/verificationType.cpp ! src/hotspot/share/classfile/verificationType.hpp ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/classfile/vmClassID.hpp ! src/hotspot/share/classfile/vmClassMacros.hpp ! src/hotspot/share/classfile/vmClasses.cpp ! src/hotspot/share/classfile/vmClasses.hpp ! src/hotspot/share/code/compiledIC.cpp ! src/hotspot/share/code/dependencies.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/parallel/psCompactionManager.cpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/space.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/interpreter/bootstrapInfo.cpp ! src/hotspot/share/interpreter/bytecodeUtils.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/linkResolver.cpp ! src/hotspot/share/interpreter/rewriter.cpp ! src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp ! src/hotspot/share/jfr/jni/jfrJavaSupport.cpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleDescription.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderThread.cpp ! src/hotspot/share/jfr/support/jfrJdkJfrEvent.cpp ! src/hotspot/share/jvmci/compilerRuntime.cpp ! src/hotspot/share/jvmci/jvmciCompiler.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciJavaClasses.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/memory/archiveUtils.cpp ! src/hotspot/share/memory/heapInspection.cpp ! src/hotspot/share/memory/heapShared.cpp ! src/hotspot/share/memory/oopFactory.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/oops/arrayKlass.cpp ! src/hotspot/share/oops/arrayKlass.hpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceMirrorKlass.cpp ! src/hotspot/share/oops/instanceMirrorKlass.hpp ! src/hotspot/share/oops/instanceRefKlass.cpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/oops/reflectionAccessorImplKlassHelper.cpp ! src/hotspot/share/oops/typeArrayKlass.cpp ! src/hotspot/share/opto/bytecodeInfo.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/parseHelper.cpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jniCheck.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiEnter.xsl ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiEnvThreadState.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp ! src/hotspot/share/prims/jvmtiImpl.cpp ! src/hotspot/share/prims/jvmtiImpl.hpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/jvmtiTagMap.cpp ! src/hotspot/share/prims/jvmtiTrace.hpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/prims/methodHandles.hpp ! src/hotspot/share/prims/nativeLookup.cpp ! src/hotspot/share/prims/stackwalk.cpp ! src/hotspot/share/prims/unsafe.cpp ! src/hotspot/share/prims/vectorSupport.cpp ! src/hotspot/share/prims/wbtestmethods/parserTests.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/fieldDescriptor.cpp ! src/hotspot/share/runtime/fieldDescriptor.inline.hpp ! src/hotspot/share/runtime/frame.inline.hpp ! src/hotspot/share/runtime/javaCalls.cpp ! src/hotspot/share/runtime/memprofiler.cpp ! src/hotspot/share/runtime/monitorDeflationThread.cpp ! src/hotspot/share/runtime/notificationThread.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/reflectionUtils.cpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/serviceThread.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/statSampler.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/vframe.cpp ! src/hotspot/share/services/attachListener.cpp ! src/hotspot/share/services/classLoadingService.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/gcNotifier.cpp ! src/hotspot/share/services/heapDumper.cpp ! src/hotspot/share/services/lowMemoryDetector.cpp ! src/hotspot/share/services/management.cpp ! src/hotspot/share/services/memoryManager.cpp ! src/hotspot/share/services/memoryPool.cpp ! src/hotspot/share/services/memoryService.cpp ! src/hotspot/share/services/threadService.cpp ! src/hotspot/share/utilities/exceptions.cpp ! src/hotspot/share/utilities/hashtable.cpp ! src/hotspot/share/utilities/vmEnums.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/SystemDictionary.java ! test/hotspot/gtest/oops/test_instanceKlass.cpp ! test/hotspot/gtest/oops/test_markWord.cpp Changeset: bec60432 Author: Alexander Matveev Date: 2021-02-03 00:29:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bec60432 8259570: (macos) tools/jpackage tests fails with 'hdiutil: couldn't eject "disk2" - Resource busy' Reviewed-by: herrick, asemenyuk ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacDmgBundler.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/RetryExecutor.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MacHelper.java Changeset: d423d368 Author: Kim Barrett Date: 2021-02-03 00:52:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d423d368 8258508: Merge G1RedirtyCardsQueue into qset Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/gc/g1/g1EvacFailure.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.hpp ! src/hotspot/share/gc/g1/g1RedirtyCardsQueue.cpp ! src/hotspot/share/gc/g1/g1RedirtyCardsQueue.hpp Changeset: a47befc8 Author: Jie Fu Date: 2021-02-03 01:18:11 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a47befc8 8260878: com/sun/jdi/JdbOptions.java fails without jfr Reviewed-by: amenkov, cjplummer ! test/jdk/com/sun/jdi/JdbOptions.java Changeset: 98a76921 Author: Sergey Bylokhov Date: 2021-02-03 03:41:53 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/98a76921 8076313: GraphicsEnvironment does not detect changes in count of monitors on Linux OS Reviewed-by: kizune ! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java ! src/java.desktop/unix/classes/sun/awt/X11GraphicsConfig.java ! src/java.desktop/unix/classes/sun/awt/X11GraphicsDevice.java ! src/java.desktop/unix/classes/sun/awt/X11GraphicsEnvironment.java ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c ! src/java.desktop/unix/native/libawt_xawt/xawt/XToolkit.c Changeset: b9d4211b Author: Ioi Lam Date: 2021-02-03 03:56:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b9d4211b 8260193: Remove JVM_GetInterfaceVersion() and JVM_DTraceXXX Reviewed-by: alanb, lfoltan, gziemski, ihse ! make/data/hotspot-symbols/symbols-unix ! src/hotspot/share/include/jvm.h ! src/hotspot/share/prims/jvm.cpp ! src/java.base/share/native/libjava/check_version.c Changeset: c0084100 Author: Prasanta Sadhukhan Date: 2021-02-03 04:33:42 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c0084100 8197825: [Test] Intermittent timeout with javax/swing JColorChooser Test Reviewed-by: trebari, aivanov ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JColorChooser/Test6827032.java Changeset: cb127a4b Author: Prasanta Sadhukhan Date: 2021-02-03 06:49:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/cb127a4b 8198343: Test java/awt/print/PrinterJob/TestPgfmtSetMPA.java may fail w/o printer Reviewed-by: jdv, trebari ! test/jdk/ProblemList.txt ! test/jdk/java/awt/print/PrinterJob/TestPgfmtSetMPA.java Changeset: 91e6c755 Author: Tobias Hartmann Date: 2021-02-03 08:10:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/91e6c755 8260928: InitArrayShortSize constraint func should print a helpful error message Reviewed-by: shade, chagedorn ! src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.cpp Changeset: 90376156 Author: Jan Lahoda Date: 2021-02-03 09:21:43 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/90376156 8222850: jshell tool: Misleading cascade compiler error in switch expression with undefined vars Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java + test/langtools/tools/javac/recovery/SwitchUndefinedSelector.java + test/langtools/tools/javac/recovery/SwitchUndefinedSelector.out Changeset: ae2c5f07 Author: Roberto Casta?eda Lozano Committer: Vladimir Ivanov Date: 2021-02-03 11:11:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ae2c5f07 8260581: IGV: enhance node search Allow users to search by node id or name by default, show partial matches when searching for a specific property, show 'All N matching nodes' entry only if relevant, and rank results by level of matching. Co-authored-by: Christian Hagedorn Reviewed-by: chagedorn, vlivanov, xliu ! src/utils/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/Figure.java ! src/utils/IdealGraphVisualizer/View/nbproject/project.properties ! src/utils/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/NodeQuickSearch.java Changeset: c8de943c Author: Claes Redestad Date: 2021-02-03 11:43:17 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c8de943c 8260617: Merge ZipFile encoding check with the initial hash calculation Reviewed-by: lancea ! src/java.base/share/classes/java/util/zip/ZipCoder.java ! src/java.base/share/classes/java/util/zip/ZipFile.java Changeset: 5324b5c5 Author: Zhengyu Gu Date: 2021-02-03 13:15:59 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5324b5c5 8260998: Shenandoah: Restore reference processing statistics reporting Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahReferenceProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahReferenceProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp Changeset: 0ef93feb Author: Ivan ?ipka Committer: Igor Ignatyev Date: 2021-02-03 14:08:29 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0ef93feb 8259265: Refactor UncaughtExceptions shell test as java test. Reviewed-by: rriggs - test/jdk/java/lang/Thread/UncaughtExceptions.sh + test/jdk/java/lang/Thread/UncaughtExceptionsTest.java Changeset: b0ee7a86 Author: Julia Boes Date: 2021-02-03 14:15:00 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b0ee7a86 8241995: Clarify InetSocketAddress::toString specification Reviewed-by: michaelm, chegar ! src/java.base/share/classes/java/net/InetSocketAddress.java Changeset: 472bf629 Author: Nils Eliasson Date: 2021-02-03 16:01:59 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/472bf629 8258799: [Testbug] RandomCommandsTest must check if tested directive is added via jcmd Reviewed-by: kvn, iignatyev ! test/hotspot/jtreg/compiler/compilercontrol/share/scenario/JcmdStateBuilder.java ! test/hotspot/jtreg/compiler/compilercontrol/share/scenario/Scenario.java Changeset: 4a8b5c16 Author: Weijun Wang Date: 2021-02-03 16:20:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4a8b5c16 8257858: [macOS]: Remove JNF dependency from libosxsecurity/KeystoreImpl.m 8257860: [macOS]: Remove JNF dependency from libosxkrb5/SCDynamicStoreConfig.m Reviewed-by: erikj, prr, ihse, valeriep ! make/common/TestFilesCompilation.gmk ! make/modules/java.base/Lib.gmk ! make/modules/java.security.jgss/Lib.gmk ! make/test/JtregNativeJdk.gmk ! src/java.base/macosx/classes/apple/security/KeychainStore.java ! src/java.base/macosx/native/libosxsecurity/KeystoreImpl.m ! src/java.security.jgss/macosx/native/libosxkrb5/SCDynamicStoreConfig.m ! src/java.security.jgss/share/classes/sun/security/krb5/SCDynamicStoreConfig.java = test/jdk/java/awt/Window/MainKeyWindowTest/libTestMainKeyWindow.m - test/jdk/sun/security/krb5/config/SCDynamicConfigTest.java + test/jdk/sun/security/krb5/config/native/TestDynamicStore.java + test/jdk/sun/security/krb5/config/native/libTestDynamicStore.m Changeset: f025bc1d Author: Vladimir Kozlov Date: 2021-02-03 18:05:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f025bc1d 8260301: misc gc/g1/unloading tests fails with "RuntimeException: Method could not be enqueued for compilation at level N" Reviewed-by: dlong, iignatyev ! src/hotspot/share/prims/whitebox.cpp Changeset: 2be60e37 Author: Phil Race Date: 2021-02-03 21:58:02 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2be60e37 8257988: Remove JNF dependency from libsaproc/MacosxDebuggerLocal.m Reviewed-by: ihse, cjplummer ! make/modules/jdk.hotspot.agent/Lib.gmk ! src/jdk.hotspot.agent/macosx/native/libsaproc/MacosxDebuggerLocal.m Changeset: f279ff9d Author: Sergey Bylokhov Date: 2021-02-03 23:13:12 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f279ff9d 8261010: Delete the Netbeans "default" license header Reviewed-by: iris, psadhukhan ! src/java.desktop/unix/classes/sun/java2d/xr/XRGraphicsConfig.java ! test/micro/org/openjdk/bench/java/math/BigIntegers.java ! test/micro/org/openjdk/bench/vm/compiler/WriteBarrier.java Changeset: e2516e41 Author: Jie Fu Date: 2021-02-04 00:05:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e2516e41 8261028: ZGC: SIGFPE when MaxVirtMemFraction=0 Reviewed-by: stefank, pliden ! src/hotspot/share/gc/shared/gc_globals.hpp Changeset: 8760688d Author: Phil Race Date: 2021-02-04 01:36:19 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8760688d 8260616: Removing remaining JNF dependencies in the java.desktop module Reviewed-by: gziemski, ihse, serb ! make/modules/java.desktop/Lib.gmk ! make/modules/java.desktop/lib/Awt2dLibraries.gmk ! make/test/JtregNativeJdk.gmk ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTEvent.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTSurfaceLayers.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/ApplicationDelegate.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CClipboard.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CCursorManager.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDataTransferer.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDesktopPeer.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDragSource.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDragSourceContextPeer.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDropTarget.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CDropTargetContextPeer.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CFRetainedResource.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CFileDialog.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/CFileDialog.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsDevice.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsEnv.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CImage.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CInputMethod.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CMenu.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuBar.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuComponent.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuItem.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CPopupMenu.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CPrinterJob.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CRobot.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CSystemColors.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CTextPipe.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CWrapper.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/GeomUtilities.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/ImageSurfaceData.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaAccessibilityAction.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaAccessibilityUtilities.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaAccessibilityUtilities.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaTextAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/LWCToolkit.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/PrintModel.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/PrinterSurfaceData.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/PrinterView.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/QuartzRenderer.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/QuartzSurfaceData.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonTextAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/font/AWTFont.m ! src/java.desktop/macosx/native/libawt_lwawt/font/AWTStrike.m ! src/java.desktop/macosx/native/libawt_lwawt/font/CCharToGlyphMapper.m ! src/java.desktop/macosx/native/libawt_lwawt/font/CGGlyphImages.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLGraphicsConfig.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLLayer.h ! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLSurfaceData.m ! src/java.desktop/macosx/native/libosx/CFileManager.m ! src/java.desktop/macosx/native/libosxapp/JNIUtilities.h + src/java.desktop/macosx/native/libosxapp/JNIUtilities.m ! src/java.desktop/macosx/native/libosxapp/NSApplicationAWT.h ! src/java.desktop/macosx/native/libosxapp/NSApplicationAWT.m ! src/java.desktop/macosx/native/libosxapp/PropertiesUtilities.h ! src/java.desktop/macosx/native/libosxapp/PropertiesUtilities.m ! src/java.desktop/macosx/native/libosxapp/ThreadUtilities.h ! src/java.desktop/macosx/native/libosxapp/ThreadUtilities.m ! src/java.desktop/macosx/native/libosxui/AquaFileView.m ! src/java.desktop/macosx/native/libosxui/AquaLookAndFeel.m ! src/java.desktop/macosx/native/libosxui/AquaNativeResources.m ! src/java.desktop/macosx/native/libosxui/JRSUIConstantSync.m ! src/java.desktop/macosx/native/libosxui/JRSUIController.m ! src/java.desktop/macosx/native/libosxui/JRSUIFocus.m ! src/java.desktop/macosx/native/libosxui/ScreenMenu.h ! src/java.desktop/macosx/native/libosxui/ScreenMenu.m ! src/java.desktop/macosx/native/libsplashscreen/splashscreen_sys.m ! test/jdk/java/awt/Window/MainKeyWindowTest/libTestMainKeyWindow.m Changeset: e68eac9c Author: Per Liden Date: 2021-01-28 07:58:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e68eac9c 8259765: ZGC: Handle incorrect processor id reported by the operating system Reviewed-by: ayang, eosterlund ! src/hotspot/os/linux/os_linux.cpp Changeset: 1926765f Author: Vladimir Kozlov Date: 2021-01-28 16:16:51 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1926765f 8253353: Crash in C2: guarantee(n != NULL) failed: No Node Co-authored-by: Fei Yang Reviewed-by: vlivanov, neliasso ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp + test/hotspot/jtreg/compiler/loopopts/TestNestedIrreducibleLoops.jasm + test/hotspot/jtreg/compiler/loopopts/TestNestedIrreducibleLoopsMain.java Changeset: 8ffdbceb Author: Igor Ignatyev Date: 2021-01-29 04:04:23 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8ffdbceb 8260608: add a regression test for 8260370 Reviewed-by: kvn + test/hotspot/jtreg/compiler/loopopts/TestLoopLimitNodeElimination.java Changeset: a117e115 Author: Wang Huang Committer: Nils Eliasson Date: 2021-01-29 08:07:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a117e115 8260339: JVM crashes when executing PhaseIdealLoop::match_fill_loop Co-authored-by: He Xuejin Reviewed-by: neliasso, kvn, iignatyev ! src/hotspot/share/runtime/stubRoutines.cpp + test/hotspot/jtreg/compiler/vectorapi/TestLoopStoreVector.java Changeset: bc41bb10 Author: Aleksey Shipilev Date: 2021-01-29 17:48:11 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bc41bb10 8260632: Build failures after JDK-8253353 Reviewed-by: stuefe, thartmann, kvn ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: 0fdf9cdd Author: casparcwang Committer: Jie Fu Date: 2021-02-01 01:28:31 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0fdf9cdd 8260473: [vector] ZGC: VectorReshape test produces incorrect results with ZGC enabled Co-authored-by: Stuart Monteith Co-authored-by: Wang Chao Reviewed-by: vlivanov, neliasso ! src/hotspot/share/opto/vector.cpp + test/hotspot/jtreg/compiler/vectorapi/VectorRebracket128Test.java Changeset: 21f8bf44 Author: Erik Gahlin Date: 2021-02-01 05:57:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/21f8bf44 8257215: JFR: Events dropped when streaming over a chunk rotation Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/Repository.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/RepositoryChunk.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/SecuritySupport.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/Utils.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/FileAccess.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/OngoingStream.java + src/jdk.jfr/share/classes/jdk/jfr/internal/management/ChunkFilename.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/management/ManagementSupport.java ! src/jdk.management.jfr/share/classes/jdk/management/jfr/DiskRepository.java ! src/jdk.management.jfr/share/classes/jdk/management/jfr/DownLoadThread.java ! src/jdk.management.jfr/share/classes/jdk/management/jfr/RemoteRecordingStream.java ! test/jdk/ProblemList.txt ! test/jdk/jdk/jfr/jmx/streaming/TestRotate.java Changeset: ed1a7755 Author: Magnus Ihse Bursie Date: 2021-02-02 07:41:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ed1a7755 8258378: Final nroff manpage update for JDK 16 Reviewed-by: erikj, dholmes ! src/java.base/share/man/java.1 ! src/java.base/share/man/keytool.1 ! src/java.rmi/share/man/rmid.1 ! src/java.rmi/share/man/rmiregistry.1 ! src/java.scripting/share/man/jrunscript.1 ! src/jdk.compiler/share/man/javac.1 ! src/jdk.compiler/share/man/serialver.1 ! src/jdk.hotspot.agent/share/man/jhsdb.1 ! src/jdk.jartool/share/man/jar.1 ! src/jdk.jartool/share/man/jarsigner.1 ! src/jdk.javadoc/share/man/javadoc.1 ! src/jdk.jcmd/share/man/jcmd.1 ! src/jdk.jcmd/share/man/jinfo.1 ! src/jdk.jcmd/share/man/jmap.1 ! src/jdk.jcmd/share/man/jps.1 ! src/jdk.jcmd/share/man/jstack.1 ! src/jdk.jcmd/share/man/jstat.1 ! src/jdk.jconsole/share/man/jconsole.1 ! src/jdk.jdeps/share/man/javap.1 ! src/jdk.jdeps/share/man/jdeprscan.1 ! src/jdk.jdeps/share/man/jdeps.1 ! src/jdk.jdi/share/man/jdb.1 ! src/jdk.jfr/share/man/jfr.1 ! src/jdk.jlink/share/man/jlink.1 ! src/jdk.jlink/share/man/jmod.1 ! src/jdk.jshell/share/man/jshell.1 ! src/jdk.jstatd/share/man/jstatd.1 Changeset: 081fa3e7 Author: Aleksey Shipilev Date: 2021-02-02 18:00:43 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/081fa3e7 8260927: StringBuilder::insert is incorrect without Compact Strings Reviewed-by: redestad, alanb, rriggs, jlaskey ! src/java.base/share/classes/java/lang/String.java ! test/jdk/java/lang/StringBuilder/Insert.java Changeset: afd5eefd Author: Kim Barrett Date: 2021-02-02 19:20:19 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/afd5eefd 8260704: ParallelGC: oldgen expansion needs release-store for _end Move JDK-8257999 barrier to correct location. Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/psOldGen.cpp Changeset: 1a7040e5 Author: Jesper Wilhelmsson Date: 2021-02-02 19:45:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1a7040e5 8259794: Remove EA from JDK 16 version string starting with Initial RC promotion on Feb 04, 2021(B35) Reviewed-by: iignatyev, mikael ! make/autoconf/version-numbers Changeset: 9b7a8f19 Author: Jesper Wilhelmsson Date: 2021-02-04 02:06:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9b7a8f19 Merge ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/psOldGen.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/vector.cpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/man/java.1 ! test/jdk/ProblemList.txt ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/psOldGen.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/vector.cpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/man/java.1 ! test/jdk/ProblemList.txt Changeset: 82028e70 Author: Ioi Lam Date: 2021-02-04 04:05:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/82028e70 8260012: Reduce inclusion of collectedHeap.hpp and heapInspection.hpp Reviewed-by: stefank, tschatzl ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp ! src/hotspot/cpu/aarch64/frame_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/arm/c1_Runtime1_arm.cpp ! src/hotspot/cpu/arm/frame_arm.cpp ! src/hotspot/cpu/arm/templateTable_arm.cpp ! src/hotspot/cpu/ppc/frame_ppc.cpp ! src/hotspot/cpu/ppc/nativeInst_ppc.cpp ! src/hotspot/cpu/s390/frame_s390.cpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/frame_x86.cpp ! src/hotspot/cpu/x86/methodHandles_x86.cpp ! src/hotspot/cpu/x86/nativeInst_x86.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/cpu/zero/frame_zero.cpp ! src/hotspot/os/windows/perfMemory_windows.cpp ! src/hotspot/share/asm/codeBuffer.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/compiledIC.cpp ! src/hotspot/share/code/debugInfo.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/oopRecorder.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/gcVMOperations.cpp ! src/hotspot/share/gc/shared/gcVMOperations.hpp ! src/hotspot/share/gc/shared/memAllocator.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupTable.cpp ! src/hotspot/share/interpreter/oopMapCache.cpp ! src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/jvmci/jvmci_globals.cpp ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/heap.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/universe.hpp ! src/hotspot/share/memory/virtualspace.cpp ! src/hotspot/share/oops/accessBackend.inline.hpp ! src/hotspot/share/oops/compressedOops.inline.hpp ! src/hotspot/share/oops/oop.inline.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiTagMap.cpp ! src/hotspot/share/prims/jvmtiTagMapTable.cpp ! src/hotspot/share/prims/stackwalk.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/jniHandles.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/vmThread.cpp ! src/hotspot/share/services/management.cpp ! src/hotspot/share/utilities/ostream.cpp ! test/hotspot/gtest/gc/shared/test_oopStorage_parperf.cpp Changeset: 60f440de Author: Prasanta Sadhukhan Date: 2021-02-04 04:13:05 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/60f440de 6436374: Graphics.setColor(null) is not documented Reviewed-by: serb, pbansal ! src/java.desktop/share/classes/java/awt/Graphics.java + test/jdk/java/awt/color/TestNullSetColor.java Changeset: 06b33a0a Author: Sergey Bylokhov Date: 2021-02-04 07:28:27 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/06b33a0a 8261107: ArrayIndexOutOfBoundsException in the ICC_Profile.getInstance(InputStream) Reviewed-by: azvegint, psadhukhan ! src/java.desktop/share/classes/java/awt/color/ICC_Profile.java + test/jdk/java/awt/color/ICC_Profile/GetInstanceBrokenStream.java Changeset: e8ad8b35 Author: Denghui Dong Committer: Erik Gahlin Date: 2021-02-04 09:22:01 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e8ad8b35 8259956: jdk.jfr.internal.ChunkInputStream#available should return the sum of remaining available bytes Reviewed-by: egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/ChunkInputStream.java + test/jdk/jdk/jfr/api/consumer/TestChunkInputStreamAvailable.java Changeset: 992b5008 Author: Claes Redestad Date: 2021-02-04 10:46:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/992b5008 8261036: Reduce classes loaded by CleanerFactory initialization Reviewed-by: rriggs ! src/java.base/share/classes/jdk/internal/misc/InnocuousThread.java ! src/java.base/share/classes/jdk/internal/ref/CleanerFactory.java ! src/java.base/share/classes/jdk/internal/ref/CleanerImpl.java Changeset: 83357b11 Author: Claes Redestad Date: 2021-02-04 10:47:03 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/83357b11 8261030: Avoid loading GenerateJLIClassesHelper at runtime Reviewed-by: mchung ! src/java.base/share/classes/java/lang/invoke/ClassSpecializer.java ! src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleStatics.java Changeset: be772ffa Author: Thomas Schatzl Date: 2021-02-04 13:47:51 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/be772ffa 8261023: Document why memory pretouch must be a store Reviewed-by: shade, iwalulya ! src/hotspot/share/runtime/os.cpp Changeset: f7a6cff9 Author: Magnus Ihse Bursie Date: 2021-02-04 14:37:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f7a6cff9 8261149: Initial nroff manpage update for JDK 17 Reviewed-by: dholmes, erikj ! src/java.base/share/man/java.1 ! src/java.base/share/man/keytool.1 ! src/java.rmi/share/man/rmid.1 ! src/java.rmi/share/man/rmiregistry.1 ! src/java.scripting/share/man/jrunscript.1 ! src/jdk.compiler/share/man/javac.1 ! src/jdk.compiler/share/man/serialver.1 ! src/jdk.hotspot.agent/share/man/jhsdb.1 ! src/jdk.jartool/share/man/jar.1 ! src/jdk.jartool/share/man/jarsigner.1 ! src/jdk.javadoc/share/man/javadoc.1 ! src/jdk.jcmd/share/man/jcmd.1 ! src/jdk.jcmd/share/man/jinfo.1 ! src/jdk.jcmd/share/man/jmap.1 ! src/jdk.jcmd/share/man/jps.1 ! src/jdk.jcmd/share/man/jstack.1 ! src/jdk.jcmd/share/man/jstat.1 ! src/jdk.jconsole/share/man/jconsole.1 ! src/jdk.jdeps/share/man/javap.1 ! src/jdk.jdeps/share/man/jdeprscan.1 ! src/jdk.jdeps/share/man/jdeps.1 ! src/jdk.jdi/share/man/jdb.1 ! src/jdk.jfr/share/man/jfr.1 ! src/jdk.jlink/share/man/jlink.1 ! src/jdk.jlink/share/man/jmod.1 ! src/jdk.jpackage/share/man/jpackage.1 ! src/jdk.jshell/share/man/jshell.1 ! src/jdk.jstatd/share/man/jstatd.1 Changeset: c1dea39d Author: Andy Herrick Date: 2021-02-04 14:50:54 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c1dea39d 8260335: [macos] Running app using relative path causes problems Reviewed-by: almatvee, kizune ! src/jdk.jpackage/share/native/common/FileUtils.cpp Changeset: e93e1e1c Author: Erik Gahlin Date: 2021-02-04 17:01:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e93e1e1c 8261157: Incorrect GPL header after JDK-8259956 Reviewed-by: mgronlun ! test/jdk/jdk/jfr/api/consumer/TestChunkInputStreamAvailable.java Changeset: bdcbfa10 Author: Andy Herrick Date: 2021-02-04 17:48:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bdcbfa10 8259927: Windows jpackage installer issues Reviewed-by: asemenyuk, almatvee, kizune ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WixSourcesBuilder.java Changeset: d9aefa36 Author: Kiran Sidhartha Ravikumar Date: 2021-02-04 17:49:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d9aefa36 8260356: (tz) Upgrade time-zone data to tzdata2021a Reviewed-by: naoto ! make/data/tzdata/VERSION ! make/data/tzdata/africa ! make/data/tzdata/leapseconds Changeset: c59e4b66 Author: Ioi Lam Date: 2021-02-04 19:05:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c59e4b66 8261106: Reduce inclusion of jniHandles.hpp Reviewed-by: coleenp, hseigel ! src/hotspot/cpu/aarch64/jvmciCodeInstaller_aarch64.cpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/arm/jniFastGetField_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp ! src/hotspot/cpu/ppc/gc/g1/g1BarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/s390/gc/g1/g1BarrierSetAssembler_s390.cpp ! src/hotspot/cpu/s390/gc/shared/barrierSetAssembler_s390.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/cpu/x86/jvmciCodeInstaller_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/share/ci/ciBaseObject.hpp ! src/hotspot/share/ci/ciMetadata.hpp ! src/hotspot/share/ci/ciObject.hpp ! src/hotspot/share/classfile/moduleEntry.hpp ! src/hotspot/share/compiler/compileTask.cpp ! src/hotspot/share/gc/shared/concurrentGCThread.cpp ! src/hotspot/share/gc/shared/gcVMOperations.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.cpp ! src/hotspot/share/jfr/dcmd/jfrDcmds.cpp ! src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.cpp ! src/hotspot/share/jfr/writers/jfrWriterHost.inline.hpp ! src/hotspot/share/jvmci/jvmciEnv.hpp ! src/hotspot/share/jvmci/jvmciJavaClasses.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/prims/jvmtiEnter.xsl ! src/hotspot/share/prims/jvmtiImpl.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/vmOperations.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/runtime/vmThread.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/threadService.hpp Changeset: 3bb6a3d2 Author: Phil Race Date: 2021-02-04 21:00:18 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3bb6a3d2 8261109: [macOS] Remove disabled warning for JNF in make/autoconf/flags-cflags.m4 Reviewed-by: serb, ihse, erikj ! make/autoconf/flags-cflags.m4 ! make/modules/java.base/Lib.gmk Changeset: 08f7454f Author: Daniel D. Daugherty Date: 2021-02-04 23:08:15 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/08f7454f 8261190: restore original Alibaba copyright line in two files Reviewed-by: dholmes ! test/jdk/jdk/jfr/api/consumer/TestChunkInputStreamAvailable.java ! test/jdk/jdk/jfr/event/gc/detailed/TestGCLockerEvent.java Changeset: c5bb1092 Author: Ioi Lam Date: 2021-02-05 03:02:11 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c5bb1092 8260019: Move some Thread subtypes out of thread.hpp Reviewed-by: dholmes, coleenp ! src/hotspot/share/ci/ciEnv.hpp ! src/hotspot/share/code/dependencies.hpp ! src/hotspot/share/compiler/compilerDirectives.hpp + src/hotspot/share/compiler/compilerThread.cpp + src/hotspot/share/compiler/compilerThread.hpp ! src/hotspot/share/gc/shared/concurrentGCThread.hpp ! src/hotspot/share/gc/shared/gcId.cpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/workgroup.hpp ! src/hotspot/share/gc/z/zThread.cpp ! src/hotspot/share/interpreter/interpreterRuntime.hpp ! src/hotspot/share/jfr/utilities/jfrThreadIterator.hpp ! src/hotspot/share/jvmci/jvmci.cpp + src/hotspot/share/runtime/nonJavaThread.cpp + src/hotspot/share/runtime/nonJavaThread.hpp ! src/hotspot/share/runtime/task.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/vmThread.hpp Changeset: d2bd4992 Author: Fernando Guallini Committer: Rajan Halade Date: 2021-02-05 05:22:51 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d2bd4992 8163498: Many long-running security libs tests Reviewed-by: rhalade, weijun ! test/jdk/com/sun/crypto/provider/KeyAgreement/SupportedDHParamGens.java + test/jdk/com/sun/crypto/provider/KeyAgreement/SupportedDHParamGensLongKey.java ! test/jdk/sun/security/provider/DSA/SupportedDSAParamGen.java + test/jdk/sun/security/provider/DSA/SupportedDSAParamGenLongKey.java ! test/jdk/sun/security/provider/NSASuiteB/TestDSAGenParameterSpec.java + test/jdk/sun/security/provider/NSASuiteB/TestDSAGenParameterSpecLongKey.java ! test/jdk/sun/security/rsa/SignatureTest.java ! test/jdk/sun/security/tools/keytool/fakegen/java.base/sun/security/rsa/RSAKeyPairGenerator.java Changeset: 1e0a1013 Author: Kim Barrett Date: 2021-02-05 07:24:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1e0a1013 8259862: MutableSpace's end should be atomic Make _end volatile and use atomic access Reviewed-by: ayang, tschatzl ! src/hotspot/share/gc/parallel/mutableSpace.hpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/parallel/psYoungGen.hpp ! src/hotspot/share/gc/parallel/vmStructs_parallelgc.hpp Changeset: ee2f2055 Author: Thomas Stuefe Date: 2021-02-05 07:31:06 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ee2f2055 8260926: Trace resource exhausted events unconditionally Reviewed-by: dholmes, coleenp ! src/hotspot/share/prims/jvmtiExport.cpp Changeset: 78b0d327 Author: Thomas Schatzl Date: 2021-02-05 08:33:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/78b0d327 8234534: Simplify CardTable code after CMS removal Reviewed-by: ayang, kbarrett ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.inline.hpp ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/shared/c2/cardTableBarrierSetC2.cpp ! src/hotspot/share/gc/shared/cardGeneration.cpp ! src/hotspot/share/gc/shared/cardTableRS.cpp ! src/hotspot/share/gc/shared/cardTableRS.hpp ! src/hotspot/share/gc/shared/genOopClosures.inline.hpp ! src/hotspot/share/gc/shared/vmStructs_gc.hpp Changeset: 07918995 Author: Claes Redestad Date: 2021-02-05 08:58:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/07918995 8261154: Memory leak in Java_java_lang_ClassLoader_defineClass0 with long class names Reviewed-by: stuefe, chegar, mchung ! src/java.base/share/native/libjava/ClassLoader.c ! test/micro/org/openjdk/bench/java/lang/invoke/LookupDefineClass.java Changeset: 3495febf Author: Roland Westrelin Date: 2021-02-05 09:33:54 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3495febf 8260296: SA's dumpreplaydata fails Reviewed-by: kvn, cjplummer, iignatyev ! src/hotspot/share/ci/ciMetadata.cpp ! src/hotspot/share/ci/ciMetadata.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciMethodData.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/DataLayout.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/MethodData.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ProfileData.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/TypeEntries.java ! test/hotspot/jtreg/compiler/ciReplay/CiReplayBase.java ! test/hotspot/jtreg/compiler/ciReplay/SABase.java ! test/hotspot/jtreg/compiler/ciReplay/VMBase.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbCDSCore.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbFindPC.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbPmap.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbPstack.java ! test/hotspot/jtreg/serviceability/sa/TestJmapCore.java ! test/lib/jdk/test/lib/process/OutputAnalyzer.java ! test/lib/jdk/test/lib/process/OutputBuffer.java ! test/lib/jdk/test/lib/util/CoreUtils.java Changeset: 224c166c Author: Kim Barrett Date: 2021-02-05 10:18:51 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/224c166c 8261213: [BACKOUT] MutableSpace's end should be atomic Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/parallel/mutableSpace.hpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/parallel/psYoungGen.hpp ! src/hotspot/share/gc/parallel/vmStructs_parallelgc.hpp Changeset: 48f5220c Author: Martin Doerr Date: 2021-02-05 12:58:23 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/48f5220c 8260369: [PPC64] Add support for JDK-8200555 Reviewed-by: lucy ! src/hotspot/cpu/ppc/interp_masm_ppc.hpp ! src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/ppc/templateTable_ppc.hpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp Changeset: 43ae0cf8 Author: Matthias Baesken Date: 2021-02-05 13:37:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/43ae0cf8 8261167: print_process_memory_info add a close call after fopen Reviewed-by: stuefe, dholmes ! src/hotspot/os/linux/os_linux.cpp Changeset: f9df3662 Author: Coleen Phillimore Date: 2021-02-05 15:49:49 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f9df3662 8242300: SystemDictionary::resolve_super_or_fail() should look for the super class first Reviewed-by: iklam, ccheung ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: 02189171 Author: Calvin Cheung Date: 2021-02-05 17:23:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/02189171 8258732: runtime/cds/appcds/dynamicArchive/DynamicArchiveRelocationTest.java fails Reviewed-by: minqi, iklam ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/DynamicArchiveRelocationTest.java Changeset: 4a1814cb Author: Naoto Sato Date: 2021-02-05 18:15:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4a1814cb 8261179: Norwegian Bokm?l Locale fallback issue Reviewed-by: joehw ! src/java.base/share/classes/java/util/ResourceBundle.java ! test/jdk/java/util/ResourceBundle/Control/DefaultControlTest.java Changeset: 4a89733e Author: Phil Race Date: 2021-02-05 19:19:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4a89733e 8261198: [macOS] Incorrect JNI parameters in number conversion in A11Y code Reviewed-by: serb, psadhukhan ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m Changeset: 7a6c1768 Author: Zhengyu Gu Date: 2021-02-05 19:30:14 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7a6c1768 8260736: Shenandoah: Cleanup includes in ShenandoahGC and families Reviewed-by: shade, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFullGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFullGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahSTWMark.hpp Changeset: fac3c2d2 Author: Alexey Semenyuk Date: 2021-02-05 20:44:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fac3c2d2 8254702: jpackage app launcher crashes on CentOS Reviewed-by: almatvee, erikj, herrick ! make/modules/jdk.jpackage/Lib.gmk ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxAppImageBuilder.java + src/jdk.jpackage/linux/native/applauncher/LinuxLauncher.c - src/jdk.jpackage/linux/native/applauncher/LinuxLauncher.cpp + src/jdk.jpackage/linux/native/applauncher/LinuxPackage.c + src/jdk.jpackage/linux/native/applauncher/LinuxPackage.h = src/jdk.jpackage/linux/native/libapplauncher/Executor.cpp = src/jdk.jpackage/linux/native/libapplauncher/Executor.h + src/jdk.jpackage/linux/native/libapplauncher/LinuxLauncherLib.cpp = src/jdk.jpackage/linux/native/libapplauncher/Package.cpp = src/jdk.jpackage/linux/native/libapplauncher/Package.h ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/ApplicationLayout.java ! src/jdk.jpackage/share/native/applauncher/JvmLauncher.cpp ! src/jdk.jpackage/share/native/applauncher/JvmLauncher.h + src/jdk.jpackage/share/native/applauncher/JvmLauncherLib.c ! src/jdk.jpackage/share/native/common/app.cpp ! src/jdk.jpackage/share/native/common/tstrings.cpp Changeset: 440db35e Author: Alexander Zuev Date: 2021-02-05 22:27:41 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/440db35e 8216358: [accessibility] [macos] The focus is invisible when tab to "Image Radio Buttons" and "Image CheckBoxes" Reviewed-by: serb, pbansal ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonLabeledUI.java + test/jdk/javax/swing/JCheckBox/ImageCheckboxFocus/ImageCheckboxTest.java Changeset: fb46d4e5 Author: Ivan ?ipka Committer: Igor Ignatyev Date: 2021-02-06 00:05:42 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fb46d4e5 8259268: Refactor InheritIO shell test as java test Reviewed-by: iignatyev, rriggs - test/jdk/java/lang/ProcessBuilder/InheritIO/InheritIO.java - test/jdk/java/lang/ProcessBuilder/InheritIO/InheritIO.sh + test/jdk/java/lang/ProcessBuilder/InheritIOTest.java Changeset: 5307afa9 Author: Dong Bo Committer: Dean Long Date: 2021-02-03 21:40:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5307afa9 8260585: AArch64: Wrong code generated for shifting right and accumulating four unsigned short integers Reviewed-by: iveresov, dlong, njian, aph ! src/hotspot/cpu/aarch64/aarch64.ad + test/hotspot/jtreg/compiler/c2/TestShiftRightAndAccumulate.java Changeset: 4de3a6be Author: Roland Westrelin Date: 2021-02-04 15:11:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4de3a6be 8260709: C2: assert(false) failed: unscheduable graph Reviewed-by: thartmann, chagedorn ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/loopopts/TestLoadPinnedAfterAllocate.java Changeset: d7acfae3 Author: Jesper Wilhelmsson Date: 2021-02-06 00:29:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d7acfae3 Merge ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp Changeset: 74d40ab7 Author: Sergey Bylokhov Date: 2021-02-06 03:38:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/74d40ab7 8261200: Some code in the ICC_Profile may not close file streams properly Reviewed-by: azvegint ! src/java.desktop/share/classes/java/awt/color/ICC_Profile.java + test/jdk/java/awt/color/ICC_Profile/WriteProfileToFile.java Changeset: 2c3a86f9 Author: Coleen Phillimore Date: 2021-02-06 16:35:30 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2c3a86f9 8261280: Remove THREAD argument from compute_loader_lock_object Reviewed-by: dcubed ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp Changeset: 7a2db858 Author: Pengfei Li Date: 2021-02-07 01:15:24 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7a2db858 8261022: Fix incorrect result of Math.abs() with char type Reviewed-by: thartmann, neliasso ! src/hotspot/share/opto/superword.cpp + test/hotspot/jtreg/compiler/vectorization/TestAbsCharVector.java Changeset: 0e18634b Author: Igor Veresov Date: 2021-02-07 02:24:15 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0e18634b 8261270: MakeMethodNotCompilableTest fails with -XX:TieredStopAtLevel={1,2,3} Reviewed-by: kvn ! test/hotspot/jtreg/compiler/whitebox/MakeMethodNotCompilableTest.java Changeset: c5ff4544 Author: Ioi Lam Date: 2021-02-07 07:10:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c5ff4544 8250989: Consolidate buffer allocation code for CDS static/dynamic dumping Reviewed-by: ccheung, coleenp ! src/hotspot/share/classfile/compactHashtable.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/archiveBuilder.cpp ! src/hotspot/share/memory/archiveBuilder.hpp ! src/hotspot/share/memory/archiveUtils.cpp ! src/hotspot/share/memory/archiveUtils.hpp ! src/hotspot/share/memory/archiveUtils.inline.hpp ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/dynamicArchive.hpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/filemap.hpp ! src/hotspot/share/memory/heapShared.cpp ! src/hotspot/share/memory/heapShared.hpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/memory/metaspaceShared.hpp ! src/hotspot/share/oops/compressedOops.hpp ! src/hotspot/share/oops/compressedOops.inline.hpp ! src/hotspot/share/oops/oop.cpp ! src/hotspot/share/oops/oop.hpp ! test/hotspot/jtreg/runtime/cds/appcds/ArchiveRelocationTest.java ! test/hotspot/jtreg/runtime/cds/appcds/ExtraSymbols.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/AppendClasspath.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/ArchiveConsistency.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/ClassResolutionFailure.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/DynamicArchiveRelocationTest.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/DynamicLotsOfClasses.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/HelloDynamic.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/HelloDynamicCustom.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/HelloDynamicCustomUnload.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/JITInteraction.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaInBaseArchive.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/MainModuleOnly.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/MismatchedBaseArchive.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/MissingArchive.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/SharedArchiveFileOption.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/UnusedCPDuringDump.java ! test/lib/jdk/test/lib/cds/CDSTestUtils.java Changeset: aa5bc6ed Author: Dong Bo Committer: Fei Yang Date: 2021-02-08 02:12:29 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/aa5bc6ed 8258953: AArch64: move NEON instructions to aarch64_neon.ad Reviewed-by: njian, aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/aarch64_neon.ad ! src/hotspot/cpu/aarch64/aarch64_neon_ad.m4 Changeset: 9d59dec2 Author: Yasumasa Suenaga Date: 2021-02-08 02:34:01 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9d59dec2 8248876: LoadObject with bad base address created for exec file on linux Reviewed-by: cjplummer, kevinw ! src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxCDebugger.java Changeset: d45343ea Author: Aleksey Shipilev Date: 2021-02-08 07:29:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d45343ea 8260899: ARM32: SyncOnValueBasedClassTest fails with assert(is_valid()) failed: invalid register Reviewed-by: dsamersoff ! src/hotspot/cpu/arm/c1_MacroAssembler_arm.cpp Changeset: deb0544f Author: Roman Kennke Date: 2021-02-08 08:01:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/deb0544f 8261251: Shenandoah: Use object size for full GC humongous compaction Reviewed-by: aph, shade ! src/hotspot/share/gc/shenandoah/shenandoahFullGC.cpp Changeset: d0a8f2f7 Author: Jan Lahoda Date: 2021-02-08 09:36:29 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d0a8f2f7 8260593: javac can skip a temporary local variable when pattern matching over a local variable Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java ! test/langtools/tools/javac/patterns/Annotations.java ! test/langtools/tools/javac/patterns/BindingsTest1.java + test/langtools/tools/javac/patterns/LocalVariableReuse.java ! test/langtools/tools/javac/patterns/NoUnnecessaryCast.java Changeset: 2c28e364 Author: Daniel Fuchs Date: 2021-02-08 12:55:00 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2c28e364 8237352: Update DatagramSocket to add support for joining multicast groups Reviewed-by: alanb ! src/java.base/share/classes/java/net/DatagramSocket.java ! src/java.base/share/classes/java/net/MulticastSocket.java ! src/java.base/windows/classes/java/net/DefaultDatagramSocketImplFactory.java + test/jdk/java/net/DatagramSocket/DatagramSocketExample.java + test/jdk/java/net/DatagramSocket/DatagramSocketMulticasting.java Changeset: db0ca2b9 Author: Harold Seigel Date: 2021-02-08 13:19:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/db0ca2b9 8261161: Clean up warnings in hotspot/jtreg/vmTestbase tests Reviewed-by: lfoltan, coleenp ! test/hotspot/jtreg/vmTestbase/gc/gctests/JumbleGC/Tree.java ! test/hotspot/jtreg/vmTestbase/gc/gctests/PhantomReference/PhantomHelper.java ! test/hotspot/jtreg/vmTestbase/gc/gctests/PhantomReference/PhantomReferenceEvilTest/PhantomReferenceEvilTest.java ! test/hotspot/jtreg/vmTestbase/gc/gctests/PhantomReference/PhantomReferenceTest/PhantomReferenceTest.java ! test/hotspot/jtreg/vmTestbase/gc/gctests/ReferencesGC/ReferencesGC.java ! test/hotspot/jtreg/vmTestbase/gc/gctests/WeakReferenceGC/WeakReferenceGC.java ! test/hotspot/jtreg/vmTestbase/gc/gctests/gctest01/gctest01.java ! test/hotspot/jtreg/vmTestbase/gc/gctests/gctest02/gctest02.java ! test/hotspot/jtreg/vmTestbase/gc/gctests/gctest03/gctest03.java ! test/hotspot/jtreg/vmTestbase/gc/gctests/gctest04/gctest04.java ! test/hotspot/jtreg/vmTestbase/gc/hashcode/ExternalHashingTest/ExternalHashingTest.java ! test/hotspot/jtreg/vmTestbase/jit/FloatingPoint/FPCompare/TestFPBinop/TestFPBinop.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 ! test/hotspot/jtreg/vmTestbase/nsk/jdb/pop_exception/pop_exception001/pop_exception001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/unwatch/unwatch001/unwatch001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/unwatch/unwatch002/unwatch002a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/watch/watch001/watch001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/watch/watch002/watch002a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Accessible/isPackagePrivate/accipp001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Accessible/isPrivate/isPrivate001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Accessible/isProtected/isProtected001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Accessible/isPublic/isPublic001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Accessible/modifiers/modifiers001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayReference/getValue/getvalue001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayReference/getValue/getvalue002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayReference/getValues/getvalues001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayReference/getValues_ii/getvaluesii001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayReference/getValues_ii/getvaluesii002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayReference/getValues_ii/getvaluesii003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayReference/getValues_ii/getvaluesii004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayReference/length/length001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayReference/setValue/setvalue001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayReference/setValue/setvalue002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayReference/setValues_ilii/setvaluesilii001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayReference/setValues_ilii/setvaluesilii002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayReference/setValues_l/setvaluesl001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayReference/setValues_l/setvaluesl002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassObjectReference/reflectedType/reflectype001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassObjectReference/toString/tostring001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Field/equals/equals001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Field/equals/equals001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Field/equals/equals002a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Field/equals/equals003a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Field/equals/equals005a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Field/hashCode/hashcode001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Field/isTransient/istrans001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Field/isVolatile/isvol001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Field/type/type002a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Field/typeName/typename001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/LocalVariable/toString/tostring001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Method/isBridge/isbridge001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Method/isObsolete/isobsolete003/newclass/isobsolete003b.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Method/isObsolete/isobsolete003b.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ModificationWatchpointEvent/_itself_/mwevent001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ModificationWatchpointEvent/valueToBe/valuetobe001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ModificationWatchpointEvent/valueToBe/valuetobe002a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/allFields/allfields005t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/allLineLocations/alllinelocations002t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/allLineLocations_ss/alllinelocations_ss002t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/allMethods/allmethods005t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/classObject/classobj001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/equals/equals001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/fields/fields005t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/hashCode/hashcode001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/isFinal/isfinal001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/isStatic/isstatic001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/locationsOfLine_i/locationsofline_i002t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/locationsOfLine_ssi/locationsofline_ssi002t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/methods/methods005t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/name/name001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/sourceNames/sourcenames002t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/sourcePaths/sourcepaths002t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/visibleFields/visibfield005t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/visibleMethods/visibmethod006t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/declaringType/decltype001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/declaringType/decltype002a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/declaringType/decltype003a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/declaringType/decltype007a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/declaringType/decltype008a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/isFinal/isfinal001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/isFinal/isfinal003a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/isStatic/isstatic001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/isStatic/isstatic003a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/isSynthetic/issynthetic001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/name/name001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/name/name003a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/signature/sign001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointEvent/_itself_/wevent001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointEvent/object/object001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointEvent/valueCurrent/valuecur001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdwp/ArrayReference/SetValues/setvalues001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdwp/ClassType/InvokeMethod/invokemeth001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdwp/ClassType/NewInstance/newinst001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdwp/ObjectReference/GetValues/getvalues001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdwp/ObjectReference/InvokeMethod/invokemeth001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdwp/ReferenceType/GetValues/getvalues001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdwp/StackFrame/GetValues/getvalues001.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach001/attach001TestRunner.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/PopFrame/popframe003p.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass019/newclass_g/redefclass019a.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/timers/JvmtiTest.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/MemoryUsage/from/from001.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/ThreadInfo/from_c/from_c001.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/CustomMBeanServer.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/Monitor.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/ThreadMonitor.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/server/ServerMXBean.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/thread/cmon001.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/thread/strace001.java ! test/hotspot/jtreg/vmTestbase/nsk/share/TreeNodesDenotation.java ! test/hotspot/jtreg/vmTestbase/nsk/share/aod/AODTestRunner.java ! test/hotspot/jtreg/vmTestbase/nsk/share/classload/GeneratingClassLoader.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdi/ValueConversionDebugger.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdwp/Debugee.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdwp/JDWP.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jpda/ForceEarlyReturnTestThread.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jpda/NativeMethodsTestThread.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/except/except004.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/share/RandomValueGen.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/share/SimpleUnitTest.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/share/TestTypes.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/compiler/deoptimize/Test.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/compiler/i2c_c2i/Test.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/ClassFileGenerator.java Changeset: dbc35f60 Author: Alexey Ivanov Date: 2021-02-08 14:31:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/dbc35f60 8261094: Open javax/swing/text/html/CSS/4765271/bug4765271.java Reviewed-by: serb, psadhukhan, kizune + test/jdk/javax/swing/text/html/CSS/4765271/bug4765271.java Changeset: 48c932e1 Author: Matthias Perktold <7334069+mperktold at users.noreply.github.com> Committer: Alexey Ivanov Date: 2021-02-08 14:32:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/48c932e1 8231286: HTML font size too large with high-DPI scaling and W3C_LENGTH_UNITS Reviewed-by: aivanov, psadhukhan ! src/java.desktop/share/classes/javax/swing/JEditorPane.java ! src/java.desktop/share/classes/javax/swing/text/html/CSS.java + test/jdk/javax/swing/text/html/CSS/8231286/HtmlFontSizeTest.java Changeset: 29a428f5 Author: Igor Veresov Date: 2021-02-08 17:08:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/29a428f5 8261229: MethodData is not correctly initialized with TieredStopAtLevel=3 Reviewed-by: thartmann ! src/hotspot/share/compiler/compilerDefinitions.cpp Changeset: d6d5d9bf Author: Dmitry Markov Date: 2021-02-08 17:09:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d6d5d9bf 8261231: Windows IME was disabled after DnD operation Reviewed-by: kizune, serb ! src/java.desktop/windows/native/libawt/windows/awt_Toolkit.cpp Changeset: 351d7888 Author: Martin Buchholz Date: 2021-02-08 18:09:59 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/351d7888 8259074: regex benchmarks and tests Reviewed-by: redestad ! test/jdk/java/util/regex/TestCases.txt ! test/micro/org/openjdk/bench/java/lang/ArrayFiddle.java + test/micro/org/openjdk/bench/java/util/regex/Exponential.java + test/micro/org/openjdk/bench/java/util/regex/Primality.java + test/micro/org/openjdk/bench/java/util/regex/Trim.java Changeset: 92c6e6df Author: Claes Redestad Date: 2021-02-08 18:45:43 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/92c6e6df 8261254: Initialize charset mapping data lazily Reviewed-by: alanb, jkuhn, naoto ! make/data/charsetmapping/DoubleByte-X.java.template ! make/data/charsetmapping/SingleByte-X.java.template ! src/java.base/share/classes/java/lang/ModuleLayer.java ! src/jdk.charsets/share/classes/sun/nio/cs/ext/AbstractCharsetProvider.java ! src/jdk.charsets/share/classes/sun/nio/cs/ext/Big5_HKSCS.java.template ! src/jdk.charsets/share/classes/sun/nio/cs/ext/Big5_HKSCS_2001.java ! src/jdk.charsets/share/classes/sun/nio/cs/ext/Big5_Solaris.java.template ! src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM29626C.java.template ! src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM834.java.template ! src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM942C.java.template ! src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM943C.java.template ! src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM949C.java.template ! src/jdk.charsets/share/classes/sun/nio/cs/ext/ISO2022_CN_CNS.java ! src/jdk.charsets/share/classes/sun/nio/cs/ext/ISO2022_CN_GB.java ! src/jdk.charsets/share/classes/sun/nio/cs/ext/ISO2022_KR.java ! src/jdk.charsets/share/classes/sun/nio/cs/ext/MS50220.java ! src/jdk.charsets/share/classes/sun/nio/cs/ext/MS932_0213.java ! src/jdk.charsets/share/classes/sun/nio/cs/ext/MS950_HKSCS.java.template ! src/jdk.charsets/share/classes/sun/nio/cs/ext/MS950_HKSCS_XP.java.template ! src/jdk.charsets/share/classes/sun/nio/cs/ext/MSISO2022JP.java ! src/jdk.charsets/share/classes/sun/nio/cs/ext/SJIS_0213.java Changeset: 20d7713c Author: Thomas Stuefe Date: 2021-02-08 18:46:18 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/20d7713c 8261334: NMT: tuning statistic shows incorrect hash distribution Reviewed-by: zgu, shade ! src/hotspot/share/services/memTracker.cpp Changeset: ab65d53e Author: Erik Joelsson Date: 2021-02-08 19:23:46 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ab65d53e 8261261: The version extra fields needs to be overridable in jib-profiles.js Reviewed-by: ihse ! make/conf/jib-profiles.js Changeset: ace8f946 Author: Coleen Phillimore Date: 2021-02-08 21:31:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ace8f946 8195744: Avoid calling ClassLoader.checkPackageAccess if security manager is not installed Reviewed-by: dholmes, iklam ! src/hotspot/share/classfile/dictionary.cpp ! src/hotspot/share/classfile/dictionary.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/protectionDomainCache.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/runtime/logging/ProtectionDomainVerificationTest.java Changeset: 2fd8ed02 Author: Joe Darcy Date: 2021-02-08 21:50:55 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2fd8ed02 8240632: Note differences between IEEE 754-2019 math lib special cases and java.lang.Math Reviewed-by: bpb ! src/java.base/share/classes/java/lang/Math.java ! src/java.base/share/classes/java/lang/StrictMath.java ! test/jdk/java/lang/Math/ExpCornerCaseTests.java ! test/jdk/java/lang/Math/HypotTests.java + test/jdk/java/lang/Math/Ieee754SpecialCaseTests.java Changeset: ad525bcd Author: Alexey Semenyuk Date: 2021-02-08 22:05:02 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ad525bcd 8261281: Linking jdk.jpackage fails for linux aarch32 builds after 8254702 Reviewed-by: erikj ! make/modules/jdk.jpackage/Lib.gmk Changeset: 74519628 Author: Brian Burkhalter Date: 2021-02-08 22:18:00 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/74519628 8129776: The optimized Stream returned from Files.lines should unmap the mapped byte buffer (if created) when closed Reviewed-by: rriggs, psandoz, alanb ! src/java.base/share/classes/java/nio/MappedByteBuffer.java ! src/java.base/share/classes/java/nio/file/FileChannelLinesSpliterator.java ! src/java.base/share/classes/java/nio/file/Files.java Changeset: f03e839e Author: David Holmes Date: 2021-02-08 23:16:47 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f03e839e 8261127: Cleanup THREAD/TRAPS/CHECK usage in CDS code Reviewed-by: iklam, coleenp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/stringTable.hpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/memory/heapShared.cpp ! src/hotspot/share/memory/heapShared.hpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/constantPool.hpp Changeset: 5d8204b1 Author: Sergey Bylokhov Date: 2021-02-09 00:01:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5d8204b1 8261368: The new TestNullSetColor test is placed in the wrong group Reviewed-by: kizune = test/jdk/java/awt/Graphics/TestNullSetColor.java Changeset: 5183d8ae Author: Nick Gasson Date: 2021-02-09 01:49:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5183d8ae 8260355: AArch64: deoptimization stub should save vector registers Reviewed-by: vlivanov, aph + src/hotspot/cpu/aarch64/registerMap_aarch64.cpp ! src/hotspot/cpu/aarch64/registerMap_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/vmreg_aarch64.hpp ! src/hotspot/cpu/arm/registerMap_arm.hpp ! src/hotspot/cpu/ppc/registerMap_ppc.hpp ! src/hotspot/cpu/s390/registerMap_s390.hpp ! src/hotspot/cpu/x86/registerMap_x86.cpp ! src/hotspot/cpu/x86/registerMap_x86.hpp ! src/hotspot/cpu/zero/registerMap_zero.hpp ! src/hotspot/share/prims/vectorSupport.cpp ! src/hotspot/share/runtime/registerMap.hpp Changeset: 8ebed284 Author: Matthias Baesken Date: 2021-02-09 11:18:49 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8ebed284 8261237: remove isClassPathAttributePresent method Reviewed-by: shade, clanger, redestad, alanb ! src/java.base/share/classes/jdk/internal/vm/VMSupport.java Changeset: b0e7e5ab Author: Hannes Walln?fer Date: 2021-02-09 13:07:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b0e7e5ab 8261263: Simplify javadoc link code Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/LinkFactoryImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/LinkInfoImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/NestedClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PropertyWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/links/LinkFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/links/LinkInfo.java Changeset: b38d5be8 Author: Harold Seigel Date: 2021-02-09 13:16:26 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b38d5be8 8261340: Fix 'deprecated' warnings in the vmTestbase/nsk tests Reviewed-by: lfoltan, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/share/IORedirector.java ! test/hotspot/jtreg/vmTestbase/nsk/share/Log.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdi/Binder.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jpda/DebugeeProcess.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jpda/IOPipe.java Changeset: 906facab Author: Quaffel Committer: Martin Doerr Date: 2021-02-09 14:24:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/906facab 8260372: [PPC64] Add support for JDK-8210498 and JDK-8222841 Reviewed-by: mdoerr, goetz ! src/hotspot/cpu/ppc/c1_MacroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.hpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetNMethod_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/ppc/stubRoutines_ppc.hpp ! src/hotspot/cpu/ppc/stubRoutines_ppc_64.cpp Changeset: f0bd9db5 Author: Markus Gr?nlund Date: 2021-02-09 15:16:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f0bd9db5 8257569: Failure observed with JfrVirtualMemory::initialize Reviewed-by: egahlin, poonam ! src/hotspot/share/jfr/recorder/storage/jfrVirtualMemory.cpp Changeset: 2f893c2b Author: Claes Redestad Date: 2021-02-09 15:32:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2f893c2b 8260337: Optimize ImageReader lookup, used by Class.getResource Reviewed-by: jlaskey, sundar ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java ! src/java.base/share/classes/jdk/internal/jimage/ImageLocation.java ! src/java.base/share/classes/jdk/internal/jimage/ImageReader.java ! src/java.base/share/classes/jdk/internal/jimage/ImageStrings.java ! src/java.base/share/classes/jdk/internal/jimage/ImageStringsReader.java ! src/java.base/share/classes/jdk/internal/module/SystemModuleFinders.java + test/micro/org/openjdk/bench/java/lang/ClassGetResource.java Changeset: edd5fc88 Author: Ian Graves Committer: Alan Bateman Date: 2021-02-09 15:42:59 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/edd5fc88 8261096: Convert jlink tool to use Stream.toList() Reviewed-by: alanb, smarks ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageFileCreator.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImagePluginStack.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/TaskHelper.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/Utils.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/ExcludeVMPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/StringSharingPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java Changeset: 8f4c15f6 Author: Attila Szegedi Date: 2021-02-09 16:06:49 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8f4c15f6 8198540: Dynalink leaks memory when generating type converters Reviewed-by: plevart, hannesw + src/jdk.dynalink/share/classes/jdk/dynalink/BiClassValue.java - src/jdk.dynalink/share/classes/jdk/dynalink/ClassMap.java ! src/jdk.dynalink/share/classes/jdk/dynalink/TypeConverterFactory.java + test/jdk/jdk/dynalink/TypeConverterFactoryMemoryLeakTest.java + test/jdk/jdk/dynalink/TypeConverterFactoryRetentionTests.java Changeset: f395ee0c Author: Brian Burkhalter Date: 2021-02-09 16:43:36 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f395ee0c 8261306: ServiceLoader documentation has malformed Unicode escape Reviewed-by: lancea, iris, naoto ! src/java.base/share/classes/java/util/ServiceLoader.java Changeset: becee643 Author: Naoto Sato Date: 2021-02-09 17:09:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/becee643 8261279: sun/util/resources/cldr/TimeZoneNamesTest.java timed out Reviewed-by: bpb, lancea, joehw ! test/jdk/sun/util/resources/cldr/TimeZoneNamesTest.java Changeset: a00b1305 Author: Albert Mingkun Yang Committer: Stefan Johansson Date: 2021-02-09 17:38:59 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a00b1305 8261356: Clean up enum G1Mark Reviewed-by: sjohanss, tschatzl ! src/hotspot/share/gc/g1/g1OopClosures.hpp ! src/hotspot/share/gc/g1/g1OopClosures.inline.hpp ! src/hotspot/share/gc/g1/g1RootClosures.cpp ! src/hotspot/share/gc/g1/g1SharedClosures.hpp Changeset: 01d92808 Author: Aleksey Shipilev Date: 2021-02-09 17:46:18 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/01d92808 8261299: Use-after-free on failure path in LinuxPackage.c, getJvmLauncherLibPath Reviewed-by: stuefe, herrick ! src/jdk.jpackage/linux/native/applauncher/LinuxPackage.c Changeset: 7c565f8b Author: Joe Wang Date: 2021-02-09 17:50:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7c565f8b 8261209: isStandalone property: remove dependency on pretty-print Reviewed-by: lancea, naoto ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToXMLStream.java ! src/java.xml/share/classes/module-info.java ! test/jaxp/javax/xml/jaxp/unittest/common/prettyprint/PrettyPrintTest.java Changeset: ef7ee3f4 Author: Rajan Halade Date: 2021-02-09 17:56:35 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ef7ee3f4 8225081: Remove Telia Company CA certificate expiring in April 2021 Reviewed-by: mullan - make/data/cacerts/soneraclass2ca ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: 05c6009e Author: Erik Joelsson Date: 2021-02-09 19:08:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/05c6009e 8259656: fixpath.sh changes broke _NT_SYMBOL_PATH in RunTests.gmk Reviewed-by: tbell, ihse ! make/RunTestsPrebuilt.gmk Changeset: 699a3cde Author: Alexey Semenyuk Date: 2021-02-09 22:20:43 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/699a3cde 8223188: Removed unnecessary #ifdef __cplusplus from .cpp sources Reviewed-by: herrick, almatvee, iklam ! src/jdk.jpackage/windows/native/libjpackage/WindowsRegistry.cpp ! src/jdk.jpackage/windows/native/libjpackage/jpackage.cpp Changeset: 4619f372 Author: Weijun Wang Date: 2021-02-10 01:59:41 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4619f372 8261472: BasicConstraintsExtension::toString shows "PathLen:2147483647" if there is no pathLenConstraint Reviewed-by: jnimeh ! src/java.base/share/classes/sun/security/x509/BasicConstraintsExtension.java Changeset: 3af334a5 Author: Prasanta Sadhukhan Date: 2021-02-10 07:22:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3af334a5 6211257: BasicStroke.createStrokedShape(Shape): NPE is not specified Reviewed-by: serb, prr, aivanov ! src/java.desktop/share/classes/java/awt/BasicStroke.java + test/jdk/java/awt/BasicStroke/TestNullShape.java Changeset: 752f92bc Author: Prasanta Sadhukhan Date: 2021-02-10 07:24:29 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/752f92bc 6211242: AreaAveragingScaleFilter(int, int): IAE is not specified Reviewed-by: azvegint, trebari, serb ! src/java.desktop/share/classes/java/awt/image/AreaAveragingScaleFilter.java + test/jdk/java/awt/image/TestNullAASF.java Changeset: ad54d8dd Author: Aleksey Shipilev Date: 2021-02-10 07:32:53 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ad54d8dd 8260934: java/lang/StringBuilder/HugeCapacity.java fails without Compact Strings Reviewed-by: iklam ! test/jdk/java/lang/StringBuilder/HugeCapacity.java Changeset: a3d6e371 Author: Thomas Stuefe Date: 2021-02-10 07:46:17 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a3d6e371 8261302: NMT: Improve malloc site table hashing Reviewed-by: zgu, lucy ! src/hotspot/share/utilities/nativeCallStack.cpp ! src/hotspot/share/utilities/nativeCallStack.hpp Changeset: 52fc01b3 Author: Coleen Phillimore Date: 2021-02-10 12:33:47 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/52fc01b3 8261268: LOAD_INSTANCE placeholders unneeded for parallelCapable class loaders Reviewed-by: dholmes, iklam ! src/hotspot/share/classfile/placeholders.cpp ! src/hotspot/share/classfile/placeholders.hpp ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: a7726390 Author: Aleksey Shipilev Date: 2021-02-10 15:08:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a7726390 8261298: LinuxPackage.c, getJvmLauncherLibPath RPM->DEB typo Reviewed-by: asemenyuk, almatvee, herrick ! src/jdk.jpackage/linux/native/applauncher/LinuxPackage.c Changeset: 4caeb39f Author: Phil Race Date: 2021-02-10 16:33:56 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4caeb39f 8260380: Upgrade to LittleCMS 2.12 Reviewed-by: jdv, serb ! src/java.desktop/share/legal/lcms.md ! src/java.desktop/share/native/liblcms/cmsalpha.c ! src/java.desktop/share/native/liblcms/cmscgats.c ! src/java.desktop/share/native/liblcms/cmscnvrt.c ! src/java.desktop/share/native/liblcms/cmsgamma.c ! src/java.desktop/share/native/liblcms/cmsintrp.c ! src/java.desktop/share/native/liblcms/cmsio0.c ! src/java.desktop/share/native/liblcms/cmslut.c ! src/java.desktop/share/native/liblcms/cmsnamed.c ! src/java.desktop/share/native/liblcms/cmsopt.c ! src/java.desktop/share/native/liblcms/cmspack.c ! src/java.desktop/share/native/liblcms/cmspcs.c ! src/java.desktop/share/native/liblcms/cmsplugin.c ! src/java.desktop/share/native/liblcms/cmsps2.c ! src/java.desktop/share/native/liblcms/cmssamp.c ! src/java.desktop/share/native/liblcms/cmstypes.c ! src/java.desktop/share/native/liblcms/cmsxform.c ! src/java.desktop/share/native/liblcms/lcms2.h ! src/java.desktop/share/native/liblcms/lcms2_internal.h ! src/java.desktop/share/native/liblcms/lcms2_plugin.h Changeset: 40754f12 Author: Prasanta Sadhukhan Date: 2021-02-10 17:26:28 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/40754f12 4841153: java.awt.geom.Rectangle2D.add(double,double) documented incorrectly Reviewed-by: prr ! src/java.desktop/share/classes/java/awt/geom/Rectangle2D.java Changeset: cc5691c6 Author: Alex Menkov Date: 2021-02-10 22:17:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/cc5691c6 8248162: serviceability/attach/RemovingUnixDomainSocketTest.java failed Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/serviceability/sa/ClhsdbJstackXcompStress.java ! test/hotspot/jtreg/serviceability/sa/JhsdbThreadInfoTest.java ! test/hotspot/jtreg/serviceability/sa/TestJhsdbJstackLock.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/DebugdConnectTest.java ! test/jdk/sun/tools/jcmd/TestJcmdDefaults.java ! test/jdk/sun/tools/jcmd/TestJcmdSanity.java Changeset: 447db627 Author: Sergey Bylokhov Date: 2021-02-10 23:57:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/447db627 6211198: ICC_Profile.getInstance(byte[]): IAE is not specified Reviewed-by: prr, pbansal ! src/java.desktop/share/classes/java/awt/color/ICC_Profile.java + test/jdk/java/awt/color/GetInstanceBrokenData.java ! test/jdk/java/awt/color/GetInstanceNullData.java Changeset: adca84cc Author: Ioi Lam Date: 2021-02-11 05:11:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/adca84cc 8260341: CDS dump VM init code does not check exceptions Reviewed-by: coleenp, hseigel ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/classLoaderExt.hpp ! src/hotspot/share/classfile/klassFactory.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/filemap.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/runtime/thread.cpp Changeset: 837bd893 Author: Thomas Stuefe Date: 2021-02-11 05:31:11 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/837bd893 8261548: ProblemList runtime/NMT/CheckForProperDetailStackTrace.java Reviewed-by: jwilhelm ! test/hotspot/jtreg/ProblemList.txt Changeset: 49cf13d2 Author: Aleksey Shipilev Date: 2021-02-11 08:53:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/49cf13d2 8261449: Micro-optimize JVM_LatestUserDefinedLoader Reviewed-by: dholmes, stuefe, alanb ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/vframe.cpp ! src/hotspot/share/runtime/vframe.hpp Changeset: 16623734 Author: Patrick Concannon Date: 2021-02-11 10:00:31 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/16623734 8235139: Deprecate the socket impl factory mechanism Reviewed-by: dfuchs, alanb, chegar ! 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: 3ede231d Author: Vladimir Ivanov Date: 2021-02-11 10:16:09 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3ede231d 8259430: C2: assert(in_vt->length() == out_vt->length()) failed: mismatch on number of elements Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/vectornode.cpp ! test/jdk/ProblemList-Xcomp.txt Changeset: a9c36805 Author: Vladimir Ivanov Date: 2021-02-11 10:16:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a9c36805 8261250: Dependencies: Remove unused dependency types Reviewed-by: kvn, thartmann ! src/hotspot/share/code/dependencies.cpp ! src/hotspot/share/code/dependencies.hpp Changeset: 5e1b8092 Author: Claes Redestad Date: 2021-02-11 10:41:59 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5e1b8092 8261444: Remove unused fields in Lower Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java Changeset: 8b6ab31d Author: Claes Redestad Date: 2021-02-11 10:43:56 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8b6ab31d 8261418: Reduce decoder creation overheads for sun.nio.cs.ext Charsets Reviewed-by: naoto ! src/jdk.charsets/share/classes/sun/nio/cs/ext/EUC_JP.java.template ! src/jdk.charsets/share/classes/sun/nio/cs/ext/EUC_TW.java.template ! src/jdk.charsets/share/classes/sun/nio/cs/ext/GB18030.java.template ! src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM29626C.java.template ! src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM33722.java ! src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM964.java.template ! src/jdk.charsets/share/classes/sun/nio/cs/ext/ISCII91.java ! src/jdk.charsets/share/classes/sun/nio/cs/ext/ISO2022.java ! src/jdk.charsets/share/classes/sun/nio/cs/ext/ISO2022_CN.java ! src/jdk.charsets/share/classes/sun/nio/cs/ext/ISO2022_CN_CNS.java ! src/jdk.charsets/share/classes/sun/nio/cs/ext/ISO2022_CN_GB.java ! src/jdk.charsets/share/classes/sun/nio/cs/ext/ISO2022_JP.java ! src/jdk.charsets/share/classes/sun/nio/cs/ext/ISO2022_KR.java ! src/jdk.charsets/share/classes/sun/nio/cs/ext/SimpleEUCEncoder.java.template ! test/micro/org/openjdk/bench/java/lang/StringDecode.java Changeset: 9fed6048 Author: Aleksey Shipilev Date: 2021-02-11 11:57:45 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9fed6048 8261300: jpackage: rewrite while(0)/while(false) to proper blocks Reviewed-by: herrick, asemenyuk, almatvee ! src/jdk.jpackage/share/native/applauncher/JvmLauncher.cpp ! src/jdk.jpackage/share/native/common/tstrings.cpp Changeset: 0a89987a Author: Christian Hagedorn Date: 2021-02-11 13:00:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0a89987a 8240281: Remove failing assertion code when selecting first memory state in SuperWord::co_locate_pack Reviewed-by: roland, kvn, thartmann ! src/hotspot/share/opto/superword.cpp + test/hotspot/jtreg/compiler/loopopts/superword/TestPickFirstMemoryState.java Changeset: eef86a80 Author: Stefan Johansson Date: 2021-02-11 13:10:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/eef86a80 8261029: Code heap page sizes not traced correctly using os::trace_page_sizes Reviewed-by: kvn, stuefe, thartmann ! src/hotspot/share/memory/heap.cpp Changeset: 4a72cea0 Author: Zhengyu Gu Date: 2021-02-11 14:02:24 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4a72cea0 8261509: Move per-thread StackWatermark from Thread to JavaThread class Reviewed-by: eosterlund ! src/hotspot/share/runtime/thread.hpp Changeset: c342323c Author: Yasumasa Suenaga Date: 2021-02-11 14:58:03 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c342323c 8261431: SA: Add comments about load address of executable Reviewed-by: sspitsyn, kevinw ! src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c Changeset: 1740de2a Author: Thomas Stuefe Date: 2021-02-11 14:58:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1740de2a 8261297: NMT: Final report should use scale 1 Reviewed-by: zgu ! src/hotspot/share/services/memReporter.hpp ! src/hotspot/share/services/memTracker.cpp ! src/hotspot/share/services/memTracker.hpp Changeset: 75c8489c Author: Daniel D. Daugherty Date: 2021-02-11 18:10:42 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/75c8489c 8261604: ProblemList jdk/dynalink/TypeConverterFactoryMemoryLeakTest.java Reviewed-by: hseigel ! test/jdk/ProblemList.txt Changeset: f4cfd758 Author: John Jiang Date: 2021-02-11 18:25:31 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f4cfd758 8261510: Use RFC numbers and protocol titles in sun.security.ssl.SSLExtension comments Reviewed-by: wetmore, xuelei ! src/java.base/share/classes/sun/security/ssl/SSLExtension.java Changeset: bf47a479 Author: Sergey Bylokhov Date: 2021-02-11 22:05:12 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bf47a479 8261282: Lazy initialization of built-in ICC_Profile/ColorSpace classes is too lazy Reviewed-by: azvegint ! src/java.desktop/share/classes/java/awt/color/ColorSpace.java ! src/java.desktop/share/classes/java/awt/color/ICC_Profile.java ! src/java.desktop/share/classes/java/awt/image/ColorModel.java ! src/java.desktop/share/classes/sun/java2d/cmm/CMSManager.java + test/jdk/java/awt/color/BuiltInDataVariation.java + test/jdk/java/awt/color/HotStaticLocks.java Changeset: 60a2072a Author: Alex Menkov Date: 2021-02-11 23:31:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/60a2072a 8260431: com/sun/jdi/JdbOptions.java failed with "RuntimeException: 'prop[boo] = >foo<' missing from stdout/stderr" Reviewed-by: sspitsyn, cjplummer ! test/jdk/com/sun/jdi/JdbOptions.java Changeset: 92ff8918 Author: Matthias Baesken Date: 2021-02-12 07:50:28 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/92ff8918 8261593: Do not use NULL pointer as write buffer parameter in jfrEmergencyDump.cpp write_repository_files Reviewed-by: stuefe, mgronlun ! src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.cpp Changeset: 6a84ec68 Author: Kim Barrett Date: 2021-02-12 08:19:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6a84ec68 8260044: Parallel GC: Concurrent allocation after heap expansion may cause unnecessary full gc 8260045: Parallel GC: Waiting on ExpandHeap_lock may cause "expansion storm" Loop to retry allocation if expand succeeds. Treat space available after obtaining expand lock as expand success. Reviewed-by: tschatzl, iwalulya, sjohanss ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/mutableSpace.hpp ! src/hotspot/share/gc/parallel/psOldGen.cpp ! src/hotspot/share/gc/parallel/psOldGen.hpp Changeset: 0779adde Author: Hannes Walln?fer Date: 2021-02-12 08:27:52 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0779adde 8255059: Regressions >5% in all Javadoc benchmarks in 16-b19 Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/releases/element-list-10.txt + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/releases/element-list-9.txt - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/releases/package-list-9.txt ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Extern.java Changeset: da9895a0 Author: Hannes Walln?fer Date: 2021-02-12 08:32:47 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/da9895a0 8261499: Simplify HTML for javadoc links Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkFactory.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkInfo.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialFieldWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/NestedClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PropertyWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Links.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/links/LinkInfo.java ! test/langtools/jdk/javadoc/doclet/testAnchorNames/TestAnchorNames.java ! test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java ! test/langtools/jdk/javadoc/doclet/testClassLinks/TestClassLinks.java ! test/langtools/jdk/javadoc/doclet/testClassTree/TestClassTree.java ! test/langtools/jdk/javadoc/doclet/testConstructors/TestConstructors.java ! test/langtools/jdk/javadoc/doclet/testEnumConstructor/TestEnumConstructor.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java ! test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java ! test/langtools/jdk/javadoc/doclet/testIndexInPackageFiles/TestIndexInPackageFiles.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testLinksWithNoDeprecatedOption/TestLinksWithNoDeprecatedOption.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testOrdering/TestOrdering.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testProperty/TestProperty.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java ! test/langtools/jdk/javadoc/doclet/testTypeAnnotations/TestTypeAnnotations.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/TestTypeParameters.java ! test/langtools/jdk/javadoc/doclet/testUseOption/TestUseOption.java Changeset: 9c0ec8d8 Author: Thomas Schatzl Date: 2021-02-12 08:41:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9c0ec8d8 8260941: Remove the conc_scan parameter for CardTable Reviewed-by: ayang, kbarrett ! src/hotspot/cpu/aarch64/gc/shared/cardTableBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp ! src/hotspot/cpu/arm/gc/shared/cardTableBarrierSetAssembler_arm.cpp ! src/hotspot/cpu/ppc/gc/shared/cardTableBarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/x86/gc/shared/cardTableBarrierSetAssembler_x86.cpp ! src/hotspot/share/gc/g1/g1BarrierSet.hpp ! src/hotspot/share/gc/g1/g1CardTable.hpp ! src/hotspot/share/gc/parallel/psCardTable.hpp ! src/hotspot/share/gc/shared/c1/cardTableBarrierSetC1.cpp ! src/hotspot/share/gc/shared/c2/cardTableBarrierSetC2.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/gc/shared/cardTable.hpp ! src/hotspot/share/gc/shared/cardTableBarrierSet.cpp ! src/hotspot/share/gc/shared/cardTableBarrierSet.inline.hpp ! src/hotspot/share/gc/shared/cardTableRS.cpp ! src/hotspot/share/gc/shared/cardTableRS.hpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp Changeset: 3210095a Author: Hannes Walln?fer Date: 2021-02-12 09:26:42 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3210095a 8261079: Fix support for @hidden in classes and interfaces Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PropertyWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MemberSummaryBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/SerializedFormBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java ! test/langtools/jdk/javadoc/doclet/testHiddenTag/TestHiddenTag.java ! test/langtools/jdk/javadoc/doclet/testHiddenTag/pkg1/A.java + test/langtools/jdk/javadoc/doclet/testHiddenTag/pkg1/Child.java + test/langtools/jdk/javadoc/doclet/testHiddenTag/pkg1/Intf.java + test/langtools/jdk/javadoc/doclet/testHiddenTag/pkg1/InvisibleParent.java + test/langtools/jdk/javadoc/doclet/testHiddenTag/pkg2/UndocumentedParent.java Changeset: ebaa58d9 Author: Christoph G?ttschkes Committer: Stefan Johansson Date: 2021-02-12 09:41:49 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/ebaa58d9 8261505: Test test/hotspot/jtreg/gc/parallel/TestDynShrinkHeap.java killed by Linux OOM Killer Reviewed-by: sjohanss, tschatzl ! test/hotspot/jtreg/gc/parallel/TestDynShrinkHeap.java Changeset: 682e78e8 Author: Anton Kozlov Committer: Vladimir Kempik Date: 2021-02-12 10:27:47 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/682e78e8 8261071: AArch64: Refactor interpreter native wrappers Reviewed-by: aph ! src/hotspot/cpu/aarch64/interpreterRT_aarch64.cpp ! src/hotspot/cpu/aarch64/interpreterRT_aarch64.hpp Changeset: 9ffabf30 Author: Michael McMahon Date: 2021-02-12 13:08:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9ffabf30 8252971: WindowsFileAttributes does not know about Unix domain sockets Reviewed-by: alanb ! src/java.base/windows/classes/sun/nio/fs/WindowsConstants.java ! src/java.base/windows/classes/sun/nio/fs/WindowsFileAttributes.java ! src/java.base/windows/classes/sun/nio/fs/WindowsFileCopy.java ! src/java.base/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java ! src/java.base/windows/classes/sun/nio/fs/WindowsPath.java ! src/java.base/windows/native/libjava/WinNTFileSystem_md.c ! src/java.base/windows/native/libnio/ch/UnixDomainSockets.c + test/jdk/java/nio/channels/unixdomain/FileAttributes.java ! test/jdk/java/nio/channels/unixdomain/Security.java ! test/jdk/java/nio/channels/unixdomain/policy3 Changeset: 40ae9937 Author: Andrew Haley Date: 2021-02-12 13:12:02 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/40ae9937 8261027: AArch64: Support for LSE atomics C++ HotSpot code Reviewed-by: adinn, simonis + src/hotspot/cpu/aarch64/atomic_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp + src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.S ! src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp Changeset: 9f81ca81 Author: Stefan Johansson Date: 2021-02-12 14:56:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9f81ca81 8261230: GC tracing of page sizes are wrong in a few places Reviewed-by: ayang, stuefe ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/parallel/parMarkBitMap.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! test/hotspot/jtreg/gc/g1/TestLargePageUseForAuxMemory.java Changeset: 59b8d595 Author: Weijun Wang Date: 2021-02-12 14:57:01 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/59b8d595 8261481: Cannot read Kerberos settings in dynamic store on macOS Big Sur Reviewed-by: mullan ! src/java.security.jgss/share/classes/sun/security/krb5/Config.java Changeset: b670efd8 Author: Anton Kozlov Committer: Vladimir Kempik Date: 2021-02-12 15:11:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/b670efd8 8261072: AArch64: Fix MacroAssembler::get_thread convention Reviewed-by: burban, aph ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Changeset: c0e805a4 Author: Hannes Walln?fer Date: 2021-02-12 15:44:15 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c0e805a4 8261654: Missing license header in Signatures.java Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java Changeset: 6475d477 Author: Martin Doerr Date: 2021-02-12 15:46:37 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6475d477 8261655: [PPC64] Build broken after JDK-8260941 Reviewed-by: shade, clanger ! src/hotspot/cpu/ppc/gc/shared/cardTableBarrierSetAssembler_ppc.cpp Changeset: 350303d4 Author: Ian Graves Committer: Stuart Marks Date: 2021-02-12 16:06:39 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/350303d4 8260221: java.util.Formatter throws wrong exception for mismatched flags in %% conversion Reviewed-by: smarks ! src/java.base/share/classes/java/util/Formatter.java Changeset: 3aa1b4c7 Author: Jonathan Gibbons Date: 2021-02-12 16:16:44 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3aa1b4c7 8261623: reference to javac internals in Extern class Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Extern.java Changeset: 33fcd325 Author: Daniel D. Daugherty Date: 2021-02-12 16:17:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/33fcd325 8261659: JDK-8261027 causes a Tier1 validate-source failure Reviewed-by: iignatyev, bpb ! src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.S Changeset: 66757750 Author: Roger Riggs Date: 2021-02-12 16:42:13 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/66757750 8253702: BigSur version number reported as 10.16, should be 11.nn Reviewed-by: bpb, kcr ! src/java.base/macosx/native/libjava/java_props_macosx.c Changeset: 28163a9e Author: Vladimir Kempik Date: 2021-02-12 17:10:21 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/28163a9e 8261652: Remove some dead comments from os_bsd_x86 Reviewed-by: dcubed ! src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp Changeset: a305743c Author: Andrew Haley Date: 2021-02-12 17:34:29 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/a305743c 8261660: AArch64: Race condition in stub code generation for LSE Atomics Reviewed-by: dcubed, adinn ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp Changeset: 3dc6f52a Author: Chris Hegarty Date: 2021-02-12 17:35:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3dc6f52a 8261160: Add a deserialization JFR event Co-authored-by: Sean Coffey Co-authored-by: Chris Hegarty Reviewed-by: coffeys, rriggs, dfuchs, egahlin ! src/java.base/share/classes/java/io/ObjectInputStream.java + src/java.base/share/classes/jdk/internal/event/DeserializationEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/DeserializationEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc ! test/jdk/java/io/Serializable/serialFilter/GlobalFilterTest.java + test/jdk/jdk/jfr/event/io/TestDeserializationEvent.java ! test/jdk/jdk/jfr/event/metadata/TestDefaultConfigurations.java ! test/jdk/jdk/jfr/event/metadata/TestEventMetadata.java ! test/jdk/jdk/jfr/event/runtime/TestActiveSettingEvent.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: 06170b7c Author: Coleen Phillimore Date: 2021-02-12 17:45:47 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/06170b7c 8261662: Rename compute_loader_lock_object Reviewed-by: dcubed, stuefe ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp Changeset: f0d9829b Author: Phil Race Date: 2021-02-12 18:42:07 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/f0d9829b 8261533: Java_sun_font_CFont_getCascadeList leaks memory according to Xcode Reviewed-by: serb ! src/java.desktop/macosx/native/libawt_lwawt/font/AWTFont.m Changeset: dc46aa85 Author: Christoph Langer Date: 2021-02-12 20:58:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/dc46aa85 8261534: Test sun/security/pkcs11/KeyAgreement/IllegalPackageAccess.java fails on platforms where no nsslib artifacts are defined Reviewed-by: mbaesken ! test/jdk/sun/security/pkcs11/KeyAgreement/IllegalPackageAccess.java Changeset: e29c560a Author: Chris Plummer Date: 2021-02-12 22:01:43 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e29c560a 8247514: Improve clhsdb 'findpc' ability to determine what an address points to by improving PointerFinder and PointerLocation classes Reviewed-by: ysuenaga, kevinw ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Method.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/JavaThread.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PointerFinder.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PointerLocation.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbFindPC.java Changeset: 735757f1 Author: Daniel D. Daugherty Date: 2021-02-12 22:41:08 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/735757f1 8261661: gc/stress/TestReclaimStringsLeaksMemory.java fails because Reserved memory size is too big Co-authored-by: Albert Mingkun Yang Reviewed-by: ayang, kbarrett ! test/hotspot/jtreg/gc/stress/TestReclaimStringsLeaksMemory.java Changeset: 849390a1 Author: Jaikiran Pai Date: 2021-02-13 02:14:32 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/849390a1 8260401: StackOverflowError on open WindowsPreferences Reviewed-by: bpb ! src/java.prefs/windows/classes/java/util/prefs/WindowsPreferences.java Changeset: 95d73129 Author: Hui Shi Committer: Jie Fu Date: 2021-02-13 02:47:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/95d73129 8261585: Restore HandleArea used in Deoptimization::uncommon_trap Reviewed-by: coleenp, jiefu ! src/hotspot/share/runtime/deoptimization.cpp + test/hotspot/jtreg/compiler/uncommontrap/UncommonTrapLeak.java Changeset: 235da6aa Author: Ioi Lam Date: 2021-02-13 07:13:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/235da6aa 8261672: Reduce inclusion of classLoaderData.hpp Reviewed-by: lfoltan, coleenp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp ! src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp ! src/hotspot/os_cpu/bsd_zero/os_bsd_zero.cpp ! src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp ! src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp ! src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp ! src/hotspot/os_cpu/linux_s390/os_linux_s390.cpp ! src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp ! src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp ! src/hotspot/os_cpu/windows_aarch64/os_windows_aarch64.cpp ! src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp ! src/hotspot/share/asm/codeBuffer.cpp ! src/hotspot/share/ci/ciMethodData.cpp ! src/hotspot/share/classfile/javaAssertions.hpp ! src/hotspot/share/classfile/loaderConstraints.cpp ! src/hotspot/share/classfile/moduleEntry.cpp ! src/hotspot/share/classfile/moduleEntry.hpp ! src/hotspot/share/classfile/packageEntry.cpp ! src/hotspot/share/classfile/resolutionErrors.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/code/compiledIC.cpp ! src/hotspot/share/code/compiledMethod.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/compiler/compileTask.cpp ! src/hotspot/share/gc/g1/g1FullGCMarker.inline.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/gcVMOperations.cpp ! src/hotspot/share/gc/shared/genOopClosures.inline.hpp ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/jvmci/metadataHandles.cpp ! src/hotspot/share/memory/filemap.hpp ! src/hotspot/share/oops/compiledICHolder.hpp + src/hotspot/share/oops/compiledICHolder.inline.hpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/oops/klass.inline.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/oops/methodData.hpp ! src/hotspot/share/oops/objArrayKlass.hpp ! src/hotspot/share/oops/typeArrayKlass.hpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvmtiEnvBase.hpp ! src/hotspot/share/prims/jvmtiImpl.cpp ! src/hotspot/share/runtime/flags/jvmFlagAccess.cpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/services/attachListener.hpp ! src/hotspot/share/services/runtimeService.cpp ! src/hotspot/share/services/threadService.cpp Changeset: d9744f65 Author: Ioi Lam Date: 2021-02-15 06:37:39 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d9744f65 8261608: Move common CDS archive building code to archiveBuilder.cpp Reviewed-by: coleenp, ccheung ! src/hotspot/share/classfile/compactHashtable.cpp ! src/hotspot/share/classfile/compactHashtable.hpp ! src/hotspot/share/classfile/klassFactory.cpp ! src/hotspot/share/classfile/moduleEntry.cpp ! src/hotspot/share/classfile/packageEntry.cpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/memory/allocation.cpp ! src/hotspot/share/memory/archiveBuilder.cpp ! src/hotspot/share/memory/archiveBuilder.hpp ! src/hotspot/share/memory/archiveUtils.cpp ! src/hotspot/share/memory/archiveUtils.hpp ! src/hotspot/share/memory/arena.cpp ! src/hotspot/share/memory/cppVtables.cpp ! src/hotspot/share/memory/dumpAllocStats.cpp ! src/hotspot/share/memory/dumpAllocStats.hpp ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/heapShared.cpp ! src/hotspot/share/memory/metaspace/printMetaspaceInfoKlassClosure.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/memory/metaspaceShared.hpp - src/hotspot/share/memory/metaspaceShared.inline.hpp ! src/hotspot/share/oops/array.hpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/synchronizer.cpp ! test/hotspot/jtreg/runtime/cds/appcds/LotsOfClasses.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/DynamicLotsOfClasses.java Changeset: 7c931591 Author: Aleksey Shipilev Date: 2021-02-15 08:41:28 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7c931591 8261503: Shenandoah: reconsider verifier memory ordering Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: 4642730b Author: Aleksey Shipilev Date: 2021-02-15 08:42:28 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4642730b 8261496: Shenandoah: reconsider pacing updates memory ordering Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPacer.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPacer.inline.hpp Changeset: 745c0b91 Author: Aleksey Shipilev Date: 2021-02-15 08:43:05 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/745c0b91 8261493: Shenandoah: reconsider bitmap access memory ordering Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/shenandoahMarkBitMap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkBitMap.inline.hpp Changeset: df0897ea Author: Aleksey Shipilev Date: 2021-02-15 08:43:42 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/df0897ea 8261504: Shenandoah: reconsider ShenandoahJavaThreadsIterator::claim memory ordering Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp Changeset: c6eedda8 Author: Aleksey Shipilev Date: 2021-02-15 08:44:20 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c6eedda8 8261500: Shenandoah: reconsider region live data memory ordering Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp Changeset: 3882fda8 Author: Leo Korinth Date: 2021-02-15 08:52:47 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3882fda8 8260414: Remove unused set_single_threaded_mode() method in task executor Reviewed-by: kbarrett, ayang ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/referenceProcessor.hpp Changeset: 2e610f53 Author: Stanimir Stamenkov Committer: Alexey Ivanov Date: 2021-02-15 16:16:50 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2e610f53 8260687: Inherited font size is smaller than expected when using StyleSheet to add styles Co-authored-by: Alexey Ivanov Reviewed-by: psadhukhan, aivanov, kizune ! src/java.desktop/share/classes/javax/swing/text/html/StyleSheet.java + test/jdk/javax/swing/text/html/StyleSheet/8260687/BodyInheritedFontSize.java ! test/jdk/javax/swing/text/html/StyleSheet/TestWrongCSSFontSize.java Changeset: 849f4c0f Author: Pankaj Bansal Date: 2021-02-15 16:43:49 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/849f4c0f 8260291: The case instruction is not visible in dark mode Reviewed-by: trebari, aivanov ! test/jdk/javax/swing/JSpinner/TestJSpinnerPressUnpress.java Changeset: 6badd22e Author: Alexander Zuev Date: 2021-02-15 19:03:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6badd22e 8261351: Create implementation for NSAccessibilityRadioButton protocol Reviewed-by: pbansal ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/RadiobuttonAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/RadiobuttonAccessibility.m Changeset: c64797de Author: Roman Kennke Date: 2021-02-15 21:18:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c64797de Merge remote-tracking branch 'jdk-upstream/master' Changeset: 5077810c Author: Bernd Mathiske Committer: Roman Kennke Date: 2020-09-29 22:50:48 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/5077810c Add 'generational' as value choice for JVM option 'ShenandoahGCMode'. + src/hotspot/share/gc/shenandoah/mode/shenandoahGenerationalMode.cpp + src/hotspot/share/gc/shenandoah/mode/shenandoahGenerationalMode.hpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahMode.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 73a63881 Author: Bernd Mathiske Committer: Roman Kennke Date: 2020-11-16 13:32:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/73a63881 Card marking write barrier for generational mode. Reviewed-by: rkennke ! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahCardTable.cpp + src/hotspot/share/gc/shenandoah/shenandoahCardTable.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: 7e4a14c0 Author: Bernd Mathiske Committer: Roman Kennke Date: 2020-11-16 17:35:13 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/7e4a14c0 Generation labeling for regions and allocation requests. Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahAllocRequest.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Changeset: 6620f0eb Author: Bernd Mathiske Committer: Roman Kennke Date: 2020-11-18 10:03:10 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/6620f0eb Generation affiliation transitions for heap regions. Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahAllocRequest.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp + src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp + src/hotspot/share/gc/shenandoah/shenandoahGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Changeset: 2a74c02d Author: Roman Kennke Date: 2020-12-04 17:38:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2a74c02d Merge branch 'master' into genshen ! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.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/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.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/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: fe1fe0b1 Author: Bernd Mathiske Committer: Roman Kennke Date: 2020-12-09 15:43:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fe1fe0b1 Differentiate young generation marking. Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp - src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.hpp + src/hotspot/share/gc/shenandoah/shenandoahGlobalGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.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/shenandoahVMOperations.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.hpp + src/hotspot/share/gc/shenandoah/shenandoahYoungGeneration.hpp Changeset: 9358d48b Author: Bernd Mathiske Committer: Roman Kennke Date: 2020-12-14 15:42:03 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/9358d48b Marking and evacuation constrained to young gen in generational mode. Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp Changeset: 8a38a9ed Author: Kelvin Nilsen Committer: Roman Kennke Date: 2021-01-15 18:09:58 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8a38a9ed Scan remembered Reviewed-by: rkennke, zgu ! 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/shenandoahReferenceProcessor.hpp + src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.cpp + src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.hpp + src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp Changeset: 28fc3420 Author: Kelvin Nilsen Committer: Roman Kennke Date: 2021-02-04 08:44:41 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/28fc3420 Milestone 1 Reviewed-by: rkennke, adityam + genshen-docs/README.md + genshen-docs/design.summary.md + genshen-docs/glossary.md + genshen-docs/workplan.summary.md ! src/hotspot/share/gc/shared/gcConfiguration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! test/hotspot/jtreg/TEST.groups + test/hotspot/jtreg/gc/shenandoah/generational/TestCLIModeGenerational.java + test/hotspot/jtreg/gc/shenandoah/generational/TestSimpleGenerational.java Changeset: 8c42062c Author: William Kemper Date: 2021-02-11 08:26:55 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/8c42062c Merge commit 'ecd7e476f838' into github-genshen ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! test/hotspot/jtreg/TEST.groups ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! test/hotspot/jtreg/TEST.groups Changeset: 4f5a51f7 Author: William Kemper Date: 2021-02-11 08:52:46 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4f5a51f7 Merge commit '2c3ae19a20434' into github-genshen ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! test/hotspot/jtreg/TEST.groups ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! test/hotspot/jtreg/TEST.groups Changeset: d1cd554e Author: William Kemper Date: 2021-02-11 09:03:05 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d1cd554e Merge commit 'a372be4ba22' into github-genshen ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp Changeset: d34b2c57 Author: William Kemper Date: 2021-02-11 09:28:33 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d34b2c57 Merge commit 'f80c63b38035f6b6969cca08cfc534d0476105af' into github-genshen ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! test/hotspot/jtreg/TEST.groups ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! test/hotspot/jtreg/TEST.groups Changeset: 2ea01c3a Author: William Kemper Date: 2021-02-11 10:03:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/2ea01c3a Merge commit '77f6290995dc681c55301fd032f642057523094a' into github-genshen ! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/share/gc/shared/gcConfiguration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! test/hotspot/jtreg/TEST.groups ! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/share/gc/shared/gcConfiguration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! test/hotspot/jtreg/TEST.groups Changeset: 3e7af3f5 Author: William Kemper Date: 2021-02-11 10:25:04 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/3e7af3f5 Merge commit '3462f7a91898e242c0c02a5a797b58bb9e6e905b' into github-genshen ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! test/hotspot/jtreg/TEST.groups ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! test/hotspot/jtreg/TEST.groups Changeset: c7849898 Author: William Kemper Date: 2021-02-11 10:25:53 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c7849898 Fix includes after merging header changes ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.cpp ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.hpp Changeset: 686818a1 Author: William Kemper Date: 2021-02-11 10:34:57 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/686818a1 Merge commit 'da6bcf966a7751706f' into github-genshen ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp + src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.inline.hpp Changeset: 1d26b957 Author: William Kemper Date: 2021-02-11 15:00:53 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/1d26b957 Restore lost generation parameters after merge ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp Changeset: e19f6d61 Author: William Kemper Date: 2021-02-11 15:11:17 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e19f6d61 Merge commit '5940287b9fa494c' into github-genshen ! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! test/hotspot/jtreg/TEST.groups ! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! test/hotspot/jtreg/TEST.groups Changeset: bf013e2e Author: William Kemper Date: 2021-02-11 15:11:41 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bf013e2e Update reference to StoreValueBarrier flag ! src/hotspot/share/gc/shenandoah/mode/shenandoahGenerationalMode.cpp Changeset: 4c5a2eaf Author: William Kemper Date: 2021-02-11 15:56:22 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4c5a2eaf Merge commit '34eb8b344daabc9c52e7d9b575767dae1a3a2d51' into github-genshen (broken) ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp Changeset: fe871d5a Author: William Kemper Date: 2021-02-11 16:17:06 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/fe871d5a Pass generation through ShenandoahConcurrentGC (fixes merge) ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp Changeset: d0e5ec8d Author: William Kemper Date: 2021-02-11 16:35:31 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/d0e5ec8d Merge commit '6c4c96fadfd832337a93eb7c35ec74d57623c99d' into github-genshen ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp Changeset: 76a24438 Author: William Kemper Date: 2021-02-11 17:18:25 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/76a24438 Merge commit 'bd2744dd427a8e06bad58b8f2160ae026fe929c6' into github-genshen ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.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/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.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/shenandoahSTWMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp ! test/hotspot/jtreg/TEST.groups ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.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/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.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/shenandoahSTWMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp ! test/hotspot/jtreg/TEST.groups Changeset: 0e47c8fe Author: William Kemper Date: 2021-02-11 17:18:40 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/0e47c8fe Fix merge fallout ! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp Changeset: 4d96e558 Author: William Kemper Date: 2021-02-12 09:02:49 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4d96e558 Merge commit 'e963ebd721c3abd0a75e478b4bf245256c0bde7a' into github-genshen ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.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/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp = src/hotspot/share/gc/shenandoah/shenandoahFullGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.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/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFullGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: aaa36168 Author: William Kemper Date: 2021-02-12 09:03:11 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/aaa36168 Remove reference to concurrent roots ! src/hotspot/share/gc/shenandoah/mode/shenandoahGenerationalMode.cpp Changeset: 74b47181 Author: William Kemper Date: 2021-02-12 09:03:38 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/74b47181 Merge branch 'master' into github-genshen Changeset: 4809d472 Author: William Kemper Date: 2021-02-12 11:42:26 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/4809d472 Correct include ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.cpp Changeset: e60b8a46 Author: Roman Kennke Date: 2021-02-16 12:12:34 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/e60b8a46 Mark concurrent roots as global when requested to do so, instead of young Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp Changeset: bfbfac0b Author: Roman Kennke Date: 2021-02-16 16:09:15 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/bfbfac0b Merge branch 'genshen' ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFullGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFullGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp Changeset: c27335dd Author: Roman Kennke Date: 2021-02-16 16:36:16 +0000 URL: https://git.openjdk.java.net/shenandoah/commit/c27335dd Resolve some merge conflicts ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCardTable.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp From shade at openjdk.java.net Tue Feb 16 19:17:53 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 16 Feb 2021 19:17:53 GMT Subject: RFR: 8261842: Shenandoah: cleanup ShenandoahHeapRegionSet Message-ID: There are a couple of stale/unused methods in ShenandoahHeapRegionSet that we can eliminate instead of improving them, for example in JDK-8261838. Additional testing: - [x] Linux x86_64 `hotspot_gc_shenandoah` ------------- Commit messages: - Update - 8261842: Shenandoah: cleanup ShenandoahHeapRegionSet Changes: https://git.openjdk.java.net/jdk/pull/2592/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2592&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261842 Stats: 88 lines in 3 files changed: 0 ins; 82 del; 6 mod Patch: https://git.openjdk.java.net/jdk/pull/2592.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2592/head:pull/2592 PR: https://git.openjdk.java.net/jdk/pull/2592 From shade at openjdk.java.net Tue Feb 16 19:19:00 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 16 Feb 2021 19:19:00 GMT Subject: RFR: 8261838: Shenandoah: reconsider heap region iterators memory ordering Message-ID: We use CASes to distributed workers between regions. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This seems to be excessive for region distribution code, and "relaxed" is enough, since we don't piggyback memory ordering on these. This also calls for some refactoring in the code itself. Additional testing: - [x] `hotspot_gc_shenandoah` - [ ] Ad-hoc performance runs ------------- Commit messages: - 8261838: Shenandoah: reconsider heap region iterators memory ordering Changes: https://git.openjdk.java.net/jdk/pull/2593/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2593&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261838 Stats: 24 lines in 4 files changed: 2 ins; 3 del; 19 mod Patch: https://git.openjdk.java.net/jdk/pull/2593.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2593/head:pull/2593 PR: https://git.openjdk.java.net/jdk/pull/2593 From rkennke at openjdk.java.net Tue Feb 16 19:28:40 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Tue, 16 Feb 2021 19:28:40 GMT Subject: RFR: 8261842: Shenandoah: cleanup ShenandoahHeapRegionSet In-Reply-To: References: Message-ID: On Tue, 16 Feb 2021 19:11:27 GMT, Aleksey Shipilev wrote: > There are a couple of stale/unused methods in ShenandoahHeapRegionSet that we can eliminate instead of improving them, for example in JDK-8261838. > > Additional testing: > - [x] Linux x86_64 `hotspot_gc_shenandoah` Ok! ------------- Marked as reviewed by rkennke (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2592 From rkennke at openjdk.java.net Tue Feb 16 19:32:40 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Tue, 16 Feb 2021 19:32:40 GMT Subject: RFR: 8261838: Shenandoah: reconsider heap region iterators memory ordering In-Reply-To: References: Message-ID: <5iWqnhftllWZb8XoOXKQcGTgR1pbf3odYvN8BGW6Xwg=.3856984a-aeae-44f9-beba-ed476d9f6e22@github.com> On Tue, 16 Feb 2021 19:13:03 GMT, Aleksey Shipilev wrote: > We use CASes to distributed workers between regions. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > This seems to be excessive for region distribution code, and "relaxed" is enough, since we don't piggyback memory ordering on these. > > This also calls for some refactoring in the code itself. > > Additional testing: > - [x] `hotspot_gc_shenandoah` > - [ ] Ad-hoc performance runs Looks good! ------------- Marked as reviewed by rkennke (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2593 From iklam at openjdk.java.net Wed Feb 17 05:32:05 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Wed, 17 Feb 2021 05:32:05 GMT Subject: RFR: 8261125: Move VM_Operation to vmOperation.hpp [v4] In-Reply-To: References: Message-ID: > vmOperations.hpp declares the VM_Operation class, as well as a hodge podge of subclasses such as VM_ForceSafepoint, VM_DeoptimizeFrame. > > Out of the 1000 hotspot .o files, about 680 include vmOperations.hpp (mostly transitively). In most cases, they just need to use the VM_Operation class. > > So we should move VM_Operation to its own header: vmOperation.hpp (no "s"). > > After the refactoring, vmOperations.hpp is included only 64 times. The inclusion count of threadSMR.hpp is also reduced from 687 to 99. HotSpot build time is improved by about 0.4%. > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision: - Merge branch 'master' into 8261125-move-VM_Operation-to-vmOperation.hpp - Merge branch 'master' into 8261125-move-VM_Operation-to-vmOperation.hpp - interfaceSupport.inline.hpp needs VM_Exit from vmOperations.hpp for JVM_LEAF macro - 8261125: Move VM_Operation to vmOperation.hpp ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2398/files - new: https://git.openjdk.java.net/jdk/pull/2398/files/bab79154..5b8f1b4b Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2398&range=03 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2398&range=02-03 Stats: 8513 lines in 340 files changed: 4350 ins; 2305 del; 1858 mod Patch: https://git.openjdk.java.net/jdk/pull/2398.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2398/head:pull/2398 PR: https://git.openjdk.java.net/jdk/pull/2398 From iklam at openjdk.java.net Wed Feb 17 05:56:42 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Wed, 17 Feb 2021 05:56:42 GMT Subject: RFR: 8261125: Move VM_Operation to vmOperation.hpp [v4] In-Reply-To: References: <1bctHoGUQv3v65nZBeuvMgXH4ur6CU3xXkzHT6ZqIPo=.aeda32f9-fdfe-4561-b6f0-7201caa0eea1@github.com> <7F1Nq0zPfyWP644ml5icuHT6lkHlAjJG2qFOJr2dGAY=.daffcc16-1ed0-42db-b77b-e59c72dff349@github.com> <54Eg-olaP7adJuc9TR2Rj58smez-FpUWkYcf1Hf1onA=.0137514d-c491-4701-8db4-2fa3fd6ac51d@github.com> Message-ID: <1wBxEwq-PpiIdcoTAZD5wWMhSh4vn0t4CYb82CnXGsU=.0589d8eb-0508-40d4-abde-5c488345347c@github.com> On Thu, 11 Feb 2021 06:54:40 GMT, Ioi Lam wrote: >>> I'm fine with leaving vmOperations.hpp and vmOperation.hpp. It's not a big deal. commonVMOperations.hpp - too much noise! >>> I agree with David. interfaceSupport.inline.hpp imports a lot of things so importing vmOperations.hpp is not a big deal. vmOperations.hpp imports #include "runtime/threadSMR.hpp" otherwise it has all the same imports as interfaceSupport.inline.hpp anyway. >>> All these files are going to increase compilation time too. >>> I stand by my check mark above! >> >> OK, since no one is fond of further splitting the headers, and no one has vetoed the vmOperation.hpp name, I'll keep everything as originally proposed. Will do more testing and integrate. > > BTW, I found a few existing singular/plural pairs of hpp files. Admittedly I created ciSymbols.hpp recently, but the other 3 pairs have been there for quite some time. > > share/ci/ciSymbol.hpp > share/ci/ciSymbols.hpp > > share/interpreter/bytecode.hpp > share/interpreter/bytecodes.hpp > > share/jfr/recorder/service/jfrEvent.hpp > share/jfr/jfrEvents.hpp > > share/jfr/recorder/checkpoint/types/jfrType.hpp > share/jfr/utilities/jfrTypes.hpp Thanks @dcubed-ojdk @coleenp @tstuefe @dholmes-ora for the review. ------------- PR: https://git.openjdk.java.net/jdk/pull/2398 From iklam at openjdk.java.net Wed Feb 17 05:56:44 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Wed, 17 Feb 2021 05:56:44 GMT Subject: Integrated: 8261125: Move VM_Operation to vmOperation.hpp In-Reply-To: References: Message-ID: On Thu, 4 Feb 2021 05:38:49 GMT, Ioi Lam wrote: > vmOperations.hpp declares the VM_Operation class, as well as a hodge podge of subclasses such as VM_ForceSafepoint, VM_DeoptimizeFrame. > > Out of the 1000 hotspot .o files, about 680 include vmOperations.hpp (mostly transitively). In most cases, they just need to use the VM_Operation class. > > So we should move VM_Operation to its own header: vmOperation.hpp (no "s"). > > After the refactoring, vmOperations.hpp is included only 64 times. The inclusion count of threadSMR.hpp is also reduced from 687 to 99. HotSpot build time is improved by about 0.4%. > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. This pull request has now been integrated. Changeset: fc1d0321 Author: Ioi Lam URL: https://git.openjdk.java.net/jdk/commit/fc1d0321 Stats: 345 lines in 23 files changed: 189 ins; 141 del; 15 mod 8261125: Move VM_Operation to vmOperation.hpp Reviewed-by: coleenp, stuefe ------------- PR: https://git.openjdk.java.net/jdk/pull/2398 From iklam at openjdk.java.net Wed Feb 17 06:19:59 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Wed, 17 Feb 2021 06:19:59 GMT Subject: RFR: 8261868: Reduce inclusion of metaspace.hpp Message-ID: metaspace.hpp is included by about 770 out of 1000 HotSpot .o files. Most of these are transitively included via array.hpp and classLoaderData.hpp. - classLoaderData.hpp doesn't actually need metaspace.hpp. - array.hpp can be refactored to put a function that depends on metaspace.hpp into array.inline.hpp Doing the above reduces the number of .o files that include metaspace.hpp to 343. Since this is still a significant number, we should split out the rarely used classes (such as `MetaspaceGC` and `MetaspaceUtils`) into a new header file (metaspaceUtils.hpp, which is included only 30 times). Also, these 3 includes can now be removed from metaspace.hpp. #include "memory/memRegion.hpp" #include "memory/metaspaceChunkFreeListSummary.hpp" #include "memory/virtualspace.hpp" Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. (I also fixed an unrelated comment in archiveUtils.cpp when I was scanning for the word "Metaspace" in the source files -- the function `MetaspaceShared::commit_to()` no longer exists). ------------- Commit messages: - step2 - step 1 Changes: https://git.openjdk.java.net/jdk/pull/2599/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2599&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261868 Stats: 361 lines in 49 files changed: 221 ins; 132 del; 8 mod Patch: https://git.openjdk.java.net/jdk/pull/2599.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2599/head:pull/2599 PR: https://git.openjdk.java.net/jdk/pull/2599 From gnu.andrew at redhat.com Wed Feb 17 06:37:24 2021 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 17 Feb 2021 06:37:24 +0000 Subject: [RFR] [8u] 8u292-b01 Upstream Sync Message-ID: <20210217063724.GA654084@rincewind> Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/ Merge changesets: http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/corba/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/jaxp/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/jaxws/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/jdk/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/hotspot/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/langtools/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/nashorn/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/root/merge.changeset Changes in aarch64-shenandoah-jdk8u292-b01: - JDK-6949753: [TEST BUG]: java/awt/print/PageFormat/PDialogTest.java needs update by removing a infinite loop - JDK-7009641: Don't fail VM when CodeCache is full - JDK-8031126: java/lang/management/ThreadMXBean/ThreadUserTime.java fails intermittently - JDK-8035166: Remove dependency on EC classes from pkcs11 provider - JDK-8035186: j2se_jdk/jdk/test/java/lang/invoke/lambda/LogGeneratedClassesTest.java - assertion error - JDK-8038723: Openup some PrinterJob tests - JDK-8041561: Inconsistent opacity behaviour between JCheckBox and JRadioButton - JDK-8073108: [AArch64] Use x86 and SPARC CPU instructions for GHASH acceleration - JDK-8078450: Implement consistent process for quarantine of tests - JDK-8080953: [TEST_BUG]Test java/awt/FontClass/DebugFonts.java fails due to wrongly typed bugid - JDK-8081547: Prepare client libs regression tests for running in a concurrent, headless jtreg environment - JDK-8130309: Need to bailout cleanly if creation of stubs fails when codecache is out of space (AArch64 changes) - JDK-8131779: AARCH64: add Montgomery multiply intrinsic - JDK-8132875: AArch64: Fix error introduced into AArch64 CodeCache by commit for 8130309 - JDK-8135018: AARCH64: Missing memory barriers for CMS collector - JDK-8141457: keytool default cert fingerprint algorithm should be SHA-256 - JDK-8145320: Create unsafe_arraycopy and generic_arraycopy for AArch64 - JDK-8148328: aarch64: redundant lsr instructions in stub code. - JDK-8148783: aarch64: SEGV running SpecJBB2013 - JDK-8148948: aarch64: generate_copy_longs calls align() incorrectly - JDK-8149080: AArch64: Recognise disjoint array copy in stub code - JDK-8149365: aarch64: memory copy does not prefetch on backwards copy - JDK-8149907: aarch64: use load/store pair instructions in call_stub - JDK-8150038: aarch64: make use of CBZ and CBNZ when comparing narrow pointer with zero - JDK-8150045: arraycopy causes segfaults in SATB during garbage collection - JDK-8150082: aarch64: optimise small array copy - JDK-8150204: (fs) Enhance java/nio/file/Files/probeContentType/Basic.java debugging output - JDK-8150229: aarch64: pipeline class for several instructions is not set correctly - JDK-8150313: aarch64: optimise array copy using SIMD instructions - JDK-8150394: aarch64: add support for 8.1 LSE CAS instructions - JDK-8150652: Remove unused code in AArch64 back end - JDK-8151340: aarch64: prefetch the destination word for write prior to ldxr/stxr loops. - JDK-8151502: optimize pd_disjoint_words and pd_conjoint_words - JDK-8151775: aarch64: add support for 8.1 LSE atomic operations - JDK-8152537: aarch64: Make use of CBZ and CBNZ when comparing unsigned values with zero. - JDK-8152840: aarch64: improve _unsafe_arraycopy stub routine - JDK-8153172: aarch64: hotspot crashes after the 8.1 LSE patch is merged - JDK-8153713: aarch64: improve short array clearing using store pair - JDK-8153797: aarch64: Add Arrays.fill stub code - JDK-8154413: AArch64: Better byte behaviour - JDK-8154537: AArch64: some integer rotate instructions are never emitted - JDK-8154739: AArch64: TemplateTable::fast_xaccess loads in wrong mode - JDK-8155015: Aarch64: bad assert in spill generation code - JDK-8155100: AArch64: Relax alignment requirement for byte_map_base - JDK-8155612: Aarch64: vector nodes need to support misaligned offset - JDK-8155617: aarch64: ClearArray does not use DC ZVA - JDK-8155627: Enable SA on AArch64 - JDK-8155653: TestVectorUnalignedOffset.java not pushed with 8155612 - JDK-8156731: aarch64: java/util/Arrays/Correct.java fails due to _generic_arraycopy stub routine - JDK-8157841: aarch64: prefetch ignores cache line size - JDK-8157906: aarch64: some more integer rotate instructions are never emitted - JDK-8158913: aarch64: SEGV running Spark terasort - JDK-8159052: aarch64: optimise unaligned copies in pd_disjoint_words and pd_conjoint_words - JDK-8159063: aarch64: optimise unaligned array copy long - JDK-8160217: JavaSound should clean up resources better - JDK-8160748: [AArch64] Inconsistent types for ideal_reg - JDK-8161072: AArch64: jtreg compiler/uncommontrap/TestDeoptOOM failure - JDK-8161190: AArch64: Fix overflow in immediate cmp instruction - JDK-8163363: AArch64: Stack size in tools/launcher/Settings.java needs to be adjusted - JDK-8164113: AArch64: follow-up the fix for 8161598 - JDK-8165673: AArch64: Fix JNI floating point argument handling - JDK-8167200: AArch64: Broken stack pointer adjustment in interpreter - JDK-8167281: IIOMetadataNode bugs in getElementsByTagName and NodeList.item methods - JDK-8167421: AArch64: in one core system, fatal error: Illegal threadstate encountered - JDK-8167595: AArch64: SEGV in stub code cipherBlockChaining_decryptAESCrypt - JDK-8168699: Validate special case invocations [AArch64 support] - JDK-8168888: Port 8160591: Improve internal array handling to AArch64. - JDK-8168996: C2 crash at postaloc.cpp:140 : assert(false) failed: unexpected yanked node - JDK-8170100: AArch64: Crash in C1-compiled code accessing References - JDK-8170188: jtreg test compiler/types/TestMeetIncompatibleInterfaceArrays.java causes JVM crash - JDK-8170873: PPC64/aarch64: Poor StrictMath performance due to non-optimized compilation - JDK-8171537: aarch64: compiler/c1/Test6849574.java generates guarantee failure in C1 - JDK-8172881: AArch64: assertion failure: the int pressure is incorrect - JDK-8173472: AArch64: C1 comparisons with null only use 32-bit instructions - JDK-8176100: [AArch64] [REDO][REDO] G1 Needs pre barrier on dereference of weak JNI handles - JDK-8177661: Correct ad rule output register types from iRegX to iRegXNoSp - JDK-8179954: AArch64: C1 and C2 volatile accesses are not sequentially consistent - JDK-8182581: aarch64: fix for crash caused by earlyret of compiled method - JDK-8183925: [AArch64] Decouple crash protection from watcher thread - JDK-8185934: keytool shows "Signature algorithm: SHA1withECDSA, -1-bit key" - JDK-8186090: java.nio.Bits.unaligned() doesn't handle aarch64 - JDK-8186325: AArch64: jtreg test hotspot/test/gc/g1/TestJNIWeakG1/TestJNIWeakG1.java SEGV - JDK-8187224: aarch64: some inconsistency between aarch64_ad.m4 and aarch64.ad - JDK-8189170: [AArch64] Add option to disable stack overflow checking in primordial thread for use with JNI_CreateJavaJVM - JDK-8193133: Assertion failure because 0xDEADDEAD can be in-heap - JDK-8195685: AArch64 port of 8174962: Better interface invocations - JDK-8195859: AArch64: vtableStubs gtest fails after 8174962 - JDK-8196136: AArch64: Correct register use in patch for JDK-8194686 - JDK-8196221: AArch64: Mistake in committed patch for JDK-8195859 - JDK-8199712: [AArch64] Flight Recorder - JDK-8202343: Disable TLS 1.0 and 1.1 - JDK-8203481: Incorrect constraint for unextended_sp in frame:safe_for_sender - JDK-8203699: java/lang/invoke/SpecialInterfaceCall fails with SIGILL on aarch64 - JDK-8205421: AARCH64: StubCodeMark should be placed after alignment - JDK-8206163: AArch64: incorrect code generation for StoreCM - JDK-8207345: Trampoline generation code reads from uninitialized memory - JDK-8207838: AArch64: Float registers incorrectly restored in JNI call - JDK-8209413: AArch64: NPE in clhsdb jstack command - JDK-8209414: [AArch64] method handle invocation does not respect JVMTI interp_only mode - JDK-8209415: Fix JVMTI test failure HS202 - JDK-8209420: Track membars for volatile accesses so they can be properly optimized - JDK-8209835: Aarch64: elide barriers on all volatile operations - JDK-8210425: [AArch64] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization - JDK-8211064: [AArch64] Interpreter and c1 don't correctly handle jboolean results in native calls - JDK-8211233: MemBarNode::trailing_membar() and MemBarNode::leading_membar() need to handle dying subgraphs better - JDK-8211339: NPE during SSL handshake caused by HostnameChecker - JDK-8213134: AArch64: vector shift failed with MaxVectorSize=8 - JDK-8213419: [AArch64] C2 may hang in MulLNode::Ideal()/MulINode::Ideal() with gcc 8.2.1 - JDK-8214857: "bad trailing membar" assert failure at memnode.cpp:3220 - JDK-8215951: AArch64: jtreg test vmTestbase/nsk/jvmti/PopFrame/popframe005 segfaults - JDK-8215961: jdk/jfr/event/os/TestCPUInformation.java fails on AArch64 - JDK-8216350: AArch64: monitor unlock fast path not called - JDK-8216987: ciMethodData::load_data() unpacks MDOs with non-atomic copy - JDK-8216989: CardTableBarrierSetAssembler::gen_write_ref_array_post_barrier() does not check for zero length on AARCH64 - JDK-8217338: [Containers] Improve systemd slice memory limit support - JDK-8217368: AArch64: C2 recursive stack locking optimisation not triggered - JDK-8218185: aarch64: missing LoadStore barrier in TemplateTable::putfield_or_static - JDK-8219011: Implement MacroAssembler::warn method on AArch64 - JDK-8219635: aarch64: missing LoadStore barrier in TemplateTable::fast_storefield - JDK-8221220: AArch64: Add StoreStore membar explicitly for Volatile Writes in TemplateTable - JDK-8221408: Windows 32bit build build errors/warnings in hotspot - JDK-8221658: aarch64: add necessary predicate for ubfx patterns - JDK-8223186: HotSpot compile warnings from GCC 9 - JDK-8224671: AArch64: mauve System.arraycopy test failure - JDK-8224828: aarch64: rflags is not correct after safepoint poll - JDK-8224851: AArch64: fix warnings and errors with Clang and GCC 8.3 - JDK-8224880: AArch64: java/javac error with AllocatePrefetchDistance - JDK-8225805: Java Access Bridge does not close the logger - JDK-8226899: Problemlist compiler/rtm tests - JDK-8227642: [TESTBUG] Make docker tests podman compatible - JDK-8228400: Remove built-in AArch64 simulator - JDK-8228406: Superfluous change in chaitin.hpp - JDK-8228434: jdk/net/Sockets/Test.java fails after JDK-8227642 - JDK-8228593: Revert explicit JDK 7 support additions - JDK-8228716: Revert InstanceKlass::print_on debug additions - JDK-8228718: Revert incorrect backport of JDK-8129757 to 8-aarch64 - JDK-8228725: AArch64: Purge method call format support - JDK-8228747: Revert "unused" attribute from test_arraycopy_func - JDK-8228767: Revert ResourceMark additions - JDK-8228770: Revert development hsdis changes - JDK-8229123: Revert build fixes for aarch64/zero - JDK-8229124: Revert disassembler.cpp changes - JDK-8229145: Revert TemplateTable::bytecode() visibility change - JDK-8229284: jdk/internal/platform/cgroup/TestCgroupMetrics.java fails for - memory:getMemoryUsage - JDK-8230388: Problemlist additional compiler/rtm tests - JDK-8233228: Disable weak named curves by default in TLS, CertPath, and Signed JAR - JDK-8233839: aarch64: missing memory barrier in NewObjectArrayStub and NewTypeArrayStub - JDK-8234727: sun/security/ssl/X509TrustManagerImpl tests support TLSv1.3 - JDK-8234728: Some security tests should support TLSv1.3 - JDK-8235874: The ordering of Cipher Suites is not maintained provided through jdk.tls.client.cipherSuites and jdk.tls.server.cipherSuites system property. - JDK-8237512: AArch64: aarch64TestHook leaks a BufferBlob - JDK-8238579: HttpsURLConnection drops the timeout and hangs forever in read - JDK-8242141: New System Properties to configure the TLS signature schemes - JDK-8244621: [macos10.15] Garbled FX printing plus CoreText warnings on Catalina when building with Xcode 11 - JDK-8246482: Build failures with +JFR -PCH - JDK-8247979: aarch64: missing side effect of killing flags for clearArray_reg_reg - JDK-8248219: aarch64: missing memory barrier in fast_storefield and fast_accessfield - JDK-8249183: JVM crash in "AwtFrame::WmSize" method - JDK-8249588: libwindowsaccessbridge issues on 64bit Windows - JDK-8250984: Memory Docker tests fail on some Linux kernels w/o cgroupv1 swap limit capabilities - JDK-8251397: NPE on ClassValue.ClassValueMap.cacheArray - JDK-8252470: java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java fails on Windows - JDK-8253368: TLS connection always receives close_notify exception - JDK-8253476: TestUseContainerSupport.java fails on some Linux kernels w/o swap limit capabilities - JDK-8253932: SSL debug log prints incorrect caller info - JDK-8254854: [cgroups v1] Metric limits not properly detected on some join controller combinations - JDK-8255908: ExceptionInInitializerError due to UncheckedIOException while initializing cgroupv1 subsystem - JDK-8255937: Better cleanup for test/jdk/javax/imageio/stream/StreamFlush.java - JDK-8256642: [TEST_BUG] jdk/test/javax/sound/midi/MidiSystem/DefaultProperties.java failed - JDK-8257192: Integrate AArch64 JIT port into 8u - JDK-8258079: Eliminate ParNew's use of klass_or_null() - JDK-8258241: [8u] Missing doPrivileged() hunks from JDK-8226575 - JDK-8258396: SIGILL in jdk.jfr.internal.PlatformRecorder.rotateDisk() - JDK-8258430: 8u backport of JDK-8063107 missing test/javax/swing/JRadioButton/8041561/bug8041561.java changes - JDK-8258933: G1 needs klass_or_null_acquire - JDK-8259312: VerifyCACerts.java fails as soneraclass2ca cert will - JDK-8259384: CUP version wrong in THIRD_PARTY_README after JDK-8233548 - JDK-8259568: PPC64 builds broken after JDK-8221408 8u backport - Normalise whitespace in AArch64 sources prior to merge of upstreamed version in 8u292-b01. Actual changes not already present (i.e. no AArch64 port changes): - JDK-6949753: [TEST BUG]: java/awt/print/PageFormat/PDialogTest.java needs update by removing a infinite loop - JDK-8031126: java/lang/management/ThreadMXBean/ThreadUserTime.java fails intermittently - JDK-8035166: Remove dependency on EC classes from pkcs11 provider - JDK-8035186: j2se_jdk/jdk/test/java/lang/invoke/lambda/LogGeneratedClassesTest.java - assertion error - JDK-8038723: Openup some PrinterJob tests - JDK-8041561: Inconsistent opacity behaviour between JCheckBox and JRadioButton - JDK-8078450: Implement consistent process for quarantine of tests - JDK-8080953: [TEST_BUG]Test java/awt/FontClass/DebugFonts.java fails due to wrongly typed bugid - JDK-8081547: Prepare client libs regression tests for running in a concurrent, headless jtreg environment - JDK-8141457: keytool default cert fingerprint algorithm should be SHA-256 - JDK-8150204: (fs) Enhance java/nio/file/Files/probeContentType/Basic.java debugging output - JDK-8160217: JavaSound should clean up resources better - JDK-8167281: IIOMetadataNode bugs in getElementsByTagName and NodeList.item methods - JDK-8168996: C2 crash at postaloc.cpp:140 : assert(false) failed: unexpected yanked node - JDK-8185934: keytool shows "Signature algorithm: SHA1withECDSA, -1-bit key" - JDK-8202343: Disable TLS 1.0 and 1.1 - JDK-8211339: NPE during SSL handshake caused by HostnameChecker - JDK-8216987: ciMethodData::load_data() unpacks MDOs with non-atomic copy - JDK-8217338: [Containers] Improve systemd slice memory limit support - JDK-8221408: Windows 32bit build build errors/warnings in hotspot - JDK-8223186: HotSpot compile warnings from GCC 9 - JDK-8225805: Java Access Bridge does not close the logger - JDK-8226899: Problemlist compiler/rtm tests - JDK-8227642: [TESTBUG] Make docker tests podman compatible - JDK-8228434: jdk/net/Sockets/Test.java fails after JDK-8227642 - JDK-8229284: jdk/internal/platform/cgroup/TestCgroupMetrics.java fails for - memory:getMemoryUsage - JDK-8230388: Problemlist additional compiler/rtm tests - JDK-8233228: Disable weak named curves by default in TLS, CertPath, and Signed JAR - JDK-8234727: sun/security/ssl/X509TrustManagerImpl tests support TLSv1.3 - JDK-8234728: Some security tests should support TLSv1.3 - JDK-8235874: The ordering of Cipher Suites is not maintained provided through jdk.tls.client.cipherSuites and jdk.tls.server.cipherSuites system property. - JDK-8238579: HttpsURLConnection drops the timeout and hangs forever in read - JDK-8242141: New System Properties to configure the TLS signature schemes - JDK-8244621: [macos10.15] Garbled FX printing plus CoreText warnings on Catalina when building with Xcode 11 - JDK-8249183: JVM crash in "AwtFrame::WmSize" method - JDK-8249588: libwindowsaccessbridge issues on 64bit Windows - JDK-8250984: Memory Docker tests fail on some Linux kernels w/o cgroupv1 swap limit capabilities - JDK-8251397: NPE on ClassValue.ClassValueMap.cacheArray - JDK-8252470: java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java fails on Windows - JDK-8253368: TLS connection always receives close_notify exception - JDK-8253476: TestUseContainerSupport.java fails on some Linux kernels w/o swap limit capabilities - JDK-8253932: SSL debug log prints incorrect caller info - JDK-8254854: [cgroups v1] Metric limits not properly detected on some join controller combinations - JDK-8255908: ExceptionInInitializerError due to UncheckedIOException while initializing cgroupv1 subsystem - JDK-8255937: Better cleanup for test/jdk/javax/imageio/stream/StreamFlush.java - JDK-8256642: [TEST_BUG] jdk/test/javax/sound/midi/MidiSystem/DefaultProperties.java failed - JDK-8258079: Eliminate ParNew's use of klass_or_null() - JDK-8258241: [8u] Missing doPrivileged() hunks from JDK-8226575 - JDK-8258396: SIGILL in jdk.jfr.internal.PlatformRecorder.rotateDisk() - JDK-8258430: 8u backport of JDK-8063107 missing test/javax/swing/JRadioButton/8041561/bug8041561.java changes - JDK-8258933: G1 needs klass_or_null_acquire - JDK-8259312: VerifyCACerts.java fails as soneraclass2ca cert will - JDK-8259384: CUP version wrong in THIRD_PARTY_README after JDK-8233548 - JDK-8259568: PPC64 builds broken after JDK-8221408 8u backport - Normalise whitespace in AArch64 sources prior to merge of upstreamed version in 8u292-b01. Main issues of note: All repositories were a clean merge, with the obvious exception of HotSpot and the upstream introduction of the AArch64 port. To minimise the differences, the same whitespace normalisation as was applied to appease jcheck prior to the AArch64 port check-in was applied to the same sources in the aarch64-port/shenandoah-jdk8u repository. In the actual merge, the changes were pretty much in two categories; changes made during the AArch64 upstream port review process, and local Shenandoah-specific changes to new files introduced upstream. The former were resolved in favour of the reviewed upstream versions and the latter in favour of the later Shenandoah port version. diffstat for root b/.hgtags | 3 +++ b/THIRD_PARTY_README | 4 ++-- b/common/autoconf/generated-configure.sh | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diffstat for corba b/.hgtags | 3 +++ b/THIRD_PARTY_README | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diffstat for jaxp b/.hgtags | 3 +++ b/THIRD_PARTY_README | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diffstat for jaxws b/.hgtags | 3 +++ b/THIRD_PARTY_README | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diffstat for langtools b/.hgtags | 3 +++ b/THIRD_PARTY_README | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diffstat for nashorn b/.hgtags | 3 +++ b/THIRD_PARTY_README | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diffstat for jdk a/test/java/awt/print/PrinterJob/PrintTextTest.html | 46 - a/test/javax/sound/midi/MidiSystem/testdata/lib/conf/sound.properties | 27 a/test/javax/sound/sampled/AudioSystem/testdata/lib/conf/sound.properties | 27 a/test/sun/security/ssl/EngineArgs/DebugReportsOneExtraByte.sh | 81 - b/.hgtags | 3 b/THIRD_PARTY_README | 2 b/src/linux/classes/jdk/internal/platform/cgroupv1/Metrics.java | 145 ++- b/src/linux/classes/jdk/internal/platform/cgroupv1/SubSystem.java | 72 + b/src/macosx/native/sun/font/AWTFont.m | 36 b/src/share/classes/com/sun/media/sound/ModelByteBuffer.java | 14 b/src/share/classes/java/lang/ClassValue.java | 20 b/src/share/classes/javax/imageio/metadata/IIOMetadataNode.java | 4 b/src/share/classes/javax/swing/plaf/metal/MetalIconFactory.java | 6 b/src/share/classes/sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection.java | 18 b/src/share/classes/sun/security/ec/ECKeyPairGenerator.java | 1 b/src/share/classes/sun/security/ec/ECPrivateKeyImpl.java | 7 b/src/share/classes/sun/security/ec/ECPublicKeyImpl.java | 4 b/src/share/classes/sun/security/ec/SunECEntries.java | 6 b/src/share/classes/sun/security/pkcs11/P11KeyStore.java | 2 b/src/share/classes/sun/security/pkcs11/SunPKCS11.java | 4 b/src/share/classes/sun/security/ssl/CertSignAlgsExtension.java | 7 b/src/share/classes/sun/security/ssl/CertificateRequest.java | 1 b/src/share/classes/sun/security/ssl/CipherSuite.java | 16 b/src/share/classes/sun/security/ssl/PreSharedKeyExtension.java | 1 b/src/share/classes/sun/security/ssl/SSLConfiguration.java | 85 + b/src/share/classes/sun/security/ssl/SSLContextImpl.java | 2 b/src/share/classes/sun/security/ssl/SSLLogger.java | 2 b/src/share/classes/sun/security/ssl/SSLServerSocketImpl.java | 5 b/src/share/classes/sun/security/ssl/SSLSocketImpl.java | 19 b/src/share/classes/sun/security/ssl/ServerHello.java | 2 b/src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java | 7 b/src/share/classes/sun/security/ssl/SignatureScheme.java | 24 b/src/share/classes/sun/security/ssl/TransportContext.java | 2 b/src/share/classes/sun/security/tools/jarsigner/Main.java | 8 b/src/share/classes/sun/security/tools/jarsigner/Resources.java | 1 b/src/share/classes/sun/security/tools/keytool/Main.java | 54 - b/src/share/classes/sun/security/tools/keytool/Resources.java | 5 b/src/share/classes/sun/security/util/AbstractAlgorithmConstraints.java | 14 b/src/share/classes/sun/security/util/ConstraintsParameters.java | 61 + b/src/share/classes/sun/security/util/CurveDB.java | 27 b/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java | 78 + b/src/share/classes/sun/security/util/ECParameters.java | 8 b/src/share/classes/sun/security/util/HostnameChecker.java | 4 b/src/share/classes/sun/security/util/LegacyAlgorithmConstraints.java | 6 b/src/share/classes/sun/security/util/NamedCurve.java | 15 b/src/share/lib/security/java.security-aix | 40 b/src/share/lib/security/java.security-linux | 40 b/src/share/lib/security/java.security-macosx | 40 b/src/share/lib/security/java.security-solaris | 40 b/src/share/lib/security/java.security-windows | 40 b/src/windows/classes/sun/awt/windows/WWindowPeer.java | 36 b/src/windows/native/sun/bridge/WinAccessBridge.cpp | 6 b/src/windows/native/sun/bridge/WinAccessBridge.h | 9 b/src/windows/native/sun/windows/awt_Frame.cpp | 33 b/src/windows/native/sun/windows/awt_Frame.h | 5 b/src/windows/native/sun/windows/awt_Toolkit.cpp | 22 b/src/windows/native/sun/windows/awt_Window.cpp | 18 b/src/windows/native/sun/windows/awt_Window.h | 6 b/test/ProblemList.txt | 9 b/test/java/awt/FontClass/DebugFonts.java | 2 b/test/java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java | 7 b/test/java/awt/print/Dialog/DestinationTest.java | 146 +++ b/test/java/awt/print/Dialog/MediaInPrintable.java | 90 + b/test/java/awt/print/Dialog/PrintApplet.html | 29 b/test/java/awt/print/Dialog/PrintApplet.java | 141 +++ b/test/java/awt/print/Dialog/PrintDialog.java | 44 b/test/java/awt/print/Dialog/PrintDlgApp.java | 98 ++ b/test/java/awt/print/Dialog/PrintDlgPageable.java | 128 ++ b/test/java/awt/print/Dialog/RestoreActiveWindowTest/RestoreActiveWindowTest.html | 43 b/test/java/awt/print/Dialog/RestoreActiveWindowTest/RestoreActiveWindowTest.java | 231 +++++ b/test/java/awt/print/PageFormat/CustomPaper.java | 244 +++++ b/test/java/awt/print/PageFormat/NullPaper.java | 423 +++++++++ b/test/java/awt/print/PageFormat/Orient.java | 460 ++++++++++ b/test/java/awt/print/PageFormat/PageSetupDialog.java | 353 +++++++ b/test/java/awt/print/PageFormat/ReverseLandscapeTest.java | 106 ++ b/test/java/awt/print/PageFormat/SetOrient.html | 48 + b/test/java/awt/print/PageFormat/SetOrient.java | 76 + b/test/java/awt/print/PageFormat/SmallPaperPrinting.java | 63 + b/test/java/awt/print/PageFormat/ValidateCustom.java | 121 ++ b/test/java/awt/print/PrinterJob/Cancel/PrinterJobCancel.java | 238 +++++ b/test/java/awt/print/PrinterJob/CheckAccess.java | 94 ++ b/test/java/awt/print/PrinterJob/CheckPrivilege.java | 130 ++ b/test/java/awt/print/PrinterJob/CompareImageable.java | 118 ++ b/test/java/awt/print/PrinterJob/CustomFont/CustomFont.java | 416 +++++++++ b/test/java/awt/print/PrinterJob/DeviceScale.java | 101 ++ b/test/java/awt/print/PrinterJob/DrawImage.java | 282 ++++++ b/test/java/awt/print/PrinterJob/DrawStringMethods.java | 250 +++++ b/test/java/awt/print/PrinterJob/EmptyFill.java | 83 + b/test/java/awt/print/PrinterJob/GlyphPositions.java | 109 ++ b/test/java/awt/print/PrinterJob/HeadlessPrintingTest.java | 68 + b/test/java/awt/print/PrinterJob/InitToBlack.java | 65 + b/test/java/awt/print/PrinterJob/InvalidPage.java | 243 +++++ b/test/java/awt/print/PrinterJob/JobName/PrinterJobName.java | 193 ++++ b/test/java/awt/print/PrinterJob/Legal/PrintTest.java | 245 +++++ b/test/java/awt/print/PrinterJob/MultiThread/MultiThreadTest.java | 141 +++ b/test/java/awt/print/PrinterJob/NullGetName.java | 139 +++ b/test/java/awt/print/PrinterJob/NumCopies.java | 189 ++++ b/test/java/awt/print/PrinterJob/PSQuestionMark.java | 89 + b/test/java/awt/print/PrinterJob/PSWindingRule.java | 124 ++ b/test/java/awt/print/PrinterJob/PageDialogTest.java | 177 +++ b/test/java/awt/print/PrinterJob/PageDlgPrnButton.java | 228 ++++ b/test/java/awt/print/PrinterJob/PaintText.java | 177 +++ b/test/java/awt/print/PrinterJob/PrintAllFonts.java | 213 ++++ b/test/java/awt/print/PrinterJob/PrintBadImage.java | 65 + b/test/java/awt/print/PrinterJob/PrintCompoundString.java | 246 +++++ b/test/java/awt/print/PrinterJob/PrintDialog.java | 390 ++++++++ b/test/java/awt/print/PrinterJob/PrintDialogCancel.java | 394 ++++++++ b/test/java/awt/print/PrinterJob/PrintFontStyle.java | 194 ++++ b/test/java/awt/print/PrinterJob/PrintImage.java | 296 ++++++ b/test/java/awt/print/PrinterJob/PrintNullString.java | 328 +++++++ b/test/java/awt/print/PrinterJob/PrintParenString.java | 246 +++++ b/test/java/awt/print/PrinterJob/PrintRotatedText.java | 204 ++++ b/test/java/awt/print/PrinterJob/PrintTextLayout.java | 116 ++ b/test/java/awt/print/PrinterJob/PrintTextPane.java | 158 +++ b/test/java/awt/print/PrinterJob/PrintTextTest.java | 178 +++ b/test/java/awt/print/PrinterJob/PrintTranslatedFont.java | 257 +++++ b/test/java/awt/print/PrinterJob/PrintVolatileImage.java | 99 ++ b/test/java/awt/print/PrinterJob/PrinterDevice.java | 92 ++ b/test/java/awt/print/PrinterJob/PrinterDialogsModalityTest/PrinterDialogsModalityTest.html | 43 b/test/java/awt/print/PrinterJob/PrinterDialogsModalityTest/PrinterDialogsModalityTest.java | 262 +++++ b/test/java/awt/print/PrinterJob/PrinterJobDialogBugDemo.java | 101 ++ b/test/java/awt/print/PrinterJob/RemoveListener.java | 55 + b/test/java/awt/print/PrinterJob/ScaledText/ScaledText.java | 438 +++++++++ b/test/java/awt/print/PrinterJob/SecurityDialogTest.java | 229 ++++ b/test/java/awt/print/PrinterJob/SetCopies/Test.java | 52 + b/test/java/awt/print/PrinterJob/SwingUIText.java | 263 +++++ b/test/java/awt/print/PrinterJob/ThinLines.java | 429 +++++++++ b/test/java/awt/print/PrinterJob/XparColor.java | 258 +++++ b/test/java/awt/print/PrinterJob/raster/RasterTest.java | 268 +++++ b/test/java/beans/PropertyEditor/6380849/TestPropertyEditor.java | 1 b/test/java/beans/PropertyEditor/TestColorClass.java | 1 b/test/java/beans/PropertyEditor/TestColorClassJava.java | 1 b/test/java/beans/PropertyEditor/TestColorClassNull.java | 1 b/test/java/beans/PropertyEditor/TestColorClassValue.java | 1 b/test/java/beans/PropertyEditor/TestFontClass.java | 1 b/test/java/beans/PropertyEditor/TestFontClassJava.java | 1 b/test/java/beans/PropertyEditor/TestFontClassNull.java | 1 b/test/java/beans/PropertyEditor/TestFontClassValue.java | 1 b/test/java/beans/XMLEncoder/java_awt_ScrollPane.java | 1 b/test/java/lang/invoke/lambda/LogGeneratedClassesTest.java | 64 + b/test/java/nio/file/Files/probeContentType/Basic.java | 72 + b/test/javax/imageio/metadata/GetElementsByTagNameTest.java | 73 + b/test/javax/imageio/metadata/NthItemNodeListTest.java | 77 + b/test/javax/imageio/stream/StreamFlush.java | 24 b/test/javax/net/ssl/SSLEngine/Arrays.java | 11 b/test/javax/net/ssl/TLS/TLSClientPropertyTest.java | 12 b/test/javax/net/ssl/TLSv11/GenericBlockCipher.java | 6 b/test/javax/net/ssl/sanity/ciphersuites/CipherSuitesInOrder.java | 40 b/test/javax/net/ssl/sanity/ciphersuites/SystemPropCipherSuitesOrder.java | 150 +++ b/test/javax/net/ssl/sanity/ciphersuites/TLSCipherSuitesOrder.java | 189 ++++ b/test/javax/net/ssl/templates/SSLSocketTemplate.java | 8 b/test/javax/sound/midi/Gervill/ModelByteBuffer/GetInputStream.java | 18 b/test/javax/sound/midi/Gervill/ModelByteBuffer/GetRoot.java | 12 b/test/javax/sound/midi/Gervill/ModelByteBuffer/Load.java | 13 b/test/javax/sound/midi/Gervill/ModelByteBuffer/LoadAll.java | 13 b/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArray.java | 12 b/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArrayIntInt.java | 12 b/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFile.java | 12 b/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFileLongLong.java | 12 b/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Available.java | 13 b/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Close.java | 13 b/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkReset.java | 13 b/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkSupported.java | 13 b/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Read.java | 13 b/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByte.java | 13 b/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByteIntInt.java | 13 b/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Skip.java | 13 b/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLong.java | 12 b/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLong.java | 12 b/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLongBoolean.java | 12 b/test/javax/sound/midi/Gervill/ModelByteBuffer/Unload.java | 13 b/test/javax/sound/midi/Gervill/ModelByteBuffer/WriteTo.java | 14 b/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/OpenStream.java | 13 b/test/javax/sound/midi/MidiSystem/DefaultDevices.java | 3 b/test/javax/sound/midi/MidiSystem/DefaultProperties.java | 3 b/test/javax/sound/midi/MidiSystem/ProviderCacheing.java | 3 b/test/javax/sound/midi/MidiSystem/testdata/lib/sound.properties | 27 b/test/javax/sound/sampled/AudioSystem/DefaultMixers.java | 3 b/test/javax/sound/sampled/AudioSystem/DefaultProperties.java | 3 b/test/javax/sound/sampled/AudioSystem/ProviderCacheing.java | 3 b/test/javax/sound/sampled/AudioSystem/testdata/lib/sound.properties | 27 b/test/javax/swing/JRadioButton/8041561/bug8041561.java | 101 ++ b/test/jdk/internal/platform/docker/MetricsMemoryTester.java | 46 - b/test/jdk/internal/platform/docker/TestUseContainerSupport.java | 3 b/test/lib/jdk/test/lib/Container.java | 32 b/test/lib/jdk/test/lib/containers/cgroup/MetricsTester.java | 80 + b/test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java | 17 b/test/lib/security/SecurityUtils.java | 27 b/test/sun/security/lib/cacerts/VerifyCACerts.java | 4 b/test/sun/security/ssl/ClientHandshaker/LengthCheckTest.java | 6 b/test/sun/security/ssl/EngineArgs/DebugReportsOneExtraByte.java | 42 b/test/sun/security/ssl/HandshakeHash/DigestBase.java | 5 b/test/sun/security/ssl/HandshakeHash/HandshakeHashCloneExhaustion.java | 11 b/test/sun/security/ssl/SSLContextImpl/IllegalProtocolProperty.java | 6 b/test/sun/security/ssl/SSLContextImpl/SSLContextDefault.java | 144 +++ b/test/sun/security/ssl/SSLContextImpl/SSLContextVersion.java | 6 b/test/sun/security/ssl/SSLEngineImpl/EmptyExtensionData.java | 5 b/test/sun/security/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java | 6 b/test/sun/security/ssl/SSLSocketImpl/SSLSocketCloseHang.java | 30 b/test/sun/security/ssl/SignatureScheme/CustomizedClientSchemes.java | 55 + b/test/sun/security/ssl/SignatureScheme/CustomizedServerSchemes.java | 55 + b/test/sun/security/ssl/X509TrustManagerImpl/BasicConstraints.java | 426 +++++---- b/test/sun/security/ssl/X509TrustManagerImpl/SelfIssuedCert.java | 137 +- b/test/sun/security/util/HostnameMatcher/NullHostnameCheck.java | 294 ++++++ 204 files changed, 15566 insertions(+), 1013 deletions(-) diffstat for hotspot b/.hgtags | 3 b/THIRD_PARTY_README | 4 b/agent/src/share/classes/sun/jvm/hotspot/HSDB.java | 21 - b/agent/src/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java | 4 b/make/linux/makefiles/defs.make | 2 b/src/cpu/aarch64/vm/aarch64.ad | 4 b/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp | 1 b/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp | 5 b/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp | 4 b/src/cpu/aarch64/vm/templateTable_aarch64.cpp | 2 b/src/cpu/ppc/vm/interp_masm_ppc_64.cpp | 4 b/src/cpu/ppc/vm/macroAssembler_ppc.cpp | 3 b/src/os/linux/vm/osContainer_linux.cpp | 145 ++++++++-- b/src/os/linux/vm/osContainer_linux.hpp | 3 b/src/os/linux/vm/os_linux.cpp | 28 - b/src/share/vm/adlc/formssel.cpp | 5 b/src/share/vm/c1/c1_LIR.cpp | 8 b/src/share/vm/c1/c1_LIR.hpp | 8 b/src/share/vm/c1/c1_LIRAssembler.cpp | 2 b/src/share/vm/c1/c1_LinearScan.cpp | 2 b/src/share/vm/c1/c1_Runtime1.hpp | 1 b/src/share/vm/ci/ciMethodData.cpp | 10 b/src/share/vm/code/compiledIC.hpp | 2 b/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp | 2 b/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.inline.hpp | 4 b/src/share/vm/gc_implementation/g1/g1RemSet.cpp | 7 b/src/share/vm/gc_implementation/g1/heapRegion.cpp | 120 +++++--- b/src/share/vm/gc_implementation/g1/heapRegion.hpp | 2 b/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp | 21 - b/src/share/vm/jfr/recorder/storage/jfrStorage.cpp | 5 b/src/share/vm/memory/allocation.inline.hpp | 2 b/src/share/vm/oops/markOop.hpp | 14 b/src/share/vm/opto/graphKit.cpp | 4 b/src/share/vm/opto/macro.cpp | 13 b/src/share/vm/opto/node.cpp | 4 b/src/share/vm/prims/jvmtiExport.hpp | 2 b/src/share/vm/runtime/arguments.cpp | 9 b/test/Makefile | 23 + b/test/ProblemList.txt | 66 ++++ b/test/runtime/6626217/Test6626217.sh | 1 b/test/runtime/6929067/Test6929067.sh | 1 b/test/runtime/CDSCompressedKPtrs/XShareAuto.java | 1 b/test/runtime/InitialThreadOverflow/testme.sh | 1 b/test/runtime/LoadClass/LoadClassNegative.java | 1 b/test/runtime/NMT/MallocStressTest.java | 1 b/test/runtime/SharedArchiveFile/SharedBaseAddress.java | 2 b/test/runtime/XCheckJniJsig/XCheckJSig.java | 1 b/test/runtime/containers/docker/TestMemoryAwareness.java | 29 +- b/test/runtime/jsig/Test8017498.sh | 1 b/test/runtime/memory/ReadFromNoaccessArea.java | 1 b/test/testlibrary/com/oracle/java/testlibrary/Container.java | 32 ++ b/test/testlibrary/com/oracle/java/testlibrary/DockerTestUtils.java | 18 - 52 files changed, 447 insertions(+), 212 deletions(-) Successfully built on x86, x86_64, s390 (Zero), s390x (Zero), ppc (Zero), ppc64, ppc64le, aarch32 & aarch64. Ok to push? Thanks, -- Andrew :) Senior Free Java Software Engineer OpenJDK Package Owner Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From shade at redhat.com Wed Feb 17 06:44:37 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 17 Feb 2021 07:44:37 +0100 Subject: [aarch64-port-dev ] [RFR] [8u] 8u292-b01 Upstream Sync In-Reply-To: <20210217063724.GA654084@rincewind> References: <20210217063724.GA654084@rincewind> Message-ID: <48175e29-38dd-25fe-b59f-21f00b18fc89@redhat.com> On 2/17/21 7:37 AM, Andrew Hughes wrote: > http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/corba/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/jaxp/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/jaxws/merge.changeset Look trivially good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/jdk/merge.changeset Looks fine (cursory). > http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/hotspot/merge.changeset Looks fine. It does not seem to break anything obvious. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/langtools/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/nashorn/merge.changeset Look trivially good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/root/merge.changeset Looks good. > Ok to push? Yes, I think so. -- Thanks, -Aleksey From shade at openjdk.java.net Wed Feb 17 07:00:40 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 17 Feb 2021 07:00:40 GMT Subject: Integrated: 8261842: Shenandoah: cleanup ShenandoahHeapRegionSet In-Reply-To: References: Message-ID: On Tue, 16 Feb 2021 19:11:27 GMT, Aleksey Shipilev wrote: > There are a couple of stale/unused methods in ShenandoahHeapRegionSet that we can eliminate instead of improving them, for example in JDK-8261838. > > Additional testing: > - [x] Linux x86_64 `hotspot_gc_shenandoah` This pull request has now been integrated. Changeset: d1950335 Author: Aleksey Shipilev URL: https://git.openjdk.java.net/jdk/commit/d1950335 Stats: 88 lines in 3 files changed: 0 ins; 82 del; 6 mod 8261842: Shenandoah: cleanup ShenandoahHeapRegionSet Reviewed-by: rkennke ------------- PR: https://git.openjdk.java.net/jdk/pull/2592 From iklam at openjdk.java.net Wed Feb 17 07:31:12 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Wed, 17 Feb 2021 07:31:12 GMT Subject: RFR: 8261868: Reduce inclusion of metaspace.hpp [v2] In-Reply-To: References: Message-ID: > metaspace.hpp is included by about 770 out of 1000 HotSpot .o files. Most of these are transitively included via array.hpp and classLoaderData.hpp. > > - classLoaderData.hpp doesn't actually need metaspace.hpp. > - array.hpp can be refactored to put a function that depends on metaspace.hpp into array.inline.hpp > > Doing the above reduces the number of .o files that include metaspace.hpp to 343. Since this is still a significant number, we should split out the rarely used classes (such as `MetaspaceGC` and `MetaspaceUtils`) into a new header file (metaspaceUtils.hpp, which is included only 30 times). > > Also, these 3 includes can now be removed from metaspace.hpp. > > #include "memory/memRegion.hpp" > #include "memory/metaspaceChunkFreeListSummary.hpp" > #include "memory/virtualspace.hpp" > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. > > (I also fixed an unrelated comment in archiveUtils.cpp when I was scanning for the word "Metaspace" in the source files -- the function `MetaspaceShared::commit_to()` no longer exists). Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: fixed ppc/s390 builds ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2599/files - new: https://git.openjdk.java.net/jdk/pull/2599/files/7a32ad1d..700d1c16 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2599&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2599&range=00-01 Stats: 2 lines in 2 files changed: 2 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/2599.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2599/head:pull/2599 PR: https://git.openjdk.java.net/jdk/pull/2599 From stuefe at openjdk.java.net Wed Feb 17 07:57:40 2021 From: stuefe at openjdk.java.net (Thomas Stuefe) Date: Wed, 17 Feb 2021 07:57:40 GMT Subject: RFR: 8261868: Reduce inclusion of metaspace.hpp [v2] In-Reply-To: References: Message-ID: On Wed, 17 Feb 2021 07:31:12 GMT, Ioi Lam wrote: >> metaspace.hpp is included by about 770 out of 1000 HotSpot .o files. Most of these are transitively included via array.hpp and classLoaderData.hpp. >> >> - classLoaderData.hpp doesn't actually need metaspace.hpp. >> - array.hpp can be refactored to put a function that depends on metaspace.hpp into array.inline.hpp >> >> Doing the above reduces the number of .o files that include metaspace.hpp to 343. Since this is still a significant number, we should split out the rarely used classes (such as `MetaspaceGC` and `MetaspaceUtils`) into a new header file (metaspaceUtils.hpp, which is included only 30 times). >> >> Also, these 3 includes can now be removed from metaspace.hpp. >> >> #include "memory/memRegion.hpp" >> #include "memory/metaspaceChunkFreeListSummary.hpp" >> #include "memory/virtualspace.hpp" >> >> Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. >> >> (I also fixed an unrelated comment in archiveUtils.cpp when I was scanning for the word "Metaspace" in the source files -- the function `MetaspaceShared::commit_to()` no longer exists). > > Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: > > fixed ppc/s390 builds Hi Ioi, this is very appreciated. metaspace.hpp is still a bit of a mess. Its the last holdover for the old metaspace implementation and I always wanted to clean it out a bit. Splitting this header into three is a right step. A lot of that stuff may still vanish and/or be reformed if I have the time (eg metaspaceChunkFreeListSummary). Assuming this builds and tests fine on all our platform, including the weirder ones, I am fine with this patch. It looks good. Thanks, Thomas ------------- Marked as reviewed by stuefe (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2599 From shade at openjdk.java.net Wed Feb 17 08:44:19 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 17 Feb 2021 08:44:19 GMT Subject: RFR: Fix builds that do not have Shenandoah or other GCs Message-ID: Lots of builds are currently failing with: if (strcmp(ShenandoahGCMode, "generational") == 0) { ^~~~~~~~~~~~~~~~ The new code in `gcConfiguration.cpp` should actually sense which configurations are available. Additional testing: - [x] Linux PPC64 build (as one failing example), now passing - [x] Linux x86_64 `gc/shenandoah/generational` tests ------------- Commit messages: - Fix builds that do not have Shenandoah or other GCs Changes: https://git.openjdk.java.net/shenandoah/pull/16/files Webrev: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=16&range=00 Stats: 17 lines in 1 file changed: 17 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/shenandoah/pull/16.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/16/head:pull/16 PR: https://git.openjdk.java.net/shenandoah/pull/16 From shade at openjdk.java.net Wed Feb 17 09:51:14 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 17 Feb 2021 09:51:14 GMT Subject: RFR: Fix Windows build failures Message-ID: Current Windows builds fail with: c:\buildbot\worker\build-shenandoah-jdkx-windows\build\src\hotspot\share\gc\shenandoah\shenandoahScanRemembered.cpp(36): error C2220: the following warning is treated as an error c:\buildbot\worker\build-shenandoah-jdkx-windows\build\src\hotspot\share\gc\shenandoah\shenandoahScanRemembered.cpp(36): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data make[3]: *** [lib/CompileJvm.gmk:143: /cygdrive/c/buildbot/worker/build-shenandoah-jdkx-windows/build/build/windows-x86_64-server-fastdebug/hotspot/variant-server/libjvm/objs/shenandoahScanRemembered.obj] Error 1 Additional testing: - [x] Windows builds ------------- Commit messages: - Fix Windows build failures Changes: https://git.openjdk.java.net/shenandoah/pull/17/files Webrev: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=17&range=00 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/shenandoah/pull/17.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/17/head:pull/17 PR: https://git.openjdk.java.net/shenandoah/pull/17 From rkennke at openjdk.java.net Wed Feb 17 10:15:02 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Wed, 17 Feb 2021 10:15:02 GMT Subject: RFR: Fix builds that do not have Shenandoah or other GCs In-Reply-To: References: Message-ID: <12gMbDiwzLhJnjk7vKZW0yRsq00seP0rGWkyEXlpYvk=.8dcf7741-5e27-4a17-8e13-b8f11f00c625@github.com> On Wed, 17 Feb 2021 08:40:17 GMT, Aleksey Shipilev wrote: > Lots of builds are currently failing with: > > > > if (strcmp(ShenandoahGCMode, "generational") == 0) { > ^~~~~~~~~~~~~~~~ > > The new code in `gcConfiguration.cpp` should actually sense which configurations are available. > > Additional testing: > - [x] Linux PPC64 build (as one failing example), now passing > - [x] Linux x86_64 `gc/shenandoah/generational` tests Looks good. I wonder if this should go upstream? ------------- Marked as reviewed by rkennke (Reviewer). PR: https://git.openjdk.java.net/shenandoah/pull/16 From rkennke at openjdk.java.net Wed Feb 17 10:16:04 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Wed, 17 Feb 2021 10:16:04 GMT Subject: RFR: Fix Windows build failures In-Reply-To: References: Message-ID: On Wed, 17 Feb 2021 09:22:54 GMT, Aleksey Shipilev wrote: > Current Windows builds fail with: > > c:\buildbot\worker\build-shenandoah-jdkx-windows\build\src\hotspot\share\gc\shenandoah\shenandoahScanRemembered.cpp(36): error C2220: the following warning is treated as an error > c:\buildbot\worker\build-shenandoah-jdkx-windows\build\src\hotspot\share\gc\shenandoah\shenandoahScanRemembered.cpp(36): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data > make[3]: *** [lib/CompileJvm.gmk:143: /cygdrive/c/buildbot/worker/build-shenandoah-jdkx-windows/build/build/windows-x86_64-server-fastdebug/hotspot/variant-server/libjvm/objs/shenandoahScanRemembered.obj] Error 1 > > Additional testing: > - [x] Windows builds Looks good! ------------- Marked as reviewed by rkennke (Reviewer). PR: https://git.openjdk.java.net/shenandoah/pull/17 From shade at openjdk.java.net Wed Feb 17 10:18:07 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 17 Feb 2021 10:18:07 GMT Subject: RFR: Fix builds that do not have Shenandoah or other GCs In-Reply-To: <12gMbDiwzLhJnjk7vKZW0yRsq00seP0rGWkyEXlpYvk=.8dcf7741-5e27-4a17-8e13-b8f11f00c625@github.com> References: <12gMbDiwzLhJnjk7vKZW0yRsq00seP0rGWkyEXlpYvk=.8dcf7741-5e27-4a17-8e13-b8f11f00c625@github.com> Message-ID: On Wed, 17 Feb 2021 10:12:23 GMT, Roman Kennke wrote: > Looks good. I wonder if this should go upstream? Oh wait, this file is in upstream! So we only fail Shenandoah builds, because we touch ShenandoahGCMode that is not available. Other GCs expose at least some symbols to make this code work. Let me do a more pointed fix. ------------- PR: https://git.openjdk.java.net/shenandoah/pull/16 From shade at openjdk.java.net Wed Feb 17 10:20:03 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 17 Feb 2021 10:20:03 GMT Subject: Integrated: Fix Windows build failures In-Reply-To: References: Message-ID: <3JX4wzeOlFkwfGvvcuW2oeAkWOHQcXyrOCyz43P0C98=.f497fdb8-0baf-4d4f-a424-2ef64a30708a@github.com> On Wed, 17 Feb 2021 09:22:54 GMT, Aleksey Shipilev wrote: > Current Windows builds fail with: > > c:\buildbot\worker\build-shenandoah-jdkx-windows\build\src\hotspot\share\gc\shenandoah\shenandoahScanRemembered.cpp(36): error C2220: the following warning is treated as an error > c:\buildbot\worker\build-shenandoah-jdkx-windows\build\src\hotspot\share\gc\shenandoah\shenandoahScanRemembered.cpp(36): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data > make[3]: *** [lib/CompileJvm.gmk:143: /cygdrive/c/buildbot/worker/build-shenandoah-jdkx-windows/build/build/windows-x86_64-server-fastdebug/hotspot/variant-server/libjvm/objs/shenandoahScanRemembered.obj] Error 1 > > Additional testing: > - [x] Windows builds This pull request has now been integrated. Changeset: 6ddc7de7 Author: Aleksey Shipilev URL: https://git.openjdk.java.net/shenandoah/commit/6ddc7de7 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Fix Windows build failures Reviewed-by: rkennke ------------- PR: https://git.openjdk.java.net/shenandoah/pull/17 From shade at openjdk.java.net Wed Feb 17 10:22:22 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 17 Feb 2021 10:22:22 GMT Subject: RFR: Fix builds that do not have Shenandoah or other GCs [v2] In-Reply-To: References: Message-ID: <5N-ZavHLu8V11i0r7d63Az1C-t7_X2L6n5Ibn_oMc8M=.0802de2a-acb0-4da7-9074-51a6ec2bf6a1@github.com> > Lots of builds are currently failing with: > > > > if (strcmp(ShenandoahGCMode, "generational") == 0) { > ^~~~~~~~~~~~~~~~ > > The new code in `gcConfiguration.cpp` should actually sense which configurations are available. > > Additional testing: > - [x] Linux PPC64 build (as one failing example), now passing > - [x] Linux x86_64 `gc/shenandoah/generational` tests Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: More pointed fix ------------- Changes: - all: https://git.openjdk.java.net/shenandoah/pull/16/files - new: https://git.openjdk.java.net/shenandoah/pull/16/files/45786b08..22092e91 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=16&range=01 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=16&range=00-01 Stats: 18 lines in 1 file changed: 2 ins; 16 del; 0 mod Patch: https://git.openjdk.java.net/shenandoah/pull/16.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/16/head:pull/16 PR: https://git.openjdk.java.net/shenandoah/pull/16 From shade at openjdk.java.net Wed Feb 17 10:22:25 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 17 Feb 2021 10:22:25 GMT Subject: RFR: Fix builds that do not have Shenandoah or other GCs [v2] In-Reply-To: References: <12gMbDiwzLhJnjk7vKZW0yRsq00seP0rGWkyEXlpYvk=.8dcf7741-5e27-4a17-8e13-b8f11f00c625@github.com> Message-ID: On Wed, 17 Feb 2021 10:14:59 GMT, Aleksey Shipilev wrote: >> Looks good. I wonder if this should go upstream? > >> Looks good. I wonder if this should go upstream? > > Oh wait, this file is in upstream! So we only fail Shenandoah builds, because we touch ShenandoahGCMode that is not available. Other GCs expose at least some symbols to make this code work. Let me do a more pointed fix. Please look again. ------------- PR: https://git.openjdk.java.net/shenandoah/pull/16 From rkennke at openjdk.java.net Wed Feb 17 10:38:59 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Wed, 17 Feb 2021 10:38:59 GMT Subject: RFR: Fix builds that do not have Shenandoah or other GCs [v2] In-Reply-To: <5N-ZavHLu8V11i0r7d63Az1C-t7_X2L6n5Ibn_oMc8M=.0802de2a-acb0-4da7-9074-51a6ec2bf6a1@github.com> References: <5N-ZavHLu8V11i0r7d63Az1C-t7_X2L6n5Ibn_oMc8M=.0802de2a-acb0-4da7-9074-51a6ec2bf6a1@github.com> Message-ID: On Wed, 17 Feb 2021 10:22:22 GMT, Aleksey Shipilev wrote: >> Lots of builds are currently failing with: >> >> >> >> if (strcmp(ShenandoahGCMode, "generational") == 0) { >> ^~~~~~~~~~~~~~~~ >> >> The new code in `gcConfiguration.cpp` should actually sense which configurations are available. >> >> Additional testing: >> - [x] Linux PPC64 build (as one failing example), now passing >> - [x] Linux x86_64 `gc/shenandoah/generational` tests > > Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: > > More pointed fix Looks good! ------------- Marked as reviewed by rkennke (Reviewer). PR: https://git.openjdk.java.net/shenandoah/pull/16 From shade at openjdk.java.net Wed Feb 17 10:43:08 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 17 Feb 2021 10:43:08 GMT Subject: Integrated: Fix builds that do not have Shenandoah or other GCs In-Reply-To: References: Message-ID: On Wed, 17 Feb 2021 08:40:17 GMT, Aleksey Shipilev wrote: > Lots of builds are currently failing with: > > > > if (strcmp(ShenandoahGCMode, "generational") == 0) { > ^~~~~~~~~~~~~~~~ > > The new code in `gcConfiguration.cpp` should actually sense which configurations are available. > > Additional testing: > - [x] Linux PPC64 build (as one failing example), now passing > - [x] Linux x86_64 `gc/shenandoah/generational` tests This pull request has now been integrated. Changeset: a0f436c4 Author: Aleksey Shipilev URL: https://git.openjdk.java.net/shenandoah/commit/a0f436c4 Stats: 3 lines in 1 file changed: 3 ins; 0 del; 0 mod Fix builds that do not have Shenandoah or other GCs Reviewed-by: rkennke ------------- PR: https://git.openjdk.java.net/shenandoah/pull/16 From gnu.andrew at redhat.com Wed Feb 17 17:29:40 2021 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 17 Feb 2021 17:29:40 +0000 Subject: [aarch64-port-dev ] [RFR] [8u] 8u292-b01 Upstream Sync In-Reply-To: <48175e29-38dd-25fe-b59f-21f00b18fc89@redhat.com> References: <20210217063724.GA654084@rincewind> <48175e29-38dd-25fe-b59f-21f00b18fc89@redhat.com> Message-ID: <20210217172940.GA709365@rincewind> On 07:44 Wed 17 Feb , Aleksey Shipilev wrote: > On 2/17/21 7:37 AM, Andrew Hughes wrote: > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/corba/merge.changeset > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/jaxp/merge.changeset > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/jaxws/merge.changeset > > Look trivially good. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/jdk/merge.changeset > > Looks fine (cursory). > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/hotspot/merge.changeset > > Looks fine. It does not seem to break anything obvious. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/langtools/merge.changeset > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/nashorn/merge.changeset > > Look trivially good. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u292-b01/root/merge.changeset > > Looks good. > > > Ok to push? > > Yes, I think so. > > -- > Thanks, > -Aleksey > Thanks, all pushed now. I'll look into cleaning up the remaining differences in the non-HS repos. Thanks, -- Andrew :) Senior Free Java Software Engineer OpenJDK Package Owner Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From rkennke at openjdk.java.net Wed Feb 17 17:36:45 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Wed, 17 Feb 2021 17:36:45 GMT Subject: RFR: 8261473: Shenandoah: Add breakpoint suppoprt [v2] In-Reply-To: <9gXmTI0gU9zTr-HffSqSsVEVjmUED0rNINulpr_mjQM=.b353278c-a4f1-45f5-bf8d-ed1e33fbb0c9@github.com> References: <9gXmTI0gU9zTr-HffSqSsVEVjmUED0rNINulpr_mjQM=.b353278c-a4f1-45f5-bf8d-ed1e33fbb0c9@github.com> Message-ID: On Wed, 10 Feb 2021 20:13:52 GMT, Zhengyu Gu wrote: >> Please review this patch that adds breakpoint support for Shenandoah, that allows Shenandoah to access a few tests: >> >> gc/TestConcurrentGCBreakpoints.java >> gc/TestJNIWeak/TestJNIWeak.java >> gc/TestReferenceClearDuringMarking.java >> gc/TestReferenceClearDuringReferenceProcessing.java >> gc/TestReferenceRefersTo.java >> >> The drawback is that above tests can not run with passive mode, which can result tests to hang, as breakpoints only apply to concurrent GC. >> >> Test: >> - [x] hotspot_gc_shenandoah >> - [x] tier1 with Shenandoah > > Zhengyu Gu has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits: > > - Merge > - update > - init update The change looks good to me, thanks! ------------- Marked as reviewed by rkennke (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2489 From shade at redhat.com Wed Feb 17 18:10:05 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 17 Feb 2021 19:10:05 +0100 Subject: [8u] RFC: Pick up 8u292-b01 to sh/jdk8 Message-ID: <17b5a665-2066-df42-5e04-99c58a334a44@redhat.com> Following the recent pickup of 8u292-b01 to aarch64-port/jdk8u-shenandoah, let's pick it up to shenandoah/jdk8. All repos except hotspot are pulled clean without merges. Hotspot repo needs a merge, which completes fully automatically. Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From zgu at openjdk.java.net Wed Feb 17 18:35:40 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Wed, 17 Feb 2021 18:35:40 GMT Subject: Withdrawn: 8259647: Add support for JFR event ObjectCountAfterGC to Shenandoah In-Reply-To: References: Message-ID: On Wed, 3 Feb 2021 20:05:33 GMT, Zhengyu Gu wrote: > Please review this patch that adds JFR ObjectCountAfterGC event support. > > AFAICT, the event is off by default. If it is enabled, it distorts Shenandoah pause characteristics, since it performs heap walk during final mark pause. > > When event is disabled: > `[191.033s][info][gc,stats] Pause Init Mark (G) 454 us` > `[191.033s][info][gc,stats] Pause Init Mark (N) 13 us` > > When event is enabled: > `[396.631s][info][gc,stats] Pause Final Mark (G) 43199 us` > `[396.631s][info][gc,stats] Pause Final Mark (N) 42982 us` > > Test: > - [x] hotspot_gc_shenandoah This pull request has been closed without being integrated. ------------- PR: https://git.openjdk.java.net/jdk/pull/2386 From shade at redhat.com Wed Feb 17 19:14:45 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 17 Feb 2021 20:14:45 +0100 Subject: [8u] RFR: Revert differences against upstream 8u Message-ID: <381b7789-e948-f628-becb-1e4bd7321ce1@redhat.com> Hi, After Andrew's integration of 8u AArch64 port to aarch64-port/jdk8u-shenandoah, I took our autogenerated webrev [1] that is supposed to only include Shenandoah at this point, and eliminated obvious differences against t8u that we accrued over the years. Here: https://cr.openjdk.java.net/~shade/shenandoah/8u-post-aarch64-cleanup-1/webrev.01/ Testing: Linux x86_64 hotspot_gc_shenandoah; Linux aarch64 build -- Thanks, -Aleksey [1] https://builds.shipilev.net/patch-openjdk-jdk8-aarch64/hotspot/ From shade at redhat.com Wed Feb 17 19:15:07 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 17 Feb 2021 20:15:07 +0100 Subject: [8u] RFR: Revert differences against upstream 8u Message-ID: <7cfbeca3-14e7-fc45-0b63-e69ce1226ec7@redhat.com> Hi, After Andrew's integration of 8u AArch64 port to aarch64-port/jdk8u-shenandoah, I took our autogenerated webrev [1] that is supposed to only include Shenandoah at this point, and eliminated obvious differences against t8u that we accrued over the years. Here: https://cr.openjdk.java.net/~shade/shenandoah/8u-post-aarch64-cleanup-1/webrev.01/ Testing: Linux x86_64 hotspot_gc_shenandoah; Linux aarch64 build -- Thanks, -Aleksey [1] https://builds.shipilev.net/patch-openjdk-jdk8-aarch64/hotspot/ From shade at openjdk.java.net Wed Feb 17 19:26:16 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 17 Feb 2021 19:26:16 GMT Subject: RFR: Fix Zero builds Message-ID: Zero builds currently fail with: In file included from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp:28, from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shenandoah/mode/shenandoahGenerationalMode.cpp:26: 45 | log_info(gc)("Heuristics ergonomically sets -XX:+" #name); \ | ^~ 39 | SHENANDOAH_ERGO_ENABLE_FLAG(ExplicitGCInvokesConcurrent); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/runtime/stackWatermarkSet.hpp:29, from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/runtime/thread.hpp:42, from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/runtime/safepoint.hpp:30, from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shared/collectedHeap.hpp:35, from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp:30, from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.hpp:28, ... (rest of output omitted) This is because we are missing the "log" includes (look at `shenandoahSATBMode.cpp` for comparison), which are not transitively available with Zero builds. Additional testing: - [x] Linux x86_64 Zero build (now passes) ------------- Commit messages: - Fix Zero builds Changes: https://git.openjdk.java.net/shenandoah/pull/18/files Webrev: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=18&range=00 Stats: 3 lines in 1 file changed: 3 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/shenandoah/pull/18.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/18/head:pull/18 PR: https://git.openjdk.java.net/shenandoah/pull/18 From rkennke at redhat.com Wed Feb 17 20:32:41 2021 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 17 Feb 2021 21:32:41 +0100 Subject: [8u] RFR: Revert differences against upstream 8u In-Reply-To: <381b7789-e948-f628-becb-1e4bd7321ce1@redhat.com> References: <381b7789-e948-f628-becb-1e4bd7321ce1@redhat.com> Message-ID: Looks good to me! Thanks, Roman > Hi, > > After Andrew's integration of 8u AArch64 port to > aarch64-port/jdk8u-shenandoah, I took our autogenerated webrev [1] that > is supposed to only include Shenandoah at this point, and eliminated > obvious differences against t8u that we accrued over the years. > > Here: > ?https://cr.openjdk.java.net/~shade/shenandoah/8u-post-aarch64-cleanup-1/webrev.01/ > > Testing: Linux x86_64 hotspot_gc_shenandoah; Linux aarch64 build > From rkennke at openjdk.java.net Wed Feb 17 20:36:03 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Wed, 17 Feb 2021 20:36:03 GMT Subject: RFR: Fix Zero builds In-Reply-To: References: Message-ID: On Wed, 17 Feb 2021 19:22:02 GMT, Aleksey Shipilev wrote: > Zero builds currently fail with: > > In file included from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp:28, > from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shenandoah/mode/shenandoahGenerationalMode.cpp:26: > > > 45 | log_info(gc)("Heuristics ergonomically sets -XX:+" #name); \ > | ^~ > > 39 | SHENANDOAH_ERGO_ENABLE_FLAG(ExplicitGCInvokesConcurrent); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ > In file included from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/runtime/stackWatermarkSet.hpp:29, > from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/runtime/thread.hpp:42, > from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/runtime/safepoint.hpp:30, > from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shared/collectedHeap.hpp:35, > from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp:30, > from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.hpp:28, > ... (rest of output omitted) > > This is because we are missing the "log" includes (look at `shenandoahSATBMode.cpp` for comparison), which are not transitively available with Zero builds. > > Additional testing: > - [x] Linux x86_64 Zero build (now passes) Looks good! Thanks! ------------- Marked as reviewed by rkennke (Reviewer). PR: https://git.openjdk.java.net/shenandoah/pull/18 From shade at openjdk.java.net Thu Feb 18 06:54:04 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Thu, 18 Feb 2021 06:54:04 GMT Subject: Integrated: Fix Zero builds In-Reply-To: References: Message-ID: On Wed, 17 Feb 2021 19:22:02 GMT, Aleksey Shipilev wrote: > Zero builds currently fail with: > > In file included from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp:28, > from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shenandoah/mode/shenandoahGenerationalMode.cpp:26: > > > 45 | log_info(gc)("Heuristics ergonomically sets -XX:+" #name); \ > | ^~ > > 39 | SHENANDOAH_ERGO_ENABLE_FLAG(ExplicitGCInvokesConcurrent); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ > In file included from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/runtime/stackWatermarkSet.hpp:29, > from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/runtime/thread.hpp:42, > from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/runtime/safepoint.hpp:30, > from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shared/collectedHeap.hpp:35, > from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp:30, > from /home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.hpp:28, > ... (rest of output omitted) > > This is because we are missing the "log" includes (look at `shenandoahSATBMode.cpp` for comparison), which are not transitively available with Zero builds. > > Additional testing: > - [x] Linux x86_64 Zero build (now passes) This pull request has now been integrated. Changeset: 179c167a Author: Aleksey Shipilev URL: https://git.openjdk.java.net/shenandoah/commit/179c167a Stats: 3 lines in 1 file changed: 3 ins; 0 del; 0 mod Fix Zero builds Reviewed-by: rkennke ------------- PR: https://git.openjdk.java.net/shenandoah/pull/18 From shade at redhat.com Thu Feb 18 08:43:11 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 18 Feb 2021 09:43:11 +0100 Subject: [8u] RFR: Revert differences against upstream 8u In-Reply-To: References: <381b7789-e948-f628-becb-1e4bd7321ce1@redhat.com> Message-ID: <367faf12-a1e2-158b-ea85-219bf8ec94b4@redhat.com> Thanks, I'll wait for Andrew Hughes to ack this push to aarch64-port/jdk8u-shenandoah. -Aleksey On 2/17/21 9:32 PM, Roman Kennke wrote: > Looks good to me! > > Thanks, > Roman > > >> Hi, >> >> After Andrew's integration of 8u AArch64 port to >> aarch64-port/jdk8u-shenandoah, I took our autogenerated webrev [1] that >> is supposed to only include Shenandoah at this point, and eliminated >> obvious differences against t8u that we accrued over the years. >> >> Here: >> ?https://cr.openjdk.java.net/~shade/shenandoah/8u-post-aarch64-cleanup-1/webrev.01/ >> >> Testing: Linux x86_64 hotspot_gc_shenandoah; Linux aarch64 build From jbachorik at openjdk.java.net Thu Feb 18 10:09:02 2021 From: jbachorik at openjdk.java.net (Jaroslav Bachorik) Date: Thu, 18 Feb 2021 10:09:02 GMT Subject: RFR: 8258431: Provide a JFR event with live set size estimate Message-ID: <7HVs4jngEbNIQIPQByuE6IRYAxdijfa82uhEFWHld5U=.a7784482-d7e1-4d59-88ee-455d8691631e@github.com> The purpose of this change is to expose a 'cheap' estimate of the current live set size (the meaning of 'current' is dependent on each particular GC implementation but in worst case 'at last full GC') in form of a periodically emitted JFR event. ## Introducing new JFR event While there is already 'GC Heap Summary' JFR event it does not fit the requirements as it is closely tied to GC cycle so eg. for ZGC or Shenandoah it may not happen for quite a long time, increasing the risk of not having the heap summary events being present in the JFR recording at all. Because of this I am proposing to add a new 'Heap Usage Summary' event which will be emitted periodically, by default on each JFR chunk, and will contain the information abut the heap capacity, the used and live bytes. This information is available from all GC implementations and can be provided at literally any time. ## Implementation The implementation differs from GC to GC because each GC algorithm/implementation provides a slightly different way to track the liveness. The common part is `size_t live() const` method added to `CollectedHeap` superclass and the use of a cached 'liveness' value computed after the last GC cycle. If `liveness` hasn't been calculated yet the implementation will default to returning 'used' value. The implementations are based on my (rather shallow) knowledge of inner working of the respective GC engines and I am open to suggestions to make them better/correct. ### Epsilon GC Trivial implementation - just return `used()` instead. ### Serial GC Here we utilize the fact that mark-copy phase is naturally compacting so the number of bytes after copy is 'live' and that the mark-sweep implementation keeps an internal info about objects being 'dead' but excluded from the compaction effort and we can these numbers to derive the old-gen live set size (used bytes minus the cumulative size of the 'un-dead' objects). ### Parallel GC For Parallel GC the liveness is calculated as the sum of used bytes in all regions after the last GC cycle. This seems to be a safe bet because this collector is always compacting (AFAIK). ### G1 GC Using `G1ConcurrentMark::remark()` method the live set size is computed as a sum of `_live_words` from the associated `G1RegionMarkStats` objects. Here I am not 100% sure this approach covers all eventualities and it would be great to have someone skilled in G1 implementation to chime in so I can fix it. However, the numbers I am getting for G1 are comparable to other GCs for the same application. ### Shenandoah In Shenandoah, the regions are keeping the liveness info. However, the VM op that is used for iterating regions is a safe-pointing one so it would be great to run it in an already safe-pointed context. This leads to hooking into `ShenandoahConcurrentMark::finish_mark()` and `ShenandoahSTWMark::mark()` where at the end of the marking process the liveness info is summarized and set to `ShenandoahHeap::_live` volatile field - which is later read by the event emitting code. ### ZGC `ZStatHeap` is already holding the liveness info - so this implementation is just making it accessible via `ZCollectedHeap::live()` method. ------------- Commit messages: - 8258431: Provide a JFR event with live set size estimate Changes: https://git.openjdk.java.net/jdk/pull/2579/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2579&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8258431 Stats: 177 lines in 33 files changed: 172 ins; 1 del; 4 mod Patch: https://git.openjdk.java.net/jdk/pull/2579.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2579/head:pull/2579 PR: https://git.openjdk.java.net/jdk/pull/2579 From rkennke at redhat.com Thu Feb 18 10:25:34 2021 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 18 Feb 2021 11:25:34 +0100 Subject: [8u] RFC: Pick up 8u292-b01 to sh/jdk8 In-Reply-To: <17b5a665-2066-df42-5e04-99c58a334a44@redhat.com> References: <17b5a665-2066-df42-5e04-99c58a334a44@redhat.com> Message-ID: <50c7f43f-34a4-f75b-14c5-ff37cadbefd4@redhat.com> Yes, let's do that! Thanks, Roman > Following the recent pickup of 8u292-b01 to > aarch64-port/jdk8u-shenandoah, let's pick it up to shenandoah/jdk8. All > repos except hotspot are pulled clean without merges. Hotspot repo needs > a merge, which completes fully automatically. > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From shade at redhat.com Thu Feb 18 10:28:38 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 18 Feb 2021 11:28:38 +0100 Subject: [8u] RFC: Pick up 8u292-b01 to sh/jdk8 In-Reply-To: <50c7f43f-34a4-f75b-14c5-ff37cadbefd4@redhat.com> References: <17b5a665-2066-df42-5e04-99c58a334a44@redhat.com> <50c7f43f-34a4-f75b-14c5-ff37cadbefd4@redhat.com> Message-ID: Cheers, pushed. On 2/18/21 11:25 AM, Roman Kennke wrote: > Yes, let's do that! > > Thanks, > Roman > >> Following the recent pickup of 8u292-b01 to >> aarch64-port/jdk8u-shenandoah, let's pick it up to shenandoah/jdk8. All >> repos except hotspot are pulled clean without merges. Hotspot repo needs >> a merge, which completes fully automatically. >> >> Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From shade at openjdk.java.net Thu Feb 18 10:29:41 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Thu, 18 Feb 2021 10:29:41 GMT Subject: RFR: 8258431: Provide a JFR event with live set size estimate In-Reply-To: References: <7HVs4jngEbNIQIPQByuE6IRYAxdijfa82uhEFWHld5U=.a7784482-d7e1-4d59-88ee-455d8691631e@github.com> Message-ID: On Thu, 18 Feb 2021 10:23:37 GMT, Aleksey Shipilev wrote: >> The purpose of this change is to expose a 'cheap' estimate of the current live set size (the meaning of 'current' is dependent on each particular GC implementation but in worst case 'at last full GC') in form of a periodically emitted JFR event. >> >> ## Introducing new JFR event >> >> While there is already 'GC Heap Summary' JFR event it does not fit the requirements as it is closely tied to GC cycle so eg. for ZGC or Shenandoah it may not happen for quite a long time, increasing the risk of not having the heap summary events being present in the JFR recording at all. >> Because of this I am proposing to add a new 'Heap Usage Summary' event which will be emitted periodically, by default on each JFR chunk, and will contain the information abut the heap capacity, the used and live bytes. This information is available from all GC implementations and can be provided at literally any time. >> >> ## Implementation >> >> The implementation differs from GC to GC because each GC algorithm/implementation provides a slightly different way to track the liveness. The common part is `size_t live() const` method added to `CollectedHeap` superclass and the use of a cached 'liveness' value computed after the last GC cycle. If `liveness` hasn't been calculated yet the implementation will default to returning 'used' value. >> >> The implementations are based on my (rather shallow) knowledge of inner working of the respective GC engines and I am open to suggestions to make them better/correct. >> >> ### Epsilon GC >> >> Trivial implementation - just return `used()` instead. >> >> ### Serial GC >> >> Here we utilize the fact that mark-copy phase is naturally compacting so the number of bytes after copy is 'live' and that the mark-sweep implementation keeps an internal info about objects being 'dead' but excluded from the compaction effort and we can these numbers to derive the old-gen live set size (used bytes minus the cumulative size of the 'un-dead' objects). >> >> ### Parallel GC >> >> For Parallel GC the liveness is calculated as the sum of used bytes in all regions after the last GC cycle. This seems to be a safe bet because this collector is always compacting (AFAIK). >> >> ### G1 GC >> >> Using `G1ConcurrentMark::remark()` method the live set size is computed as a sum of `_live_words` from the associated `G1RegionMarkStats` objects. Here I am not 100% sure this approach covers all eventualities and it would be great to have someone skilled in G1 implementation to chime in so I can fix it. However, the numbers I am getting for G1 are comparable to other GCs for the same application. >> >> ### Shenandoah >> >> In Shenandoah, the regions are keeping the liveness info. However, the VM op that is used for iterating regions is a safe-pointing one so it would be great to run it in an already safe-pointed context. >> This leads to hooking into `ShenandoahConcurrentMark::finish_mark()` and `ShenandoahSTWMark::mark()` where at the end of the marking process the liveness info is summarized and set to `ShenandoahHeap::_live` volatile field - which is later read by the event emitting code. >> >> ### ZGC >> >> `ZStatHeap` is already holding the liveness info - so this implementation is just making it accessible via `ZCollectedHeap::live()` method. > > src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp line 627: > >> 625: >> 626: size_t ShenandoahHeap::live() const { >> 627: size_t live = Atomic::load_acquire(&_live); > > I understand you copy-pasted from the same file. We have removed `_acquire` with #2504. Do `Atomic::load` here. ...which also means you want to merge from master to get recent changes? ------------- PR: https://git.openjdk.java.net/jdk/pull/2579 From shade at openjdk.java.net Thu Feb 18 10:29:40 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Thu, 18 Feb 2021 10:29:40 GMT Subject: RFR: 8258431: Provide a JFR event with live set size estimate In-Reply-To: <7HVs4jngEbNIQIPQByuE6IRYAxdijfa82uhEFWHld5U=.a7784482-d7e1-4d59-88ee-455d8691631e@github.com> References: <7HVs4jngEbNIQIPQByuE6IRYAxdijfa82uhEFWHld5U=.a7784482-d7e1-4d59-88ee-455d8691631e@github.com> Message-ID: On Mon, 15 Feb 2021 17:23:44 GMT, Jaroslav Bachorik wrote: > The purpose of this change is to expose a 'cheap' estimate of the current live set size (the meaning of 'current' is dependent on each particular GC implementation but in worst case 'at last full GC') in form of a periodically emitted JFR event. > > ## Introducing new JFR event > > While there is already 'GC Heap Summary' JFR event it does not fit the requirements as it is closely tied to GC cycle so eg. for ZGC or Shenandoah it may not happen for quite a long time, increasing the risk of not having the heap summary events being present in the JFR recording at all. > Because of this I am proposing to add a new 'Heap Usage Summary' event which will be emitted periodically, by default on each JFR chunk, and will contain the information abut the heap capacity, the used and live bytes. This information is available from all GC implementations and can be provided at literally any time. > > ## Implementation > > The implementation differs from GC to GC because each GC algorithm/implementation provides a slightly different way to track the liveness. The common part is `size_t live() const` method added to `CollectedHeap` superclass and the use of a cached 'liveness' value computed after the last GC cycle. If `liveness` hasn't been calculated yet the implementation will default to returning 'used' value. > > The implementations are based on my (rather shallow) knowledge of inner working of the respective GC engines and I am open to suggestions to make them better/correct. > > ### Epsilon GC > > Trivial implementation - just return `used()` instead. > > ### Serial GC > > Here we utilize the fact that mark-copy phase is naturally compacting so the number of bytes after copy is 'live' and that the mark-sweep implementation keeps an internal info about objects being 'dead' but excluded from the compaction effort and we can these numbers to derive the old-gen live set size (used bytes minus the cumulative size of the 'un-dead' objects). > > ### Parallel GC > > For Parallel GC the liveness is calculated as the sum of used bytes in all regions after the last GC cycle. This seems to be a safe bet because this collector is always compacting (AFAIK). > > ### G1 GC > > Using `G1ConcurrentMark::remark()` method the live set size is computed as a sum of `_live_words` from the associated `G1RegionMarkStats` objects. Here I am not 100% sure this approach covers all eventualities and it would be great to have someone skilled in G1 implementation to chime in so I can fix it. However, the numbers I am getting for G1 are comparable to other GCs for the same application. > > ### Shenandoah > > In Shenandoah, the regions are keeping the liveness info. However, the VM op that is used for iterating regions is a safe-pointing one so it would be great to run it in an already safe-pointed context. > This leads to hooking into `ShenandoahConcurrentMark::finish_mark()` and `ShenandoahSTWMark::mark()` where at the end of the marking process the liveness info is summarized and set to `ShenandoahHeap::_live` volatile field - which is later read by the event emitting code. > > ### ZGC > > `ZStatHeap` is already holding the liveness info - so this implementation is just making it accessible via `ZCollectedHeap::live()` method. Interesting! Cursory review follows. src/hotspot/share/gc/g1/g1CollectedHeap.cpp line 4578: > 4576: > 4577: void G1CollectedHeap::set_live(size_t bytes) { > 4578: Atomic::release_store(&_live_size, bytes); I don't think this requires `release_store`, regular `store` would be enough. G1 folks can say for sure. src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp line 100: > 98: HeapWord* mem_allocate_old_gen(size_t size); > 99: > 100: Excess newline? src/hotspot/share/gc/shared/collectedHeap.hpp line 217: > 215: virtual size_t capacity() const = 0; > 216: virtual size_t used() const = 0; > 217: // a best-effort estimate of the live set size Suggestion: // Returns the estimate of live set size. Because live set changes over time, // this is a best-effort estimate by each of the implementations. These usually // are most precise right after the GC cycle. src/hotspot/share/gc/shared/genCollectedHeap.cpp line 1144: > 1142: _old_gen->prepare_for_compaction(&cp); > 1143: _young_gen->prepare_for_compaction(&cp); > 1144: Stray newline? src/hotspot/share/gc/shared/genCollectedHeap.hpp line 183: > 181: size_t live = _live_size; > 182: return live > 0 ? live : used(); > 183: }; I think the implementation belongs to `genCollectedHeap.cpp`. src/hotspot/share/gc/shared/generation.hpp line 140: > 138: virtual size_t used() const = 0; // The number of used bytes in the gen. > 139: virtual size_t free() const = 0; // The number of free bytes in the gen. > 140: virtual size_t live() const = 0; Needs a comment to match the lines above? Say, `// The estimate of live bytes in the gen.` src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp line 579: > 577: event.set_heapLive(heap->live()); > 578: event.commit(); > 579: } On the first sight, this belongs in `ShenandoahConcurrentMark::finish_mark()`. Placing the event here would fire the event when concurrent GC is cancelled, which is not what you want. src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp line 265: > 263: ShenandoahHeap* const heap = ShenandoahHeap::heap(); > 264: heap->set_concurrent_mark_in_progress(false); > 265: heap->mark_finished(); Let's not rename this method. Introduce a new method, `ShenandoahHeap::update_live`, and call it every time after `mark_complete_marking_context()` is called. src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp line 627: > 625: > 626: size_t ShenandoahHeap::live() const { > 627: size_t live = Atomic::load_acquire(&_live); I understand you copy-pasted from the same file. We have removed `_acquire` with #2504. Do `Atomic::load` here. src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp line 655: > 653: > 654: void ShenandoahHeap::set_live(size_t bytes) { > 655: Atomic::release_store_fence(&_live, bytes); Same, do `Atomic::store` here. src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp line 494: > 492: mark_complete_marking_context(); > 493: > 494: class ShenandoahCollectLiveSizeClosure : public ShenandoahHeapRegionClosure { We don't usually use the in-method declarations like these, pull it out of the method. src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp line 511: > 509: > 510: ShenandoahCollectLiveSizeClosure cl; > 511: heap_region_iterate(&cl); I think you want `parallel_heap_region_iterate` on this path, and do `Atomic::add(&_live, r->get_live_data_bytes())` in the closure. We shall see if this makes sense to make fully concurrently... src/hotspot/share/gc/epsilon/epsilonHeap.hpp line 80: > 78: virtual size_t capacity() const { return _virtual_space.committed_size(); } > 79: virtual size_t used() const { return _space->used(); } > 80: virtual size_t live() const { return used(); } I'd prefer to call `_space->used()` directly here. Minor optimization, I know. ------------- Changes requested by shade (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2579 From shade at redhat.com Thu Feb 18 10:28:03 2021 From: shade at redhat.com (shade at redhat.com) Date: Thu, 18 Feb 2021 10:28:03 +0000 Subject: hg: shenandoah/jdk8/langtools: 6 new changesets Message-ID: <202102181028.11IAS4EP019093@aojmv0008.oracle.com> Changeset: b1bd3ab4187d Author: andrew Date: 2021-01-19 19:55 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/b1bd3ab4187d Added tag jdk8u282-ga for changeset d186833d1c61 ! .hgtags Changeset: 1563975f72e6 Author: andrew Date: 2021-01-20 01:22 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/1563975f72e6 8259384: CUP version wrong in THIRD_PARTY_README after JDK-8233548 Reviewed-by: sgehwolf ! THIRD_PARTY_README Changeset: 9b3b56a11f7b Author: andrew Date: 2021-02-01 04:00 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/9b3b56a11f7b Added tag jdk8u292-b00 for changeset 55862cff797a ! .hgtags Changeset: ec36bfbc0bb2 Author: andrew Date: 2021-02-01 04:00 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/ec36bfbc0bb2 Added tag jdk8u292-b01 for changeset 9b3b56a11f7b ! .hgtags Changeset: b4aa2d61a076 Author: andrew Date: 2021-02-07 18:58 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/b4aa2d61a076 Merge jdk8u292-b01 ! .hgtags ! THIRD_PARTY_README Changeset: 67fd4edb2d57 Author: andrew Date: 2021-02-07 18:58 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/67fd4edb2d57 Added tag aarch64-shenandoah-jdk8u292-b01 for changeset b4aa2d61a076 ! .hgtags From shade at redhat.com Thu Feb 18 10:28:04 2021 From: shade at redhat.com (shade at redhat.com) Date: Thu, 18 Feb 2021 10:28:04 +0000 Subject: hg: shenandoah/jdk8/jaxp: 6 new changesets Message-ID: <202102181028.11IAS4cw019154@aojmv0008.oracle.com> Changeset: 33cbe3afd098 Author: andrew Date: 2021-01-19 19:55 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/33cbe3afd098 Added tag jdk8u282-ga for changeset 925d9ec1246e ! .hgtags Changeset: 602a50469eb0 Author: andrew Date: 2021-01-20 01:22 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/602a50469eb0 8259384: CUP version wrong in THIRD_PARTY_README after JDK-8233548 Reviewed-by: sgehwolf ! THIRD_PARTY_README Changeset: ca792b61ae05 Author: andrew Date: 2021-02-01 04:00 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/ca792b61ae05 Added tag jdk8u292-b00 for changeset bbaa1d8d7979 ! .hgtags Changeset: 7960fe788705 Author: andrew Date: 2021-02-01 04:00 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/7960fe788705 Added tag jdk8u292-b01 for changeset ca792b61ae05 ! .hgtags Changeset: 80a9b08fa11e Author: andrew Date: 2021-02-07 18:58 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/80a9b08fa11e Merge jdk8u292-b01 ! .hgtags ! THIRD_PARTY_README Changeset: b7f196079bb9 Author: andrew Date: 2021-02-07 18:58 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/b7f196079bb9 Added tag aarch64-shenandoah-jdk8u292-b01 for changeset 80a9b08fa11e ! .hgtags From shade at redhat.com Thu Feb 18 10:28:05 2021 From: shade at redhat.com (shade at redhat.com) Date: Thu, 18 Feb 2021 10:28:05 +0000 Subject: hg: shenandoah/jdk8/corba: 6 new changesets Message-ID: <202102181028.11IAS5X2019166@aojmv0008.oracle.com> Changeset: 404777bd1888 Author: andrew Date: 2021-01-19 19:55 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/404777bd1888 Added tag jdk8u282-ga for changeset e30b81acf38d ! .hgtags Changeset: d2fda5f09063 Author: andrew Date: 2021-01-20 01:22 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/d2fda5f09063 8259384: CUP version wrong in THIRD_PARTY_README after JDK-8233548 Reviewed-by: sgehwolf ! THIRD_PARTY_README Changeset: b4a44a19052d Author: andrew Date: 2021-02-01 04:00 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/b4a44a19052d Added tag jdk8u292-b00 for changeset c666ba7d5c8b ! .hgtags Changeset: b5f450e091f9 Author: andrew Date: 2021-02-01 04:00 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/b5f450e091f9 Added tag jdk8u292-b01 for changeset b4a44a19052d ! .hgtags Changeset: 9ed053692a26 Author: andrew Date: 2021-02-07 18:58 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/9ed053692a26 Merge jdk8u292-b01 ! .hgtags ! THIRD_PARTY_README Changeset: b72f11504511 Author: andrew Date: 2021-02-07 18:58 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/b72f11504511 Added tag aarch64-shenandoah-jdk8u292-b01 for changeset 9ed053692a26 ! .hgtags From shade at redhat.com Thu Feb 18 10:28:03 2021 From: shade at redhat.com (shade at redhat.com) Date: Thu, 18 Feb 2021 10:28:03 +0000 Subject: hg: shenandoah/jdk8/jaxws: 6 new changesets Message-ID: <202102181028.11IAS4Ti019092@aojmv0008.oracle.com> Changeset: d92e145eb784 Author: andrew Date: 2021-01-19 19:55 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/d92e145eb784 Added tag jdk8u282-ga for changeset f55dbd003d7f ! .hgtags Changeset: 37deaa1e58be Author: andrew Date: 2021-01-20 01:22 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/37deaa1e58be 8259384: CUP version wrong in THIRD_PARTY_README after JDK-8233548 Reviewed-by: sgehwolf ! THIRD_PARTY_README Changeset: 9d5330ab0f4e Author: andrew Date: 2021-02-01 04:00 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/9d5330ab0f4e Added tag jdk8u292-b00 for changeset 3b968877ac33 ! .hgtags Changeset: d0fb8a4d90aa Author: andrew Date: 2021-02-01 04:00 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/d0fb8a4d90aa Added tag jdk8u292-b01 for changeset 9d5330ab0f4e ! .hgtags Changeset: d703369a5ed8 Author: andrew Date: 2021-02-07 18:58 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/d703369a5ed8 Merge jdk8u292-b01 ! .hgtags ! THIRD_PARTY_README Changeset: 142bd78b9038 Author: andrew Date: 2021-02-07 18:58 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/142bd78b9038 Added tag aarch64-shenandoah-jdk8u292-b01 for changeset d703369a5ed8 ! .hgtags From shade at redhat.com Thu Feb 18 11:31:50 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 18 Feb 2021 12:31:50 +0100 Subject: [8u] Fix Shenandoah bindings in ADLC formssel Message-ID: <07caeb04-191f-fc22-7396-cbc1f1304c5f@redhat.com> Hi, While reading the sh/jdk8 difference against upstream, I realized that formssel.cpp changes are stale. We need to drop ShenandoahReadBarrier mentions, since there so no such node at all. InstructForm::captures_bottom_type does have ShenandoahCompareAndExchangeP/N in later JDKs, but no such nodes are available in 8u. So I just dropped the unnecessary test. MatchNode::needs_ideal_memory_edge needs ShenandoahCompareAndSwapN/P nodes, like all other JDK versions do. Actually, later JDK revisions add *Weak* and *CompareAndExchange* variants, but for 8u only CompareAndSwap are needed. 8u patch: diff -r 25688d338e24 src/share/vm/adlc/formssel.cpp --- a/src/share/vm/adlc/formssel.cpp Wed Feb 17 17:39:25 2021 +0100 +++ b/src/share/vm/adlc/formssel.cpp Thu Feb 18 12:27:37 2021 +0100 @@ -765,12 +765,11 @@ !strcmp(_matrule->_rChild->_opType,"LoadN") || !strcmp(_matrule->_rChild->_opType,"LoadNKlass") || !strcmp(_matrule->_rChild->_opType,"CreateEx") || // type of exception !strcmp(_matrule->_rChild->_opType,"CheckCastPP") || !strcmp(_matrule->_rChild->_opType,"GetAndSetP") || - !strcmp(_matrule->_rChild->_opType,"GetAndSetN") || - !strcmp(_matrule->_rChild->_opType,"ShenandoahReadBarrier"))) return true; + !strcmp(_matrule->_rChild->_opType,"GetAndSetN")) ) return true; else if ( is_ideal_load() == Form::idealP ) return true; else if ( is_ideal_store() != Form::none ) return true; if (needs_base_oop_edge(globals)) return true; @@ -3473,15 +3472,15 @@ "StoreVector", "LoadVector", "LoadRange", "LoadKlass", "LoadNKlass", "LoadL_unaligned", "LoadD_unaligned", "LoadPLocked", "StorePConditional", "StoreIConditional", "StoreLConditional", "CompareAndSwapI", "CompareAndSwapL", "CompareAndSwapP", "CompareAndSwapN", + "ShenandoahCompareAndSwapN", "ShenandoahCompareAndSwapP", "StoreCM", "ClearArray", "GetAndAddI", "GetAndSetI", "GetAndSetP", "GetAndAddL", "GetAndSetL", "GetAndSetN", - "ShenandoahReadBarrier", }; int cnt = sizeof(needs_ideal_memory_list)/sizeof(char*); if( strcmp(_opType,"PrefetchRead")==0 || strcmp(_opType,"PrefetchWrite")==0 || strcmp(_opType,"PrefetchAllocation")==0 ) Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From shade at redhat.com Thu Feb 18 11:32:55 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 18 Feb 2021 12:32:55 +0100 Subject: [8u] Fix Shenandoah bindings in ADLC formssel In-Reply-To: <07caeb04-191f-fc22-7396-cbc1f1304c5f@redhat.com> References: <07caeb04-191f-fc22-7396-cbc1f1304c5f@redhat.com> Message-ID: On 2/18/21 12:31 PM, Aleksey Shipilev wrote: > Testing: hotspot_gc_shenandoah {fastdebug,release} + jcstress with Shenandoah, which uses a lot of CASes. -- Thanks, -Aleksey From rkennke at redhat.com Thu Feb 18 12:04:15 2021 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 18 Feb 2021 13:04:15 +0100 Subject: [8u] Fix Shenandoah bindings in ADLC formssel In-Reply-To: <07caeb04-191f-fc22-7396-cbc1f1304c5f@redhat.com> References: <07caeb04-191f-fc22-7396-cbc1f1304c5f@redhat.com> Message-ID: <61bc40db-a048-fd38-e7e6-e19c7ba907a5@redhat.com> Looks good to me! Roman > Hi, > > While reading the sh/jdk8 difference against upstream, I realized that > formssel.cpp changes are stale. We need to drop ShenandoahReadBarrier > mentions, since there so no such node at all. > > InstructForm::captures_bottom_type does have > ShenandoahCompareAndExchangeP/N in later JDKs, but no such nodes are > available in 8u. So I just dropped the unnecessary test. > > MatchNode::needs_ideal_memory_edge needs ShenandoahCompareAndSwapN/P > nodes, like all other JDK versions do. Actually, later JDK revisions add > *Weak* and *CompareAndExchange* variants, but for 8u only CompareAndSwap > are needed. > > 8u patch: > > diff -r 25688d338e24 src/share/vm/adlc/formssel.cpp > --- a/src/share/vm/adlc/formssel.cpp??? Wed Feb 17 17:39:25 2021 +0100 > +++ b/src/share/vm/adlc/formssel.cpp??? Thu Feb 18 12:27:37 2021 +0100 > @@ -765,12 +765,11 @@ > ???????? !strcmp(_matrule->_rChild->_opType,"LoadN")??????? || > ???????? !strcmp(_matrule->_rChild->_opType,"LoadNKlass")?? || > ???????? !strcmp(_matrule->_rChild->_opType,"CreateEx")???? ||? // type > of exception > ???????? !strcmp(_matrule->_rChild->_opType,"CheckCastPP")? || > ???????? !strcmp(_matrule->_rChild->_opType,"GetAndSetP")?? || > -??????? !strcmp(_matrule->_rChild->_opType,"GetAndSetN")?? || > -??????? !strcmp(_matrule->_rChild->_opType,"ShenandoahReadBarrier"))) > return true; > +??????? !strcmp(_matrule->_rChild->_opType,"GetAndSetN")) )? return true; > ?? else if ( is_ideal_load() == Form::idealP )??????????????? return true; > ?? else if ( is_ideal_store() != Form::none? )??????????????? return true; > > ?? if (needs_base_oop_edge(globals)) return true; > > @@ -3473,15 +3472,15 @@ > ???? "StoreVector", "LoadVector", > ???? "LoadRange", "LoadKlass", "LoadNKlass", "LoadL_unaligned", > "LoadD_unaligned", > ???? "LoadPLocked", > ???? "StorePConditional", "StoreIConditional", "StoreLConditional", > ???? "CompareAndSwapI", "CompareAndSwapL", "CompareAndSwapP", > "CompareAndSwapN", > +??? "ShenandoahCompareAndSwapN", "ShenandoahCompareAndSwapP", > ???? "StoreCM", > ???? "ClearArray", > ???? "GetAndAddI", "GetAndSetI", "GetAndSetP", > ???? "GetAndAddL", "GetAndSetL", "GetAndSetN", > -??? "ShenandoahReadBarrier", > ?? }; > ?? int cnt = sizeof(needs_ideal_memory_list)/sizeof(char*); > ?? if( strcmp(_opType,"PrefetchRead")==0 || > ?????? strcmp(_opType,"PrefetchWrite")==0 || > ?????? strcmp(_opType,"PrefetchAllocation")==0 ) > > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From shade at redhat.com Thu Feb 18 12:32:52 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 18 Feb 2021 13:32:52 +0100 Subject: [8u] Fix Shenandoah bindings in ADLC formssel In-Reply-To: <61bc40db-a048-fd38-e7e6-e19c7ba907a5@redhat.com> References: <07caeb04-191f-fc22-7396-cbc1f1304c5f@redhat.com> <61bc40db-a048-fd38-e7e6-e19c7ba907a5@redhat.com> Message-ID: On 2/18/21 1:04 PM, Roman Kennke wrote: > Looks good to me! Thanks, pushed. -- -Aleksey From shade at openjdk.java.net Thu Feb 18 13:23:40 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Thu, 18 Feb 2021 13:23:40 GMT Subject: RFR: 8261473: Shenandoah: Add breakpoint suppoprt [v2] In-Reply-To: <9gXmTI0gU9zTr-HffSqSsVEVjmUED0rNINulpr_mjQM=.b353278c-a4f1-45f5-bf8d-ed1e33fbb0c9@github.com> References: <9gXmTI0gU9zTr-HffSqSsVEVjmUED0rNINulpr_mjQM=.b353278c-a4f1-45f5-bf8d-ed1e33fbb0c9@github.com> Message-ID: On Wed, 10 Feb 2021 20:13:52 GMT, Zhengyu Gu wrote: >> Please review this patch that adds breakpoint support for Shenandoah, that allows Shenandoah to access a few tests: >> >> gc/TestConcurrentGCBreakpoints.java >> gc/TestJNIWeak/TestJNIWeak.java >> gc/TestReferenceClearDuringMarking.java >> gc/TestReferenceClearDuringReferenceProcessing.java >> gc/TestReferenceRefersTo.java >> >> The drawback is that above tests can not run with passive mode, which can result tests to hang, as breakpoints only apply to concurrent GC. >> >> Test: >> - [x] hotspot_gc_shenandoah >> - [x] tier1 with Shenandoah > > Zhengyu Gu has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits: > > - Merge > - update > - init update Looks fine, minor nits. src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp line 52: > 50: > 51: // Breakpoint support > 52: class ShenandoahConcurrentGCScope : public StackObj { Let's call these `ShenandoahGCBreakpointScope` and `ShenandoahMarkBreakpointScope`? src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp line 476: > 474: bool ShenandoahControlThread::is_async_gc(GCCause::Cause cause) const { > 475: return cause == GCCause::_wb_breakpoint; > 476: } Do we really need this method? What is "async gc" anyway? I think you can just inline the method at its only use. ------------- Marked as reviewed by shade (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2489 From zgu at openjdk.java.net Thu Feb 18 14:06:56 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 18 Feb 2021 14:06:56 GMT Subject: RFR: 8261473: Shenandoah: Add breakpoint suppoprt [v2] In-Reply-To: References: <9gXmTI0gU9zTr-HffSqSsVEVjmUED0rNINulpr_mjQM=.b353278c-a4f1-45f5-bf8d-ed1e33fbb0c9@github.com> Message-ID: On Thu, 18 Feb 2021 13:19:18 GMT, Aleksey Shipilev wrote: >> Zhengyu Gu has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits: >> >> - Merge >> - update >> - init update > > src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp line 52: > >> 50: >> 51: // Breakpoint support >> 52: class ShenandoahConcurrentGCScope : public StackObj { > > Let's call these `ShenandoahGCBreakpointScope` and `ShenandoahMarkBreakpointScope`? Done > src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp line 476: > >> 474: bool ShenandoahControlThread::is_async_gc(GCCause::Cause cause) const { >> 475: return cause == GCCause::_wb_breakpoint; >> 476: } > > Do we really need this method? What is "async gc" anyway? I think you can just inline the method at its only use. Done ------------- PR: https://git.openjdk.java.net/jdk/pull/2489 From zgu at openjdk.java.net Thu Feb 18 14:06:54 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 18 Feb 2021 14:06:54 GMT Subject: RFR: 8261473: Shenandoah: Add breakpoint suppoprt [v3] In-Reply-To: References: Message-ID: > Please review this patch that adds breakpoint support for Shenandoah, that allows Shenandoah to access a few tests: > > gc/TestConcurrentGCBreakpoints.java > gc/TestJNIWeak/TestJNIWeak.java > gc/TestReferenceClearDuringMarking.java > gc/TestReferenceClearDuringReferenceProcessing.java > gc/TestReferenceRefersTo.java > > The drawback is that above tests can not run with passive mode, which can result tests to hang, as breakpoints only apply to concurrent GC. > > Test: > - [x] hotspot_gc_shenandoah > - [x] tier1 with Shenandoah Zhengyu Gu has updated the pull request incrementally with one additional commit since the last revision: Shade's comments and fixing a merge error ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2489/files - new: https://git.openjdk.java.net/jdk/pull/2489/files/2b88f7a6..4f19c4cd Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2489&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2489&range=01-02 Stats: 18 lines in 3 files changed: 2 ins; 7 del; 9 mod Patch: https://git.openjdk.java.net/jdk/pull/2489.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2489/head:pull/2489 PR: https://git.openjdk.java.net/jdk/pull/2489 From shade at openjdk.java.net Thu Feb 18 15:32:41 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Thu, 18 Feb 2021 15:32:41 GMT Subject: RFR: 8261473: Shenandoah: Add breakpoint suppoprt [v3] In-Reply-To: References: Message-ID: On Thu, 18 Feb 2021 14:06:54 GMT, Zhengyu Gu wrote: >> Please review this patch that adds breakpoint support for Shenandoah, that allows Shenandoah to access a few tests: >> >> gc/TestConcurrentGCBreakpoints.java >> gc/TestJNIWeak/TestJNIWeak.java >> gc/TestReferenceClearDuringMarking.java >> gc/TestReferenceClearDuringReferenceProcessing.java >> gc/TestReferenceRefersTo.java >> >> The drawback is that above tests can not run with passive mode, which can result tests to hang, as breakpoints only apply to concurrent GC. >> >> Test: >> - [x] hotspot_gc_shenandoah >> - [x] tier1 with Shenandoah > > Zhengyu Gu has updated the pull request incrementally with one additional commit since the last revision: > > Shade's comments and fixing a merge error Marked as reviewed by shade (Reviewer). src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp line 52: > 50: > 51: // Breakpoint support > 52: class ShenandoahBreakpointScope : public StackObj { Should probably be `ShenandoahBreakpointGCScope` to match that other "MarkScope". ------------- PR: https://git.openjdk.java.net/jdk/pull/2489 From zgu at openjdk.java.net Thu Feb 18 15:52:56 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 18 Feb 2021 15:52:56 GMT Subject: RFR: 8261473: Shenandoah: Add breakpoint suppoprt [v4] In-Reply-To: References: Message-ID: > Please review this patch that adds breakpoint support for Shenandoah, that allows Shenandoah to access a few tests: > > gc/TestConcurrentGCBreakpoints.java > gc/TestJNIWeak/TestJNIWeak.java > gc/TestReferenceClearDuringMarking.java > gc/TestReferenceClearDuringReferenceProcessing.java > gc/TestReferenceRefersTo.java > > The drawback is that above tests can not run with passive mode, which can result tests to hang, as breakpoints only apply to concurrent GC. > > Test: > - [x] hotspot_gc_shenandoah > - [x] tier1 with Shenandoah Zhengyu Gu has updated the pull request incrementally with one additional commit since the last revision: More renaming per @shade ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2489/files - new: https://git.openjdk.java.net/jdk/pull/2489/files/4f19c4cd..a9629c8f Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2489&range=03 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2489&range=02-03 Stats: 5 lines in 1 file changed: 0 ins; 0 del; 5 mod Patch: https://git.openjdk.java.net/jdk/pull/2489.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2489/head:pull/2489 PR: https://git.openjdk.java.net/jdk/pull/2489 From shade at openjdk.java.net Thu Feb 18 15:53:41 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Thu, 18 Feb 2021 15:53:41 GMT Subject: Integrated: 8261838: Shenandoah: reconsider heap region iterators memory ordering In-Reply-To: References: Message-ID: <62us8rPYIjJz0Im-fzSBkSgAdtRZUaB0UzvBAdVPMNA=.2127c9ef-271e-4d4e-b962-914ee54f906b@github.com> On Tue, 16 Feb 2021 19:13:03 GMT, Aleksey Shipilev wrote: > We use CASes to distributed workers between regions. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > This seems to be excessive for region distribution code, and "relaxed" is enough, since we don't piggyback memory ordering on these. > > This also calls for some refactoring in the code itself. > > Additional testing: > - [x] `hotspot_gc_shenandoah` > - [ ] Ad-hoc performance runs This pull request has now been integrated. Changeset: fd098e71 Author: Aleksey Shipilev URL: https://git.openjdk.java.net/jdk/commit/fd098e71 Stats: 24 lines in 4 files changed: 2 ins; 3 del; 19 mod 8261838: Shenandoah: reconsider heap region iterators memory ordering Reviewed-by: rkennke ------------- PR: https://git.openjdk.java.net/jdk/pull/2593 From shade at openjdk.java.net Thu Feb 18 15:55:40 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Thu, 18 Feb 2021 15:55:40 GMT Subject: RFR: 8261473: Shenandoah: Add breakpoint suppoprt [v4] In-Reply-To: References: Message-ID: <0DbP2gE5bq0tJ2vwI6sJfWfjBd_5HmyVSdRsaHyhoMg=.b832313e-a0b7-47ef-9d0c-58579ea3e7b1@github.com> On Thu, 18 Feb 2021 15:52:56 GMT, Zhengyu Gu wrote: >> Please review this patch that adds breakpoint support for Shenandoah, that allows Shenandoah to access a few tests: >> >> gc/TestConcurrentGCBreakpoints.java >> gc/TestJNIWeak/TestJNIWeak.java >> gc/TestReferenceClearDuringMarking.java >> gc/TestReferenceClearDuringReferenceProcessing.java >> gc/TestReferenceRefersTo.java >> >> The drawback is that above tests can not run with passive mode, which can result tests to hang, as breakpoints only apply to concurrent GC. >> >> Test: >> - [x] hotspot_gc_shenandoah >> - [x] tier1 with Shenandoah > > Zhengyu Gu has updated the pull request incrementally with one additional commit since the last revision: > > More renaming per @shade Marked as reviewed by shade (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/2489 From gnu.andrew at redhat.com Thu Feb 18 18:23:37 2021 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 18 Feb 2021 18:23:37 +0000 Subject: [8u] RFR: Revert differences against upstream 8u In-Reply-To: <381b7789-e948-f628-becb-1e4bd7321ce1@redhat.com> References: <381b7789-e948-f628-becb-1e4bd7321ce1@redhat.com> Message-ID: <20210218182337.GA760252@rincewind> On 20:14 Wed 17 Feb , Aleksey Shipilev wrote: > Hi, > > After Andrew's integration of 8u AArch64 port to > aarch64-port/jdk8u-shenandoah, I took our autogenerated webrev [1] that is > supposed to only include Shenandoah at this point, and eliminated obvious > differences against t8u that we accrued over the years. > > Here: > https://cr.openjdk.java.net/~shade/shenandoah/8u-post-aarch64-cleanup-1/webrev.01/ > > Testing: Linux x86_64 hotspot_gc_shenandoah; Linux aarch64 build > > -- > Thanks, > -Aleksey > > [1] https://builds.shipilev.net/patch-openjdk-jdk8-aarch64/hotspot/ > Thanks for doing this. I'm surprised (and rather scared) by how many there are. Most seem to be whitespace, thankfully. Do you have any idea how old the differences are? I'm wondering if there are issues with our current merge process, or whether these date back as long as the Windows one we spoke about yesterday. One change does stand out: diff --git a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp --- a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp +++ b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp @@ -1720,7 +1720,7 @@ __ biased_locking_enter(lock_reg, obj_reg, swap_reg, tmp, false, lock_done, &slow_path_lock); } - // Load (object->mark() | 1) into swap_reg r0 + // Load (object->mark() | 1) into swap_reg %r0 __ ldr(rscratch1, Address(obj_reg, 0)); __ orr(swap_reg, rscratch1, 1); The removal of the '%' is the more recent change, done by Andrew Haley when adding AArch64 Shenandoah support. Is it not upstream that is behind here? That's why I left this when merging 8u292-b01. Rest looks good. Thanks, -- Andrew :) Senior Free Java Software Engineer OpenJDK Package Owner Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From shade at redhat.com Thu Feb 18 18:30:20 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 18 Feb 2021 19:30:20 +0100 Subject: [8u] RFR: Revert differences against upstream 8u In-Reply-To: <20210218182337.GA760252@rincewind> References: <381b7789-e948-f628-becb-1e4bd7321ce1@redhat.com> <20210218182337.GA760252@rincewind> Message-ID: <59a5d75b-cb46-cd12-14cd-c60b66aa07a1@redhat.com> On 2/18/21 7:23 PM, Andrew Hughes wrote: > Thanks for doing this. I'm surprised (and rather scared) by how many there > are. Most seem to be whitespace, thankfully. Do you have any idea how old > the differences are? I'm wondering if there are issues with our current merge > process, or whether these date back as long as the Windows one we spoke about > yesterday. The overwhelming majority of changes are from Shenandoah dropping read-barriers support and thus "reverting" to old code where read barriers used to be. Not everything was reverted to exactly upstream state. There are a few non-whitespace changes left out from this webrev, those would need to be untangled separately. This webrev reverts the obvious ones that do not require deep testing. > One change does stand out: > > diff --git a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp > --- a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp > +++ b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp > @@ -1720,7 +1720,7 @@ > __ biased_locking_enter(lock_reg, obj_reg, swap_reg, tmp, false, lock_done, &slow_path_lock); > } > > - // Load (object->mark() | 1) into swap_reg r0 > + // Load (object->mark() | 1) into swap_reg %r0 > __ ldr(rscratch1, Address(obj_reg, 0)); > __ orr(swap_reg, rscratch1, 1); > > The removal of the '%' is the more recent change, done by Andrew Haley > when adding AArch64 Shenandoah support. Is it not upstream that is > behind here? That's why I left this when merging 8u292-b01. Note this is a comment line. Upstream does have "%": http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/3d2970e26c36/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp#l1723 I think Andrew just mistyped in the old changeset: changeset: 8867:af37ee789a9c user: aph date: Thu May 05 14:14:21 2016 +0000 summary: AArch64 support for Shenandoah. diff -r 1ad0df87706c -r af37ee789a9c src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp --- a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Tue May 03 14:10:12 2016 +0100 +++ b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Thu May 05 14:14:21 2016 +0000 @@ -1821,11 +1821,13 @@ // Load the oop from the handle __ ldr(obj_reg, Address(oop_handle_reg, 0)); + oopDesc::bs()->interpreter_write_barrier(masm, obj_reg); + if (UseBiasedLocking) { __ biased_locking_enter(lock_reg, obj_reg, swap_reg, tmp, false, lock_done, &slow_path_lock); } - // Load (object->mark() | 1) into swap_reg %r0 + // Load (object->mark() | 1) into swap_reg r0 __ ldr(rscratch1, Address(obj_reg, 0)); __ orr(swap_reg, rscratch1, 1); @@ -1989,6 +1991,8 @@ Label done; + __ shenandoah_store_check(obj_reg); + if (UseBiasedLocking) { __ biased_locking_exit(obj_reg, old_hdr, done); } > Rest looks good. I am pushing this to aarch64-port/jdk8u-shenandoah, OK? -- Thanks, -Aleksey From zgu at openjdk.java.net Thu Feb 18 18:34:44 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 18 Feb 2021 18:34:44 GMT Subject: Integrated: 8261473: Shenandoah: Add breakpoint support In-Reply-To: References: Message-ID: On Tue, 9 Feb 2021 21:19:11 GMT, Zhengyu Gu wrote: > Please review this patch that adds breakpoint support for Shenandoah, that allows Shenandoah to access a few tests: > > gc/TestConcurrentGCBreakpoints.java > gc/TestJNIWeak/TestJNIWeak.java > gc/TestReferenceClearDuringMarking.java > gc/TestReferenceClearDuringReferenceProcessing.java > gc/TestReferenceRefersTo.java > > The drawback is that above tests can not run with passive mode, which can result tests to hang, as breakpoints only apply to concurrent GC. > > Test: > - [x] hotspot_gc_shenandoah > - [x] tier1 with Shenandoah This pull request has now been integrated. Changeset: 9cf4f90d Author: Zhengyu Gu URL: https://git.openjdk.java.net/jdk/commit/9cf4f90d Stats: 165 lines in 7 files changed: 153 ins; 2 del; 10 mod 8261473: Shenandoah: Add breakpoint support Reviewed-by: rkennke, shade ------------- PR: https://git.openjdk.java.net/jdk/pull/2489 From gnu.andrew at redhat.com Thu Feb 18 18:41:03 2021 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 18 Feb 2021 18:41:03 +0000 Subject: [8u] RFR: Revert differences against upstream 8u In-Reply-To: <59a5d75b-cb46-cd12-14cd-c60b66aa07a1@redhat.com> References: <381b7789-e948-f628-becb-1e4bd7321ce1@redhat.com> <20210218182337.GA760252@rincewind> <59a5d75b-cb46-cd12-14cd-c60b66aa07a1@redhat.com> Message-ID: <20210218184103.GB760252@rincewind> On 19:30 Thu 18 Feb , Aleksey Shipilev wrote: snip... > > Note this is a comment line. Upstream does have "%": > > http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/3d2970e26c36/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp#l1723 > > I think Andrew just mistyped in the old changeset: > > changeset: 8867:af37ee789a9c > user: aph > date: Thu May 05 14:14:21 2016 +0000 > summary: AArch64 support for Shenandoah. > Right, upstream has '%' because it's the pre-Shenandoah sources. It was later removed in aarch64/shenandoah-jdk8u: https://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah/hotspot/rev/af37ee789a9c#l10.14 Removing it is the right thing, no? -- Andrew :) Senior Free Java Software Engineer OpenJDK Package Owner Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From shade at redhat.com Thu Feb 18 18:56:40 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 18 Feb 2021 19:56:40 +0100 Subject: [8u] RFR: Revert differences against upstream 8u In-Reply-To: <20210218184103.GB760252@rincewind> References: <381b7789-e948-f628-becb-1e4bd7321ce1@redhat.com> <20210218182337.GA760252@rincewind> <59a5d75b-cb46-cd12-14cd-c60b66aa07a1@redhat.com> <20210218184103.GB760252@rincewind> Message-ID: <6ef7dbb5-c2c5-7527-814e-b05f14de3ae3@redhat.com> On 2/18/21 7:41 PM, Andrew Hughes wrote: > On 19:30 Thu 18 Feb , Aleksey Shipilev wrote: >> changeset: 8867:af37ee789a9c >> user: aph >> date: Thu May 05 14:14:21 2016 +0000 >> summary: AArch64 support for Shenandoah. > > Right, upstream has '%' because it's the pre-Shenandoah sources. > It was later removed in aarch64/shenandoah-jdk8u: > > https://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah/hotspot/rev/af37ee789a9c#l10.14 > > Removing it is the right thing, no? I don't see how. 8u upstream has it with "%": http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/3d2970e26c36/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp#l1723 ...and it still has "%r0" in the line that is not affected by Shenandoah at all: http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/3d2970e26c36/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp#l1744 ...and the same shape remains thorough JDK 11 -> JDK 17. It is a typo in the initial Shenandoah 8u sources, plain and simple, should be reverted to upstream state. Moreover, this is a _comment line_, it does not even affect the product code. -- Thanks, -Aleksey From zgu at openjdk.java.net Thu Feb 18 21:08:46 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 18 Feb 2021 21:08:46 GMT Subject: RFR: 8261984: Shenandoah: Remove unused ShenandoahPushWorkerQueuesScope class Message-ID: Please review this trivial change that removes unused ShenandoahPushWorkerQueuesScope class. ------------- Commit messages: - 8261984: Shenandoah: Remove unused ShenandoahPushWorkerQueuesScope class Changes: https://git.openjdk.java.net/jdk/pull/2632/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2632&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261984 Stats: 21 lines in 2 files changed: 0 ins; 19 del; 2 mod Patch: https://git.openjdk.java.net/jdk/pull/2632.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2632/head:pull/2632 PR: https://git.openjdk.java.net/jdk/pull/2632 From ccheung at openjdk.java.net Fri Feb 19 06:10:51 2021 From: ccheung at openjdk.java.net (Calvin Cheung) Date: Fri, 19 Feb 2021 06:10:51 GMT Subject: RFR: 8261868: Reduce inclusion of metaspace.hpp [v2] In-Reply-To: References: Message-ID: On Wed, 17 Feb 2021 07:31:12 GMT, Ioi Lam wrote: >> metaspace.hpp is included by about 770 out of 1000 HotSpot .o files. Most of these are transitively included via array.hpp and classLoaderData.hpp. >> >> - classLoaderData.hpp doesn't actually need metaspace.hpp. >> - array.hpp can be refactored to put a function that depends on metaspace.hpp into array.inline.hpp >> >> Doing the above reduces the number of .o files that include metaspace.hpp to 343. Since this is still a significant number, we should split out the rarely used classes (such as `MetaspaceGC` and `MetaspaceUtils`) into a new header file (metaspaceUtils.hpp, which is included only 30 times). >> >> Also, these 3 includes can now be removed from metaspace.hpp. >> >> #include "memory/memRegion.hpp" >> #include "memory/metaspaceChunkFreeListSummary.hpp" >> #include "memory/virtualspace.hpp" >> >> Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. >> >> (I also fixed an unrelated comment in archiveUtils.cpp when I was scanning for the word "Metaspace" in the source files -- the function `MetaspaceShared::commit_to()` no longer exists). > > Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: > > fixed ppc/s390 builds One more file you may consider updating is share/memory/classLoaderMetaspace.cpp. It now depends on metaspaceUtils.hpp but it includes it transitively via metaspaceTracer.hpp. The include of metaspace.hpp is not needed because classLoaderMetaspace.hpp includes it. Other changes seem good. Thanks, Calvin ------------- Marked as reviewed by ccheung (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2599 From shade at openjdk.java.net Fri Feb 19 06:13:38 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Fri, 19 Feb 2021 06:13:38 GMT Subject: RFR: 8261984: Shenandoah: Remove unused ShenandoahPushWorkerQueuesScope class In-Reply-To: References: Message-ID: On Thu, 18 Feb 2021 21:03:34 GMT, Zhengyu Gu wrote: > Please review this trivial change that removes unused ShenandoahPushWorkerQueuesScope class. Marked as reviewed by shade (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/2632 From ayang at openjdk.java.net Fri Feb 19 08:36:40 2021 From: ayang at openjdk.java.net (Albert Mingkun Yang) Date: Fri, 19 Feb 2021 08:36:40 GMT Subject: RFR: 8258431: Provide a JFR event with live set size estimate In-Reply-To: <7HVs4jngEbNIQIPQByuE6IRYAxdijfa82uhEFWHld5U=.a7784482-d7e1-4d59-88ee-455d8691631e@github.com> References: <7HVs4jngEbNIQIPQByuE6IRYAxdijfa82uhEFWHld5U=.a7784482-d7e1-4d59-88ee-455d8691631e@github.com> Message-ID: On Mon, 15 Feb 2021 17:23:44 GMT, Jaroslav Bachorik wrote: > The purpose of this change is to expose a 'cheap' estimate of the current live set size (the meaning of 'current' is dependent on each particular GC implementation but in worst case 'at last full GC') in form of a periodically emitted JFR event. > > ## Introducing new JFR event > > While there is already 'GC Heap Summary' JFR event it does not fit the requirements as it is closely tied to GC cycle so eg. for ZGC or Shenandoah it may not happen for quite a long time, increasing the risk of not having the heap summary events being present in the JFR recording at all. > Because of this I am proposing to add a new 'Heap Usage Summary' event which will be emitted periodically, by default on each JFR chunk, and will contain the information abut the heap capacity, the used and live bytes. This information is available from all GC implementations and can be provided at literally any time. > > ## Implementation > > The implementation differs from GC to GC because each GC algorithm/implementation provides a slightly different way to track the liveness. The common part is `size_t live() const` method added to `CollectedHeap` superclass and the use of a cached 'liveness' value computed after the last GC cycle. If `liveness` hasn't been calculated yet the implementation will default to returning 'used' value. > > The implementations are based on my (rather shallow) knowledge of inner working of the respective GC engines and I am open to suggestions to make them better/correct. > > ### Epsilon GC > > Trivial implementation - just return `used()` instead. > > ### Serial GC > > Here we utilize the fact that mark-copy phase is naturally compacting so the number of bytes after copy is 'live' and that the mark-sweep implementation keeps an internal info about objects being 'dead' but excluded from the compaction effort and we can these numbers to derive the old-gen live set size (used bytes minus the cumulative size of the 'un-dead' objects). > > ### Parallel GC > > For Parallel GC the liveness is calculated as the sum of used bytes in all regions after the last GC cycle. This seems to be a safe bet because this collector is always compacting (AFAIK). > > ### G1 GC > > Using `G1ConcurrentMark::remark()` method the live set size is computed as a sum of `_live_words` from the associated `G1RegionMarkStats` objects. Here I am not 100% sure this approach covers all eventualities and it would be great to have someone skilled in G1 implementation to chime in so I can fix it. However, the numbers I am getting for G1 are comparable to other GCs for the same application. > > ### Shenandoah > > In Shenandoah, the regions are keeping the liveness info. However, the VM op that is used for iterating regions is a safe-pointing one so it would be great to run it in an already safe-pointed context. > This leads to hooking into `ShenandoahConcurrentMark::finish_mark()` and `ShenandoahSTWMark::mark()` where at the end of the marking process the liveness info is summarized and set to `ShenandoahHeap::_live` volatile field - which is later read by the event emitting code. > > ### ZGC > > `ZStatHeap` is already holding the liveness info - so this implementation is just making it accessible via `ZCollectedHeap::live()` method. Additionally, some test(s) on this new feature would be nice. Maybe you can add sth in `HeapSummaryEventAllGcs`? PS: I was looking into how to get periodic heap usage info just a few days ago, and settled for `MemProfiling` as a workaround. Thank you for the patch. src/hotspot/share/jfr/periodic/jfrPeriodic.cpp line 649: > 647: TRACE_REQUEST_FUNC(HeapUsageSummary) { > 648: EventHeapUsageSummary event; > 649: if (event.should_commit()) { I believe the `should_commit` check is not needed; the period check is handle by the caller. src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp line 79: > 77: size_t _young_live; > 78: size_t _eden_live; > 79: size_t _old_live; It's only the sum that's ever exposed, right? I wonder if it makes sense to merge them into one var to only track the sum. ------------- Changes requested by ayang (Author). PR: https://git.openjdk.java.net/jdk/pull/2579 From aph at redhat.com Fri Feb 19 09:47:42 2021 From: aph at redhat.com (Andrew Haley) Date: Fri, 19 Feb 2021 09:47:42 +0000 Subject: [aarch64-port-dev ] [8u] RFR: Revert differences against upstream 8u In-Reply-To: <6ef7dbb5-c2c5-7527-814e-b05f14de3ae3@redhat.com> References: <381b7789-e948-f628-becb-1e4bd7321ce1@redhat.com> <20210218182337.GA760252@rincewind> <59a5d75b-cb46-cd12-14cd-c60b66aa07a1@redhat.com> <20210218184103.GB760252@rincewind> <6ef7dbb5-c2c5-7527-814e-b05f14de3ae3@redhat.com> Message-ID: <334cf282-43fd-2843-54f6-54195b712a0b@redhat.com> On 18/02/2021 18:56, Aleksey Shipilev wrote: > On 2/18/21 7:41 PM, Andrew Hughes wrote: >> On 19:30 Thu 18 Feb , Aleksey Shipilev wrote: >>> changeset: 8867:af37ee789a9c >>> user: aph >>> date: Thu May 05 14:14:21 2016 +0000 >>> summary: AArch64 support for Shenandoah. >> >> Right, upstream has '%' because it's the pre-Shenandoah sources. >> It was later removed in aarch64/shenandoah-jdk8u: >> >> https://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah/hotspot/rev/af37ee789a9c#l10.14 >> >> Removing it is the right thing, no? > > I don't see how. > > 8u upstream has it with "%": > > http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/3d2970e26c36/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp#l1723 > > ...and it still has "%r0" in the line that is not affected by Shenandoah at all: > > http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/3d2970e26c36/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp#l1744 > > ...and the same shape remains thorough JDK 11 -> JDK 17. > > It is a typo in the initial Shenandoah 8u sources, plain and simple, should be reverted to upstream > state. Moreover, this is a _comment line_, it does not even affect the product code. It really doesn't matter one way or the other. It doesn't affect the sense of the comment. -- 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 Fri Feb 19 10:29:49 2021 From: aph at redhat.com (Andrew Haley) Date: Fri, 19 Feb 2021 10:29:49 +0000 Subject: [aarch64-port-dev ] [8u] RFR: Revert differences against upstream 8u In-Reply-To: <334cf282-43fd-2843-54f6-54195b712a0b@redhat.com> References: <381b7789-e948-f628-becb-1e4bd7321ce1@redhat.com> <20210218182337.GA760252@rincewind> <59a5d75b-cb46-cd12-14cd-c60b66aa07a1@redhat.com> <20210218184103.GB760252@rincewind> <6ef7dbb5-c2c5-7527-814e-b05f14de3ae3@redhat.com> <334cf282-43fd-2843-54f6-54195b712a0b@redhat.com> Message-ID: On 19/02/2021 09:47, Andrew Haley wrote: > On 18/02/2021 18:56, Aleksey Shipilev wrote: >> On 2/18/21 7:41 PM, Andrew Hughes wrote: >>> On 19:30 Thu 18 Feb , Aleksey Shipilev wrote: >>>> changeset: 8867:af37ee789a9c >>>> user: aph >>>> date: Thu May 05 14:14:21 2016 +0000 >>>> summary: AArch64 support for Shenandoah. >>> >>> Right, upstream has '%' because it's the pre-Shenandoah sources. >>> It was later removed in aarch64/shenandoah-jdk8u: >>> >>> https://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah/hotspot/rev/af37ee789a9c#l10.14 >>> >>> Removing it is the right thing, no? >> >> I don't see how. >> >> 8u upstream has it with "%": >> >> http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/3d2970e26c36/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp#l1723 >> >> ...and it still has "%r0" in the line that is not affected by Shenandoah at all: >> >> http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/3d2970e26c36/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp#l1744 >> >> ...and the same shape remains thorough JDK 11 -> JDK 17. >> >> It is a typo in the initial Shenandoah 8u sources, plain and simple, should be reverted to upstream >> state. Moreover, this is a _comment line_, it does not even affect the product code. > > It really doesn't matter one way or the other. It doesn't affect > the sense of the comment. Found its origin: # HG changeset patch # User aph # Date 1366383259 -3600 # Fri Apr 19 15:54:19 2013 +0100 # Branch aarch64_c1 # Node ID 75d074c0bb0e3573f9d120a95fdf30d1fc247170 # Parent 0ee05f165e3b94e49185e70d5f52eb1a8b433d79 Much new c1 code generation: Object allocation Array allocation Correct codegen for int add/sub/shift Arraycopy volatile load & store c2i adapters Native wrappers - // Load (object->mark() | 1) into swap_reg %rax - __ orptr(swap_reg, Address(obj_reg, 0)); + // Load (object->mark() | 1) into swap_reg %r0 + __ ldr(rscratch1, Address(obj_reg, 0)); + __ orr(swap_reg, rscratch1, 1); So the "%rax" was in the x86 code the AArch64 port is based on, but it doesn't make much sense there either. And at some point someone, perhaps me, "cleaned it up", but not on mainline. Oh well. -- 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 openjdk.java.net Fri Feb 19 13:46:39 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Fri, 19 Feb 2021 13:46:39 GMT Subject: Integrated: 8261984: Shenandoah: Remove unused ShenandoahPushWorkerQueuesScope class In-Reply-To: References: Message-ID: On Thu, 18 Feb 2021 21:03:34 GMT, Zhengyu Gu wrote: > Please review this trivial change that removes unused ShenandoahPushWorkerQueuesScope class. This pull request has now been integrated. Changeset: 55463b04 Author: Zhengyu Gu URL: https://git.openjdk.java.net/jdk/commit/55463b04 Stats: 21 lines in 2 files changed: 0 ins; 19 del; 2 mod 8261984: Shenandoah: Remove unused ShenandoahPushWorkerQueuesScope class Reviewed-by: shade ------------- PR: https://git.openjdk.java.net/jdk/pull/2632 From zgu at openjdk.java.net Fri Feb 19 13:58:59 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Fri, 19 Feb 2021 13:58:59 GMT Subject: RFR: 8261973: Shenandoah: Cleanup/simplify root verifier Message-ID: Root processing has gone through significant changes. For example, we used to mark through weak roots when class unloading is off, that is no long the case, OopStorages also simplify roots. Shenandoah root verifier can be simplified into 2 cases, with/without class unloading. - [x] hotspot_gc_shenandoah with -XX:+ShenandoahVerify ------------- Commit messages: - update - 8261973 Changes: https://git.openjdk.java.net/jdk/pull/2643/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2643&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8261973 Stats: 198 lines in 4 files changed: 10 ins; 159 del; 29 mod Patch: https://git.openjdk.java.net/jdk/pull/2643.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2643/head:pull/2643 PR: https://git.openjdk.java.net/jdk/pull/2643 From github.com+71722661+earthling-amzn at openjdk.java.net Sat Feb 20 00:39:08 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Sat, 20 Feb 2021 00:39:08 GMT Subject: RFR: Allow young collection to suspend marking in old generation Message-ID: **This is a work in progress.** ## Summary of changes The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. ------------- Commit messages: - Remove trailing whitespace - Fix jcheck and compiler errors - Allow young collection to suspend marking in old generation Changes: https://git.openjdk.java.net/shenandoah/pull/19/files Webrev: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=00 Stats: 3775 lines in 90 files changed: 2788 ins; 516 del; 471 mod Patch: https://git.openjdk.java.net/shenandoah/pull/19.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/19/head:pull/19 PR: https://git.openjdk.java.net/shenandoah/pull/19 From pliden at openjdk.java.net Mon Feb 22 08:47:39 2021 From: pliden at openjdk.java.net (Per Liden) Date: Mon, 22 Feb 2021 08:47:39 GMT Subject: RFR: 8258431: Provide a JFR event with live set size estimate In-Reply-To: <7HVs4jngEbNIQIPQByuE6IRYAxdijfa82uhEFWHld5U=.a7784482-d7e1-4d59-88ee-455d8691631e@github.com> References: <7HVs4jngEbNIQIPQByuE6IRYAxdijfa82uhEFWHld5U=.a7784482-d7e1-4d59-88ee-455d8691631e@github.com> Message-ID: On Mon, 15 Feb 2021 17:23:44 GMT, Jaroslav Bachorik wrote: > The purpose of this change is to expose a 'cheap' estimate of the current live set size (the meaning of 'current' is dependent on each particular GC implementation but in worst case 'at last full GC') in form of a periodically emitted JFR event. > > ## Introducing new JFR event > > While there is already 'GC Heap Summary' JFR event it does not fit the requirements as it is closely tied to GC cycle so eg. for ZGC or Shenandoah it may not happen for quite a long time, increasing the risk of not having the heap summary events being present in the JFR recording at all. > Because of this I am proposing to add a new 'Heap Usage Summary' event which will be emitted periodically, by default on each JFR chunk, and will contain the information abut the heap capacity, the used and live bytes. This information is available from all GC implementations and can be provided at literally any time. > > ## Implementation > > The implementation differs from GC to GC because each GC algorithm/implementation provides a slightly different way to track the liveness. The common part is `size_t live() const` method added to `CollectedHeap` superclass and the use of a cached 'liveness' value computed after the last GC cycle. If `liveness` hasn't been calculated yet the implementation will default to returning 'used' value. > > The implementations are based on my (rather shallow) knowledge of inner working of the respective GC engines and I am open to suggestions to make them better/correct. > > ### Epsilon GC > > Trivial implementation - just return `used()` instead. > > ### Serial GC > > Here we utilize the fact that mark-copy phase is naturally compacting so the number of bytes after copy is 'live' and that the mark-sweep implementation keeps an internal info about objects being 'dead' but excluded from the compaction effort and we can these numbers to derive the old-gen live set size (used bytes minus the cumulative size of the 'un-dead' objects). > > ### Parallel GC > > For Parallel GC the liveness is calculated as the sum of used bytes in all regions after the last GC cycle. This seems to be a safe bet because this collector is always compacting (AFAIK). > > ### G1 GC > > Using `G1ConcurrentMark::remark()` method the live set size is computed as a sum of `_live_words` from the associated `G1RegionMarkStats` objects. Here I am not 100% sure this approach covers all eventualities and it would be great to have someone skilled in G1 implementation to chime in so I can fix it. However, the numbers I am getting for G1 are comparable to other GCs for the same application. > > ### Shenandoah > > In Shenandoah, the regions are keeping the liveness info. However, the VM op that is used for iterating regions is a safe-pointing one so it would be great to run it in an already safe-pointed context. > This leads to hooking into `ShenandoahConcurrentMark::finish_mark()` and `ShenandoahSTWMark::mark()` where at the end of the marking process the liveness info is summarized and set to `ShenandoahHeap::_live` volatile field - which is later read by the event emitting code. > > ### ZGC > > `ZStatHeap` is already holding the liveness info - so this implementation is just making it accessible via `ZCollectedHeap::live()` method. src/hotspot/share/gc/z/zStat.hpp line 549: > 547: static size_t used_at_mark_start(); > 548: static size_t used_at_relocate_end(); > 549: static size_t live(); Please call this `live_at_mark_end()` to match the names of the neighboring functions. ------------- PR: https://git.openjdk.java.net/jdk/pull/2579 From rkennke at openjdk.java.net Mon Feb 22 10:25:58 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Mon, 22 Feb 2021 10:25:58 GMT Subject: RFR: Allow young collection to suspend marking in old generation In-Reply-To: References: Message-ID: On Fri, 19 Feb 2021 23:31:29 GMT, earthling-amzn wrote: > **This is a work in progress.** > > ## Summary of changes > The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. > * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. > * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. > * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. > * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. > * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. > * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. > * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. > * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. > * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. First priority for me is that hotspot_gc_shenandoah should be passing. I posted some fixes here: https://github.com/earthling-amzn/shenandoah/pull/1 - integrate them and they should show up in this PR. There is one remaining test failing: make run-test TEST=gc/shenandoah/TestObjItrWithHeapDump.java It looks like the new GC regulator thread is not scheduling a full GC on System.gc(). This probably needs some work. In general, I am very skeptical about introducing *another* thread to schedule GC stuff. The coordination between Java threads and the control thread is already quite complicated (we had a bunch of deadlock bugs in the past), and introducing another one here seems to make things even worse. I haven't looked into the details yet, but suspending old marking for a young cycle also seems quite complicated in terms of coordination. This would require a sort of safepointing mechanism for GC threads, or maybe it is possible to use the SuspendibleThreadSet stuff for that. Can you explain which approach you have taken there? ------------- PR: https://git.openjdk.java.net/shenandoah/pull/19 From rkennke at openjdk.java.net Mon Feb 22 11:57:56 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Mon, 22 Feb 2021 11:57:56 GMT Subject: RFR: 8262122: [TESTBUG] Shenandoah-specific variant of TestReferenceRefersTo Message-ID: Before JDK-8262049, the test TestReferenceRefersTo.java has been failing with I-U mode, because it asserted that weak references would not be cleared when accessed during mark. JDK-8262049 split up the test into a generic part that removed the offending test, and a non-Shenandoah part that contains the test. I think it would be useful to add the full test with Shenandoah runners under gc/shenandoah to include it in hotspot_gc_shenandoah runs. Test: - [x] TestReferenceRefersToShenandoah.java - [ ] hotspot_gc_shenandoah ------------- Commit messages: - 8262122: [TESTBUG] Shenandoah-specific variant of TestReferenceRefersTo Changes: https://git.openjdk.java.net/jdk/pull/2674/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2674&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8262122 Stats: 325 lines in 1 file changed: 325 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/2674.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2674/head:pull/2674 PR: https://git.openjdk.java.net/jdk/pull/2674 From github.com+71722661+earthling-amzn at openjdk.java.net Mon Feb 22 16:59:05 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Mon, 22 Feb 2021 16:59:05 GMT Subject: RFR: Allow young collection to suspend marking in old generation In-Reply-To: References: Message-ID: <46CQdWyLPrzpZhJcdZKtqfAieGydUfC9C0JAMg-7AiA=.160c7139-286f-4ba2-a532-6c791431f65c@github.com> On Mon, 22 Feb 2021 10:22:49 GMT, Roman Kennke wrote: >> **This is a work in progress.** >> >> ## Summary of changes >> The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. >> * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. >> * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. >> * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. >> * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. >> * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. >> * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. >> * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. >> * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. >> * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. > > First priority for me is that hotspot_gc_shenandoah should be passing. I posted some fixes here: https://github.com/earthling-amzn/shenandoah/pull/1 - integrate them and they should show up in this PR. > > There is one remaining test failing: make run-test TEST=gc/shenandoah/TestObjItrWithHeapDump.java > It looks like the new GC regulator thread is not scheduling a full GC on System.gc(). This probably needs some work. > > In general, I am very skeptical about introducing *another* thread to schedule GC stuff. The coordination between Java threads and the control thread is already quite complicated (we had a bunch of deadlock bugs in the past), and introducing another one here seems to make things even worse. > > I haven't looked into the details yet, but suspending old marking for a young cycle also seems quite complicated in terms of coordination. This would require a sort of safepointing mechanism for GC threads, or maybe it is possible to use the SuspendibleThreadSet stuff for that. Can you explain which approach you have taken there? I'll pull the fixes into this PR shortly, I want to first address your comments on adding a thread and coordinating young and old cycles. The control thread is still in charge of scheduling. It still handles `System.gc` and allocation failures. The only thing in the new regulator thread is evaluation of heuristics. If the heuristics want to start a cycle, they make a request to the control thread. In a way, this makes the heuristics a peer of other threads that may start a gc. The motivation here is to allow the regulator to request a young gc while the control thread is busy with an old gc. The coordination between young and old gc cycles is very coarse and I think the existing cancellation mechanism is largely sufficient. Old generation gc is not allowed to cancel a young gc. An old generation gc begins by first running a young gc cycle with the mark closures configured to enqueue (but not follow) old objects into the old generation mark queues. This bootstrap young gc cycle runs to completion before any of the old gen task queues are serviced. Once the young cycle has completed, the old generation runs the rest of the marking phase from the old gen task queues primed during the bootstrap young cycle. At this point in development, the old generation does not create a collection set (this is planned). If the regulator thread discovers that the young generation heuristic wants to start a gc cycle, it will schedule it with the control thread. The code path here is similar to that of an allocation failure. The regulator thread will request _cancellation_ of the concurrent old generation mark except it will _not_ clear the old generation task queues and it will not deactivate the SATB barrier. Once cancelled, the control thread runs a normal (i.e., non-bootstrapping) young cycle to completion before the control thread resumes the concurrent old marking. ------------- PR: https://git.openjdk.java.net/shenandoah/pull/19 From tschatzl at openjdk.java.net Mon Feb 22 17:23:43 2021 From: tschatzl at openjdk.java.net (Thomas Schatzl) Date: Mon, 22 Feb 2021 17:23:43 GMT Subject: RFR: 8258431: Provide a JFR event with live set size estimate In-Reply-To: <7HVs4jngEbNIQIPQByuE6IRYAxdijfa82uhEFWHld5U=.a7784482-d7e1-4d59-88ee-455d8691631e@github.com> References: <7HVs4jngEbNIQIPQByuE6IRYAxdijfa82uhEFWHld5U=.a7784482-d7e1-4d59-88ee-455d8691631e@github.com> Message-ID: On Mon, 15 Feb 2021 17:23:44 GMT, Jaroslav Bachorik wrote: > The purpose of this change is to expose a 'cheap' estimate of the current live set size (the meaning of 'current' is dependent on each particular GC implementation but in worst case 'at last full GC') in form of a periodically emitted JFR event. > > ## Introducing new JFR event > > While there is already 'GC Heap Summary' JFR event it does not fit the requirements as it is closely tied to GC cycle so eg. for ZGC or Shenandoah it may not happen for quite a long time, increasing the risk of not having the heap summary events being present in the JFR recording at all. > Because of this I am proposing to add a new 'Heap Usage Summary' event which will be emitted periodically, by default on each JFR chunk, and will contain the information abut the heap capacity, the used and live bytes. This information is available from all GC implementations and can be provided at literally any time. > > ## Implementation > > The implementation differs from GC to GC because each GC algorithm/implementation provides a slightly different way to track the liveness. The common part is `size_t live() const` method added to `CollectedHeap` superclass and the use of a cached 'liveness' value computed after the last GC cycle. If `liveness` hasn't been calculated yet the implementation will default to returning 'used' value. > > The implementations are based on my (rather shallow) knowledge of inner working of the respective GC engines and I am open to suggestions to make them better/correct. > > ### Epsilon GC > > Trivial implementation - just return `used()` instead. > > ### Serial GC > > Here we utilize the fact that mark-copy phase is naturally compacting so the number of bytes after copy is 'live' and that the mark-sweep implementation keeps an internal info about objects being 'dead' but excluded from the compaction effort and we can these numbers to derive the old-gen live set size (used bytes minus the cumulative size of the 'un-dead' objects). > > ### Parallel GC > > For Parallel GC the liveness is calculated as the sum of used bytes in all regions after the last GC cycle. This seems to be a safe bet because this collector is always compacting (AFAIK). > > ### G1 GC > > Using `G1ConcurrentMark::remark()` method the live set size is computed as a sum of `_live_words` from the associated `G1RegionMarkStats` objects. Here I am not 100% sure this approach covers all eventualities and it would be great to have someone skilled in G1 implementation to chime in so I can fix it. However, the numbers I am getting for G1 are comparable to other GCs for the same application. > > ### Shenandoah > > In Shenandoah, the regions are keeping the liveness info. However, the VM op that is used for iterating regions is a safe-pointing one so it would be great to run it in an already safe-pointed context. > This leads to hooking into `ShenandoahConcurrentMark::finish_mark()` and `ShenandoahSTWMark::mark()` where at the end of the marking process the liveness info is summarized and set to `ShenandoahHeap::_live` volatile field - which is later read by the event emitting code. > > ### ZGC > > `ZStatHeap` is already holding the liveness info - so this implementation is just making it accessible via `ZCollectedHeap::live()` method. The change also misses liveness update after G1 Full GC: it should at least reset the internal liveness counter to 0 so that `used()` is used. I think there is the same issue for Parallel Full GC. Serial seems to be handled. src/hotspot/share/gc/shared/collectedHeap.hpp line 217: > 215: virtual size_t capacity() const = 0; > 216: virtual size_t used() const = 0; > 217: // a best-effort estimate of the live set size I would prefer @shipilev's comment. Also I would like to suggest to call this method `live_estimate()` to set the expectations right. src/hotspot/share/gc/g1/g1ConcurrentMark.cpp line 1114: > 1112: > 1113: _g1h->set_live(live_size * HeapWordSize); > 1114: This code is located in the wrong place. It will return only the live words for the areas that have been marked, not eden or objects allocated in old gen after the marking started. Further it iterates over all regions, which can be large compared to actually active regions. A better place is in `G1UpdateRemSetTrackingBeforeRebuild::do_heap_region()` after the last method call - at that point, `HeapRegion::live_bytes()` contains the per-region number of live data for all regions. `G1UpdateRemSetTrackingBeforeRebuild` is instantiated and then called by multiple threads. It's probably best that that `HeapClosure` locally sums up the live byte estimates and then in the caller `G1UpdateRemSetTrackingBeforeRebuildTask::work()` sums up the per thread results like is done for `G1UpdateRemSetTrackingBeforeRebuildTask::_total_selected_for_rebuild`, which is then set in the caller of the `G1UpdateRemSetTrackingBeforeRebuildTask`. src/hotspot/share/gc/g1/g1CollectedHeap.cpp line 1850: > 1848: size_t G1CollectedHeap::live() const { > 1849: size_t size = Atomic::load(&_live_size); > 1850: return size > 0 ? size : used(); note that `used()` is susceptible to fluttering due to memory ordering problems: since its result consists of multiple reads, you can get readings from very different situations. It is recommended to use `used_unlocked()` instead, which does not take allocation regions and archive regions into account, but at least it is not susceptible to jumping around when re-reading it in quick succession. src/hotspot/share/gc/parallel/parallelScavengeHeap.inline.hpp line 49: > 47: _young_live = young_gen()->used_in_bytes(); > 48: _eden_live = young_gen()->eden_space()->used_in_bytes(); > 49: _old_live = old_gen()->used_in_bytes(); `_young_live` already seems to contain `_eden_live` looking at the implementation of `PSYoungGen::used_in_bytes()`: I.e. `size_t PSYoungGen::used_in_bytes() const { return eden_space()->used_in_bytes() + from_space()->used_in_bytes(); // to_space() is only used during scavenge } ` but maybe I'm wrong here. src/hotspot/share/gc/shared/genCollectedHeap.cpp line 683: > 681: } > 682: // update the live size after last GC > 683: _live_size = _young_gen->live() + _old_gen->live(); I would prefer if that code were placed into `gc_epilogue`. src/hotspot/share/gc/shared/space.inline.hpp line 189: > 187: oop obj = oop(cur_obj); > 188: size_t obj_size = obj->size(); > 189: live_offset += obj_size; It seems more natural to me to put this counting into the `DeadSpacer` as this is what this change does. Also, the actual dead space "used" can be calculated from the difference between the `_allowed_deadspace_words` and the maximum (calculated in the constructor of `DeadSpacer`) afaict at the end of evacuation. So there is no need to incur per-object costs during evacuation at all. ------------- Changes requested by tschatzl (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2579 From tschatzl at openjdk.java.net Mon Feb 22 17:23:44 2021 From: tschatzl at openjdk.java.net (Thomas Schatzl) Date: Mon, 22 Feb 2021 17:23:44 GMT Subject: RFR: 8258431: Provide a JFR event with live set size estimate In-Reply-To: References: <7HVs4jngEbNIQIPQByuE6IRYAxdijfa82uhEFWHld5U=.a7784482-d7e1-4d59-88ee-455d8691631e@github.com> Message-ID: On Thu, 18 Feb 2021 10:15:37 GMT, Aleksey Shipilev wrote: >> The purpose of this change is to expose a 'cheap' estimate of the current live set size (the meaning of 'current' is dependent on each particular GC implementation but in worst case 'at last full GC') in form of a periodically emitted JFR event. >> >> ## Introducing new JFR event >> >> While there is already 'GC Heap Summary' JFR event it does not fit the requirements as it is closely tied to GC cycle so eg. for ZGC or Shenandoah it may not happen for quite a long time, increasing the risk of not having the heap summary events being present in the JFR recording at all. >> Because of this I am proposing to add a new 'Heap Usage Summary' event which will be emitted periodically, by default on each JFR chunk, and will contain the information abut the heap capacity, the used and live bytes. This information is available from all GC implementations and can be provided at literally any time. >> >> ## Implementation >> >> The implementation differs from GC to GC because each GC algorithm/implementation provides a slightly different way to track the liveness. The common part is `size_t live() const` method added to `CollectedHeap` superclass and the use of a cached 'liveness' value computed after the last GC cycle. If `liveness` hasn't been calculated yet the implementation will default to returning 'used' value. >> >> The implementations are based on my (rather shallow) knowledge of inner working of the respective GC engines and I am open to suggestions to make them better/correct. >> >> ### Epsilon GC >> >> Trivial implementation - just return `used()` instead. >> >> ### Serial GC >> >> Here we utilize the fact that mark-copy phase is naturally compacting so the number of bytes after copy is 'live' and that the mark-sweep implementation keeps an internal info about objects being 'dead' but excluded from the compaction effort and we can these numbers to derive the old-gen live set size (used bytes minus the cumulative size of the 'un-dead' objects). >> >> ### Parallel GC >> >> For Parallel GC the liveness is calculated as the sum of used bytes in all regions after the last GC cycle. This seems to be a safe bet because this collector is always compacting (AFAIK). >> >> ### G1 GC >> >> Using `G1ConcurrentMark::remark()` method the live set size is computed as a sum of `_live_words` from the associated `G1RegionMarkStats` objects. Here I am not 100% sure this approach covers all eventualities and it would be great to have someone skilled in G1 implementation to chime in so I can fix it. However, the numbers I am getting for G1 are comparable to other GCs for the same application. >> >> ### Shenandoah >> >> In Shenandoah, the regions are keeping the liveness info. However, the VM op that is used for iterating regions is a safe-pointing one so it would be great to run it in an already safe-pointed context. >> This leads to hooking into `ShenandoahConcurrentMark::finish_mark()` and `ShenandoahSTWMark::mark()` where at the end of the marking process the liveness info is summarized and set to `ShenandoahHeap::_live` volatile field - which is later read by the event emitting code. >> >> ### ZGC >> >> `ZStatHeap` is already holding the liveness info - so this implementation is just making it accessible via `ZCollectedHeap::live()` method. > > src/hotspot/share/gc/g1/g1CollectedHeap.cpp line 4578: > >> 4576: >> 4577: void G1CollectedHeap::set_live(size_t bytes) { >> 4578: Atomic::release_store(&_live_size, bytes); > > I don't think this requires `release_store`, regular `store` would be enough. G1 folks can say for sure. Not required. > src/hotspot/share/gc/shared/genCollectedHeap.hpp line 183: > >> 181: size_t live = _live_size; >> 182: return live > 0 ? live : used(); >> 183: }; > > I think the implementation belongs to `genCollectedHeap.cpp`. +1. Does not seem to be performance sensitive. ------------- PR: https://git.openjdk.java.net/jdk/pull/2579 From tschatzl at openjdk.java.net Mon Feb 22 17:23:45 2021 From: tschatzl at openjdk.java.net (Thomas Schatzl) Date: Mon, 22 Feb 2021 17:23:45 GMT Subject: RFR: 8258431: Provide a JFR event with live set size estimate In-Reply-To: References: <7HVs4jngEbNIQIPQByuE6IRYAxdijfa82uhEFWHld5U=.a7784482-d7e1-4d59-88ee-455d8691631e@github.com> Message-ID: On Fri, 19 Feb 2021 08:22:56 GMT, Albert Mingkun Yang wrote: >> The purpose of this change is to expose a 'cheap' estimate of the current live set size (the meaning of 'current' is dependent on each particular GC implementation but in worst case 'at last full GC') in form of a periodically emitted JFR event. >> >> ## Introducing new JFR event >> >> While there is already 'GC Heap Summary' JFR event it does not fit the requirements as it is closely tied to GC cycle so eg. for ZGC or Shenandoah it may not happen for quite a long time, increasing the risk of not having the heap summary events being present in the JFR recording at all. >> Because of this I am proposing to add a new 'Heap Usage Summary' event which will be emitted periodically, by default on each JFR chunk, and will contain the information abut the heap capacity, the used and live bytes. This information is available from all GC implementations and can be provided at literally any time. >> >> ## Implementation >> >> The implementation differs from GC to GC because each GC algorithm/implementation provides a slightly different way to track the liveness. The common part is `size_t live() const` method added to `CollectedHeap` superclass and the use of a cached 'liveness' value computed after the last GC cycle. If `liveness` hasn't been calculated yet the implementation will default to returning 'used' value. >> >> The implementations are based on my (rather shallow) knowledge of inner working of the respective GC engines and I am open to suggestions to make them better/correct. >> >> ### Epsilon GC >> >> Trivial implementation - just return `used()` instead. >> >> ### Serial GC >> >> Here we utilize the fact that mark-copy phase is naturally compacting so the number of bytes after copy is 'live' and that the mark-sweep implementation keeps an internal info about objects being 'dead' but excluded from the compaction effort and we can these numbers to derive the old-gen live set size (used bytes minus the cumulative size of the 'un-dead' objects). >> >> ### Parallel GC >> >> For Parallel GC the liveness is calculated as the sum of used bytes in all regions after the last GC cycle. This seems to be a safe bet because this collector is always compacting (AFAIK). >> >> ### G1 GC >> >> Using `G1ConcurrentMark::remark()` method the live set size is computed as a sum of `_live_words` from the associated `G1RegionMarkStats` objects. Here I am not 100% sure this approach covers all eventualities and it would be great to have someone skilled in G1 implementation to chime in so I can fix it. However, the numbers I am getting for G1 are comparable to other GCs for the same application. >> >> ### Shenandoah >> >> In Shenandoah, the regions are keeping the liveness info. However, the VM op that is used for iterating regions is a safe-pointing one so it would be great to run it in an already safe-pointed context. >> This leads to hooking into `ShenandoahConcurrentMark::finish_mark()` and `ShenandoahSTWMark::mark()` where at the end of the marking process the liveness info is summarized and set to `ShenandoahHeap::_live` volatile field - which is later read by the event emitting code. >> >> ### ZGC >> >> `ZStatHeap` is already holding the liveness info - so this implementation is just making it accessible via `ZCollectedHeap::live()` method. > > src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp line 79: > >> 77: size_t _young_live; >> 78: size_t _eden_live; >> 79: size_t _old_live; > > It's only the sum that's ever exposed, right? I wonder if it makes sense to merge them into one var to only track the sum. I agree because they seem to be always read and written at the same time. ------------- PR: https://git.openjdk.java.net/jdk/pull/2579 From github.com+71722661+earthling-amzn at openjdk.java.net Mon Feb 22 17:37:28 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Mon, 22 Feb 2021 17:37:28 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v2] In-Reply-To: References: Message-ID: > **This is a work in progress.** > > ## Summary of changes > The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. > * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. > * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. > * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. > * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. > * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. > * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. > * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. > * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. > * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. earthling-amzn has updated the pull request incrementally with two additional commits since the last revision: - Merge pull request #1 from rkennke/genshen-milestone-7 Some fixes to make non-generational tests pass - Some fixes to make non-generational tests pass ------------- Changes: - all: https://git.openjdk.java.net/shenandoah/pull/19/files - new: https://git.openjdk.java.net/shenandoah/pull/19/files/fb88203f..86451abf Webrevs: - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=01 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=00-01 Stats: 16 lines in 6 files changed: 2 ins; 10 del; 4 mod Patch: https://git.openjdk.java.net/shenandoah/pull/19.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/19/head:pull/19 PR: https://git.openjdk.java.net/shenandoah/pull/19 From zgu at openjdk.java.net Mon Feb 22 18:17:01 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Mon, 22 Feb 2021 18:17:01 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v2] In-Reply-To: References: Message-ID: On Mon, 22 Feb 2021 17:37:28 GMT, earthling-amzn wrote: >> **This is a work in progress.** >> >> ## Summary of changes >> The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. >> * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. >> * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. >> * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. >> * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. >> * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. >> * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. >> * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. >> * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. >> * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. > > earthling-amzn has updated the pull request incrementally with two additional commits since the last revision: > > - Merge pull request #1 from rkennke/genshen-milestone-7 > > Some fixes to make non-generational tests pass > - Some fixes to make non-generational tests pass Quick scan src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp line 695: > 693: static uint object_age(oop obj); > 694: > 695: static void increase_object_age(oop obj, uint additional_age); Make it inlineable, maybe? src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp line 384: > 382: assert(bs->kind() == BarrierSet::ShenandoahBarrierSet, "Wrong barrier set kind"); > 383: > 384: ShenandoahBarrierSet* ctbs = barrier_set_cast(bs); Use ShenandoahBarrierSet::barrier_set() instead src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp line 377: > 375: } > 376: > 377: void ShenandoahBarrierSetAssembler::store_check(MacroAssembler* masm, Register obj, Address dst) { dst param is not used src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp line 395: > 393: if (UseCondCardMark) { > 394: Label L_already_dirty; > 395: __ membar(Assembler::StoreLoad); Should be able to move down the barrier just before the store and avoid it if card already dirt, right? src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp line 92: > 90: __ append(new LIR_OpShenandoahCompareAndSwap(addr, cmp_value.result(), new_value.result(), t1, t2, result)); > 91: > 92: if (access.is_oop()) { Redundant check src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp line 91: > 89: __ append(new LIR_OpShenandoahCompareAndSwap(addr, cmp_value.result(), new_value.result(), t1, t2, result)); > 90: > 91: if (access.is_oop()) { Redundant check src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp line 373: > 371: } > 372: } > 373: Superfluous newline ------------- Changes requested by zgu (Reviewer). PR: https://git.openjdk.java.net/shenandoah/pull/19 From rkennke at openjdk.java.net Mon Feb 22 18:56:39 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Mon, 22 Feb 2021 18:56:39 GMT Subject: RFR: 8261973: Shenandoah: Cleanup/simplify root verifier In-Reply-To: References: Message-ID: On Fri, 19 Feb 2021 13:53:26 GMT, Zhengyu Gu wrote: > Root processing has gone through significant changes. For example, we used to mark through weak roots when class unloading is off, that is no long the case, OopStorages also simplify roots. > > Shenandoah root verifier can be simplified into 2 cases, with/without class unloading. > > - [x] hotspot_gc_shenandoah with -XX:+ShenandoahVerify Looks good! Thank you! ------------- Marked as reviewed by rkennke (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2643 From zgu at openjdk.java.net Mon Feb 22 19:16:39 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Mon, 22 Feb 2021 19:16:39 GMT Subject: Integrated: 8261973: Shenandoah: Cleanup/simplify root verifier In-Reply-To: References: Message-ID: On Fri, 19 Feb 2021 13:53:26 GMT, Zhengyu Gu wrote: > Root processing has gone through significant changes. For example, we used to mark through weak roots when class unloading is off, that is no long the case, OopStorages also simplify roots. > > Shenandoah root verifier can be simplified into 2 cases, with/without class unloading. > > - [x] hotspot_gc_shenandoah with -XX:+ShenandoahVerify This pull request has now been integrated. Changeset: 7b924d8a Author: Zhengyu Gu URL: https://git.openjdk.java.net/jdk/commit/7b924d8a Stats: 198 lines in 4 files changed: 10 ins; 159 del; 29 mod 8261973: Shenandoah: Cleanup/simplify root verifier Reviewed-by: rkennke ------------- PR: https://git.openjdk.java.net/jdk/pull/2643 From egahlin at openjdk.java.net Mon Feb 22 19:40:39 2021 From: egahlin at openjdk.java.net (Erik Gahlin) Date: Mon, 22 Feb 2021 19:40:39 GMT Subject: RFR: 8258431: Provide a JFR event with live set size estimate In-Reply-To: <7HVs4jngEbNIQIPQByuE6IRYAxdijfa82uhEFWHld5U=.a7784482-d7e1-4d59-88ee-455d8691631e@github.com> References: <7HVs4jngEbNIQIPQByuE6IRYAxdijfa82uhEFWHld5U=.a7784482-d7e1-4d59-88ee-455d8691631e@github.com> Message-ID: On Mon, 15 Feb 2021 17:23:44 GMT, Jaroslav Bachorik wrote: > The purpose of this change is to expose a 'cheap' estimate of the current live set size (the meaning of 'current' is dependent on each particular GC implementation but in worst case 'at last full GC') in form of a periodically emitted JFR event. > > ## Introducing new JFR event > > While there is already 'GC Heap Summary' JFR event it does not fit the requirements as it is closely tied to GC cycle so eg. for ZGC or Shenandoah it may not happen for quite a long time, increasing the risk of not having the heap summary events being present in the JFR recording at all. > Because of this I am proposing to add a new 'Heap Usage Summary' event which will be emitted periodically, by default on each JFR chunk, and will contain the information abut the heap capacity, the used and live bytes. This information is available from all GC implementations and can be provided at literally any time. > > ## Implementation > > The implementation differs from GC to GC because each GC algorithm/implementation provides a slightly different way to track the liveness. The common part is `size_t live() const` method added to `CollectedHeap` superclass and the use of a cached 'liveness' value computed after the last GC cycle. If `liveness` hasn't been calculated yet the implementation will default to returning 'used' value. > > The implementations are based on my (rather shallow) knowledge of inner working of the respective GC engines and I am open to suggestions to make them better/correct. > > ### Epsilon GC > > Trivial implementation - just return `used()` instead. > > ### Serial GC > > Here we utilize the fact that mark-copy phase is naturally compacting so the number of bytes after copy is 'live' and that the mark-sweep implementation keeps an internal info about objects being 'dead' but excluded from the compaction effort and we can these numbers to derive the old-gen live set size (used bytes minus the cumulative size of the 'un-dead' objects). > > ### Parallel GC > > For Parallel GC the liveness is calculated as the sum of used bytes in all regions after the last GC cycle. This seems to be a safe bet because this collector is always compacting (AFAIK). > > ### G1 GC > > Using `G1ConcurrentMark::remark()` method the live set size is computed as a sum of `_live_words` from the associated `G1RegionMarkStats` objects. Here I am not 100% sure this approach covers all eventualities and it would be great to have someone skilled in G1 implementation to chime in so I can fix it. However, the numbers I am getting for G1 are comparable to other GCs for the same application. > > ### Shenandoah > > In Shenandoah, the regions are keeping the liveness info. However, the VM op that is used for iterating regions is a safe-pointing one so it would be great to run it in an already safe-pointed context. > This leads to hooking into `ShenandoahConcurrentMark::finish_mark()` and `ShenandoahSTWMark::mark()` where at the end of the marking process the liveness info is summarized and set to `ShenandoahHeap::_live` volatile field - which is later read by the event emitting code. > > ### ZGC > > `ZStatHeap` is already holding the liveness info - so this implementation is just making it accessible via `ZCollectedHeap::live()` method. src/hotspot/share/jfr/metadata/metadata.xml line 205: > 203: > 204: > 205: I think it would be good to mention in the description that it is an estimate, i.e. "Estimate of live bytes ....". ------------- PR: https://git.openjdk.java.net/jdk/pull/2579 From github.com+71722661+earthling-amzn at openjdk.java.net Mon Feb 22 21:31:22 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Mon, 22 Feb 2021 21:31:22 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v3] In-Reply-To: References: Message-ID: > **This is a work in progress.** > > ## Summary of changes > The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. > * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. > * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. > * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. > * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. > * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. > * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. > * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. > * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. > * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. earthling-amzn has updated the pull request incrementally with five additional commits since the last revision: - Remove superfluous new line - Remove redundant is_oop check - Remove unused parameter, remove unnecessary casting - Remove debug scaffolding, inline object aging - Do not allow heuristics to change requested gc cause once a mutator request has been made ------------- Changes: - all: https://git.openjdk.java.net/shenandoah/pull/19/files - new: https://git.openjdk.java.net/shenandoah/pull/19/files/86451abf..f52dc5f8 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=02 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=01-02 Stats: 94 lines in 11 files changed: 12 ins; 71 del; 11 mod Patch: https://git.openjdk.java.net/shenandoah/pull/19.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/19/head:pull/19 PR: https://git.openjdk.java.net/shenandoah/pull/19 From rkennke at openjdk.java.net Tue Feb 23 08:03:05 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Tue, 23 Feb 2021 08:03:05 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v3] In-Reply-To: References: Message-ID: On Mon, 22 Feb 2021 18:14:29 GMT, Zhengyu Gu wrote: >> earthling-amzn has updated the pull request incrementally with five additional commits since the last revision: >> >> - Remove superfluous new line >> - Remove redundant is_oop check >> - Remove unused parameter, remove unnecessary casting >> - Remove debug scaffolding, inline object aging >> - Do not allow heuristics to change requested gc cause once a mutator request has been made > > Quick scan It looks much better now, hotspot_gc_shenandoah is passing. I'll give it a more in-depth review later. I've tried to run some programs with generational mode, and it survives a few cycles, until it crashes with: # Internal Error (/home/rkennke/src/openjdk/shenandoah/src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp:101), pid=6682, tid=6688 # assert(!_heap->get_region(index)->is_cset()) failed: should have been cleared before Stack: [0x00007fd9529cf000,0x00007fd952acf000], sp=0x00007fd952acd530, 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+0x1592374] ShenandoahCollectionSet::clear()+0x1a4 V [libjvm.so+0x15cb5fa] ShenandoahGeneration::prepare_regions_and_collection_set(bool)+0x20a V [libjvm.so+0x15ac5bb] ShenandoahDegenGC::op_degenerated()+0x24b V [libjvm.so+0x15ad4e0] ShenandoahDegenGC::entry_degenerated()+0xf0 V [libjvm.so+0x16e391c] VM_ShenandoahDegeneratedGC::doit()+0x2c V [libjvm.so+0x19126b7] VM_Operation::evaluate()+0x187 V [libjvm.so+0x19372fc] VMThread::inner_execute(VM_Operation*)+0x30c V [libjvm.so+0x1937c75] VMThread::loop()+0x255 V [libjvm.so+0x1937f1c] VMThread::run()+0xcc V [libjvm.so+0x183baf8] Thread::call_run()+0xf8 V [libjvm.so+0x13b860e] thread_native_entry(Thread*)+0x10e See also attached hs_err. I'll look into this a bit. [hs_err_pid6682.log](https://github.com/openjdk/shenandoah/files/6027426/hs_err_pid6682.log) ------------- PR: https://git.openjdk.java.net/shenandoah/pull/19 From roland at openjdk.java.net Tue Feb 23 08:09:38 2021 From: roland at openjdk.java.net (Roland Westrelin) Date: Tue, 23 Feb 2021 08:09:38 GMT Subject: RFR: 8260637: Shenandoah: assert(_base == Tuple) failure during C2 compilation In-Reply-To: References: Message-ID: On Thu, 4 Feb 2021 08:34:04 GMT, Roland Westrelin wrote: > Another shenandoah bug with a fix in shared code. > > LRBRightAfterMemBar.test2() has 2 allocations that are non escaping > but non scalarizable. As a result, the null check for a3.f is > optimized out but the CastPP is left in the graph. That CastPP becomes > control dependent on the o2 == null check which is later hoisted out > of the loop. The CastPP is then right after the membar of the barrier = 0x42 > volatile access but with an out of loop control. Because the node is > considered pinned by loopopts, it is assigned the membar as > control. The input of the CastPP is a shenandoah barrier that's > sandwiched between the membar and the CastPP and so expanded right > after the membar (that is between the membar and its control > projection). That causes the crash. I don't think cast nodes need to > be pinned so I propose that as a fix. Anyone for this (simple) change to shared c2 code? ------------- PR: https://git.openjdk.java.net/jdk/pull/2400 From rkennke at openjdk.java.net Tue Feb 23 09:54:02 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Tue, 23 Feb 2021 09:54:02 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v3] In-Reply-To: References: Message-ID: On Tue, 23 Feb 2021 08:00:31 GMT, Roman Kennke wrote: >> Quick scan > > It looks much better now, hotspot_gc_shenandoah is passing. I'll give it a more in-depth review later. I've tried to run some programs with generational mode, and it survives a few cycles, until it crashes with: > > # Internal Error (/home/rkennke/src/openjdk/shenandoah/src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp:101), pid=6682, tid=6688 > # assert(!_heap->get_region(index)->is_cset()) failed: should have been cleared before > > Stack: [0x00007fd9529cf000,0x00007fd952acf000], sp=0x00007fd952acd530, 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+0x1592374] ShenandoahCollectionSet::clear()+0x1a4 > V [libjvm.so+0x15cb5fa] ShenandoahGeneration::prepare_regions_and_collection_set(bool)+0x20a > V [libjvm.so+0x15ac5bb] ShenandoahDegenGC::op_degenerated()+0x24b > V [libjvm.so+0x15ad4e0] ShenandoahDegenGC::entry_degenerated()+0xf0 > V [libjvm.so+0x16e391c] VM_ShenandoahDegeneratedGC::doit()+0x2c > V [libjvm.so+0x19126b7] VM_Operation::evaluate()+0x187 > V [libjvm.so+0x19372fc] VMThread::inner_execute(VM_Operation*)+0x30c > V [libjvm.so+0x1937c75] VMThread::loop()+0x255 > V [libjvm.so+0x1937f1c] VMThread::run()+0xcc > V [libjvm.so+0x183baf8] Thread::call_run()+0xf8 > V [libjvm.so+0x13b860e] thread_native_entry(Thread*)+0x10e > > See also attached hs_err. > > I'll look into this a bit. > > [hs_err_pid6682.log](https://github.com/openjdk/shenandoah/files/6027426/hs_err_pid6682.log) Hmm, let's step back a little. Ideally, we would maintain a working state at each milestone or even each commit. Obviously, this is not really possible during (early) development of a large feature like generational. But, as far as I can tell, the code works to some degree, with the exception of certain features (e.g. ref-processing, class-unloading, full-gc, etc). And we can also define what sort of features or behaviours *should* work. Would it be possible to captures this in test programs (ideally in the form of jtreg tests)? This has numerous advantages: - Ability to continuously verify that what used to work still works after changes - Documentation: For example, run configuration (e.g. flags) document how to run programs with relevant features disabled - Testcases can be much narrower in scope than full programs - We can use WhiteBox API to have better control of the JVM (we newly added GC breakpoint support to be able to 'step through' GC phases in test cases, which can be very useful, see e.g. JDK-8262122) BTW, the flag to disable ref processing is -XX:-RegisterReferences (somewhat unintuitively) So, looking at the current state, both 'hotspot_gc_shenandoah' and 'hotspot_gc_shenandoah_generational' are passing, which means we're good in theory. However, I'd think that you added new features and behaviours that go beyond what is currently tested in hotspot_gc_shenandoah_generational, so maybe add a few testcases there? Also, I am not quite sure which of the not-working-quite-well aspects you intend to fix for this PR (maybe degen and full-GC?), and which you intend to defer to later milestones? ------------- PR: https://git.openjdk.java.net/shenandoah/pull/19 From zgu at redhat.com Tue Feb 23 15:06:45 2021 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 23 Feb 2021 10:06:45 -0500 Subject: RFR: Allow young collection to suspend marking in old generation [v3] In-Reply-To: References: Message-ID: <30ffbfb8-2d7b-7e76-910d-5c233f8f65d3@redhat.com> This looks like that degen into a wrong point, should be _degenerated_updaterefs, instead of _degenerated_outside_cycle. Please consider adding generation GC info in event log: http://cr.openjdk.java.net/~zgu/shenandoah/gen_event_log.patch Thanks, -Zhengyu On 2/23/21 3:03 AM, Roman Kennke wrote: > On Mon, 22 Feb 2021 18:14:29 GMT, Zhengyu Gu wrote: > >>> earthling-amzn has updated the pull request incrementally with five additional commits since the last revision: >>> >>> - Remove superfluous new line >>> - Remove redundant is_oop check >>> - Remove unused parameter, remove unnecessary casting >>> - Remove debug scaffolding, inline object aging >>> - Do not allow heuristics to change requested gc cause once a mutator request has been made >> >> Quick scan > > It looks much better now, hotspot_gc_shenandoah is passing. I'll give it a more in-depth review later. I've tried to run some programs with generational mode, and it survives a few cycles, until it crashes with: > > # Internal Error (/home/rkennke/src/openjdk/shenandoah/src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp:101), pid=6682, tid=6688 > # assert(!_heap->get_region(index)->is_cset()) failed: should have been cleared before > > Stack: [0x00007fd9529cf000,0x00007fd952acf000], sp=0x00007fd952acd530, 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+0x1592374] ShenandoahCollectionSet::clear()+0x1a4 > V [libjvm.so+0x15cb5fa] ShenandoahGeneration::prepare_regions_and_collection_set(bool)+0x20a > V [libjvm.so+0x15ac5bb] ShenandoahDegenGC::op_degenerated()+0x24b > V [libjvm.so+0x15ad4e0] ShenandoahDegenGC::entry_degenerated()+0xf0 > V [libjvm.so+0x16e391c] VM_ShenandoahDegeneratedGC::doit()+0x2c > V [libjvm.so+0x19126b7] VM_Operation::evaluate()+0x187 > V [libjvm.so+0x19372fc] VMThread::inner_execute(VM_Operation*)+0x30c > V [libjvm.so+0x1937c75] VMThread::loop()+0x255 > V [libjvm.so+0x1937f1c] VMThread::run()+0xcc > V [libjvm.so+0x183baf8] Thread::call_run()+0xf8 > V [libjvm.so+0x13b860e] thread_native_entry(Thread*)+0x10e > > See also attached hs_err. > > I'll look into this a bit. > > [hs_err_pid6682.log](https://github.com/openjdk/shenandoah/files/6027426/hs_err_pid6682.log) > > ------------- > > PR: https://git.openjdk.java.net/shenandoah/pull/19 > From zgu at openjdk.java.net Tue Feb 23 15:28:06 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Tue, 23 Feb 2021 15:28:06 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v3] In-Reply-To: References: Message-ID: On Tue, 23 Feb 2021 08:00:31 GMT, Roman Kennke wrote: > It looks much better now, hotspot_gc_shenandoah is passing. I'll give it a more in-depth review later. I've tried to run some programs with generational mode, and it survives a few cycles, until it crashes with: > > ``` > # Internal Error (/home/rkennke/src/openjdk/shenandoah/src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp:101), pid=6682, tid=6688 > # assert(!_heap->get_region(index)->is_cset()) failed: should have been cleared before > > Stack: [0x00007fd9529cf000,0x00007fd952acf000], sp=0x00007fd952acd530, 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+0x1592374] ShenandoahCollectionSet::clear()+0x1a4 > V [libjvm.so+0x15cb5fa] ShenandoahGeneration::prepare_regions_and_collection_set(bool)+0x20a > V [libjvm.so+0x15ac5bb] ShenandoahDegenGC::op_degenerated()+0x24b > V [libjvm.so+0x15ad4e0] ShenandoahDegenGC::entry_degenerated()+0xf0 > V [libjvm.so+0x16e391c] VM_ShenandoahDegeneratedGC::doit()+0x2c > V [libjvm.so+0x19126b7] VM_Operation::evaluate()+0x187 > V [libjvm.so+0x19372fc] VMThread::inner_execute(VM_Operation*)+0x30c > V [libjvm.so+0x1937c75] VMThread::loop()+0x255 > V [libjvm.so+0x1937f1c] VMThread::run()+0xcc > V [libjvm.so+0x183baf8] Thread::call_run()+0xf8 > V [libjvm.so+0x13b860e] thread_native_entry(Thread*)+0x10e > ``` > > See also attached hs_err. > > I'll look into this a bit. > > [hs_err_pid6682.log](https://github.com/openjdk/shenandoah/files/6027426/hs_err_pid6682.log) Looks like that degen into a wrong point, should be _degenerated_updaterefs, instead of _degenerated_outside_cycle. Please consider adding generational GC info in event log: http://cr.openjdk.java.net/~zgu/shenandoah/gen_event_log.patch Thanks, ------------- PR: https://git.openjdk.java.net/shenandoah/pull/19 From chagedorn at openjdk.java.net Tue Feb 23 16:14:45 2021 From: chagedorn at openjdk.java.net (Christian Hagedorn) Date: Tue, 23 Feb 2021 16:14:45 GMT Subject: RFR: 8260637: Shenandoah: assert(_base == Tuple) failure during C2 compilation In-Reply-To: References: Message-ID: On Thu, 4 Feb 2021 08:34:04 GMT, Roland Westrelin wrote: > Another shenandoah bug with a fix in shared code. > > LRBRightAfterMemBar.test2() has 2 allocations that are non escaping > but non scalarizable. As a result, the null check for a3.f is > optimized out but the CastPP is left in the graph. That CastPP becomes > control dependent on the o2 == null check which is later hoisted out > of the loop. The CastPP is then right after the membar of the barrier = 0x42 > volatile access but with an out of loop control. Because the node is > considered pinned by loopopts, it is assigned the membar as > control. The input of the CastPP is a shenandoah barrier that's > sandwiched between the membar and the CastPP and so expanded right > after the membar (that is between the membar and its control > projection). That causes the crash. I don't think cast nodes need to > be pinned so I propose that as a fix. Looks reasonable to me! ------------- Marked as reviewed by chagedorn (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2400 From kvn at openjdk.java.net Tue Feb 23 16:32:39 2021 From: kvn at openjdk.java.net (Vladimir Kozlov) Date: Tue, 23 Feb 2021 16:32:39 GMT Subject: RFR: 8260637: Shenandoah: assert(_base == Tuple) failure during C2 compilation In-Reply-To: References: Message-ID: On Thu, 4 Feb 2021 08:34:04 GMT, Roland Westrelin wrote: > Another shenandoah bug with a fix in shared code. > > LRBRightAfterMemBar.test2() has 2 allocations that are non escaping > but non scalarizable. As a result, the null check for a3.f is > optimized out but the CastPP is left in the graph. That CastPP becomes > control dependent on the o2 == null check which is later hoisted out > of the loop. The CastPP is then right after the membar of the barrier = 0x42 > volatile access but with an out of loop control. Because the node is > considered pinned by loopopts, it is assigned the membar as > control. The input of the CastPP is a shenandoah barrier that's > sandwiched between the membar and the CastPP and so expanded right > after the membar (that is between the membar and its control > projection). That causes the crash. I don't think cast nodes need to > be pinned so I propose that as a fix. Ok ------------- Marked as reviewed by kvn (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2400 From roland at openjdk.java.net Tue Feb 23 16:37:40 2021 From: roland at openjdk.java.net (Roland Westrelin) Date: Tue, 23 Feb 2021 16:37:40 GMT Subject: RFR: 8260637: Shenandoah: assert(_base == Tuple) failure during C2 compilation In-Reply-To: References: Message-ID: On Tue, 23 Feb 2021 16:29:59 GMT, Vladimir Kozlov wrote: >> Another shenandoah bug with a fix in shared code. >> >> LRBRightAfterMemBar.test2() has 2 allocations that are non escaping >> but non scalarizable. As a result, the null check for a3.f is >> optimized out but the CastPP is left in the graph. That CastPP becomes >> control dependent on the o2 == null check which is later hoisted out >> of the loop. The CastPP is then right after the membar of the barrier = 0x42 >> volatile access but with an out of loop control. Because the node is >> considered pinned by loopopts, it is assigned the membar as >> control. The input of the CastPP is a shenandoah barrier that's >> sandwiched between the membar and the CastPP and so expanded right >> after the membar (that is between the membar and its control >> projection). That causes the crash. I don't think cast nodes need to >> be pinned so I propose that as a fix. > > Ok @vnkozlov @chhagedorn thanks for the reviews ------------- PR: https://git.openjdk.java.net/jdk/pull/2400 From roland at openjdk.java.net Tue Feb 23 16:37:41 2021 From: roland at openjdk.java.net (Roland Westrelin) Date: Tue, 23 Feb 2021 16:37:41 GMT Subject: Integrated: 8260637: Shenandoah: assert(_base == Tuple) failure during C2 compilation In-Reply-To: References: Message-ID: On Thu, 4 Feb 2021 08:34:04 GMT, Roland Westrelin wrote: > Another shenandoah bug with a fix in shared code. > > LRBRightAfterMemBar.test2() has 2 allocations that are non escaping > but non scalarizable. As a result, the null check for a3.f is > optimized out but the CastPP is left in the graph. That CastPP becomes > control dependent on the o2 == null check which is later hoisted out > of the loop. The CastPP is then right after the membar of the barrier = 0x42 > volatile access but with an out of loop control. Because the node is > considered pinned by loopopts, it is assigned the membar as > control. The input of the CastPP is a shenandoah barrier that's > sandwiched between the membar and the CastPP and so expanded right > after the membar (that is between the membar and its control > projection). That causes the crash. I don't think cast nodes need to > be pinned so I propose that as a fix. This pull request has now been integrated. Changeset: 8a2f5890 Author: Roland Westrelin URL: https://git.openjdk.java.net/jdk/commit/8a2f5890 Stats: 33 lines in 2 files changed: 27 ins; 0 del; 6 mod 8260637: Shenandoah: assert(_base == Tuple) failure during C2 compilation Reviewed-by: chagedorn, kvn ------------- PR: https://git.openjdk.java.net/jdk/pull/2400 From github.com+71722661+earthling-amzn at openjdk.java.net Tue Feb 23 23:06:01 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Tue, 23 Feb 2021 23:06:01 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v3] In-Reply-To: References: Message-ID: On Tue, 23 Feb 2021 15:25:33 GMT, Zhengyu Gu wrote: >> It looks much better now, hotspot_gc_shenandoah is passing. I'll give it a more in-depth review later. I've tried to run some programs with generational mode, and it survives a few cycles, until it crashes with: >> >> # Internal Error (/home/rkennke/src/openjdk/shenandoah/src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp:101), pid=6682, tid=6688 >> # assert(!_heap->get_region(index)->is_cset()) failed: should have been cleared before >> >> Stack: [0x00007fd9529cf000,0x00007fd952acf000], sp=0x00007fd952acd530, 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+0x1592374] ShenandoahCollectionSet::clear()+0x1a4 >> V [libjvm.so+0x15cb5fa] ShenandoahGeneration::prepare_regions_and_collection_set(bool)+0x20a >> V [libjvm.so+0x15ac5bb] ShenandoahDegenGC::op_degenerated()+0x24b >> V [libjvm.so+0x15ad4e0] ShenandoahDegenGC::entry_degenerated()+0xf0 >> V [libjvm.so+0x16e391c] VM_ShenandoahDegeneratedGC::doit()+0x2c >> V [libjvm.so+0x19126b7] VM_Operation::evaluate()+0x187 >> V [libjvm.so+0x19372fc] VMThread::inner_execute(VM_Operation*)+0x30c >> V [libjvm.so+0x1937c75] VMThread::loop()+0x255 >> V [libjvm.so+0x1937f1c] VMThread::run()+0xcc >> V [libjvm.so+0x183baf8] Thread::call_run()+0xf8 >> V [libjvm.so+0x13b860e] thread_native_entry(Thread*)+0x10e >> >> See also attached hs_err. >> >> I'll look into this a bit. >> >> [hs_err_pid6682.log](https://github.com/openjdk/shenandoah/files/6027426/hs_err_pid6682.log) > >> It looks much better now, hotspot_gc_shenandoah is passing. I'll give it a more in-depth review later. I've tried to run some programs with generational mode, and it survives a few cycles, until it crashes with: >> >> ``` >> # Internal Error (/home/rkennke/src/openjdk/shenandoah/src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp:101), pid=6682, tid=6688 >> # assert(!_heap->get_region(index)->is_cset()) failed: should have been cleared before >> >> Stack: [0x00007fd9529cf000,0x00007fd952acf000], sp=0x00007fd952acd530, 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+0x1592374] ShenandoahCollectionSet::clear()+0x1a4 >> V [libjvm.so+0x15cb5fa] ShenandoahGeneration::prepare_regions_and_collection_set(bool)+0x20a >> V [libjvm.so+0x15ac5bb] ShenandoahDegenGC::op_degenerated()+0x24b >> V [libjvm.so+0x15ad4e0] ShenandoahDegenGC::entry_degenerated()+0xf0 >> V [libjvm.so+0x16e391c] VM_ShenandoahDegeneratedGC::doit()+0x2c >> V [libjvm.so+0x19126b7] VM_Operation::evaluate()+0x187 >> V [libjvm.so+0x19372fc] VMThread::inner_execute(VM_Operation*)+0x30c >> V [libjvm.so+0x1937c75] VMThread::loop()+0x255 >> V [libjvm.so+0x1937f1c] VMThread::run()+0xcc >> V [libjvm.so+0x183baf8] Thread::call_run()+0xf8 >> V [libjvm.so+0x13b860e] thread_native_entry(Thread*)+0x10e >> ``` >> >> See also attached hs_err. >> >> I'll look into this a bit. >> >> [hs_err_pid6682.log](https://github.com/openjdk/shenandoah/files/6027426/hs_err_pid6682.log) > > Looks like that degen into a wrong point, should be _degenerated_updaterefs, instead of _degenerated_outside_cycle. > > Please consider adding generational GC info in event log: > > http://cr.openjdk.java.net/~zgu/shenandoah/gen_event_log.patch > > > Thanks, I'm not sure what a generational specific jtreg test would look like. Would we extend the Whitebox API to tell us the age of objects or regions? I'd like to run the entire hotspot_gc_shenandoah test suite in generational mode while minimizing the number of flags required to maximize the number of passing test (for now, we need `-XX:-RegisterReferences` and `-XX:-UnloadClasses`). I'll figure out what that number of passing tests is today and that will be our proverbial line in the sand. From there we'll ratchet it up. Does that make sense? Regarding this PR. Known Issues: * Full GC's are broken. We understand some of the reasons why (compaction does not update the remembered set). We do not plan to fix this until after the next milestone. * The `ShenandoahImmediateThreshold` shortcut is disabled (it bypasses some remembered set maintenance during update references). We have a plan and some work in progress to fix this, but it hasn't formally been committed to a milestone yet. * Degenerated cycles _should_ work. We know they're broken right now and we're working on it. This will be fixed in this PR. Expected Behavior: With `-XX:-ShenandoahAllowOldMarkingPreemption`: * This _should_ be stable. In this configuration it will run either _young_ or _global_ cycles. * Class unloading only happens in global cycles. * Concurrent reference processing hasn't been tested in this configuration. With: `-XX:+ShenandoahAllowOldMarkingPreemption`: * It _should_ run complete young cycles and finish marking of the old generation. * It _should_ be able to pause old generation marking and run a complete young cycle (and then resume old marking). * Class unloading and reference processing must be disabled (will do this when the mode is initialized). * Eventually the application will exhaust the heap because it doesn't actually reclaim old regions. Reclaiming old regions is planned for the next milestone. We will deliver this in smaller incremental changes. I will gratefully pull in @zhengyu123 's patch. We have deferred some of the operational improvements while we work on the core features. We expect the JMX beans will need some consideration and we need to add a timing phase for the remembered set scan (at the least). I hope all that makes sense. Thanks for taking the time to read all that. ------------- PR: https://git.openjdk.java.net/shenandoah/pull/19 From github.com+71722661+earthling-amzn at openjdk.java.net Wed Feb 24 01:08:41 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Wed, 24 Feb 2021 01:08:41 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v4] In-Reply-To: References: Message-ID: > **This is a work in progress.** > > ## Summary of changes > The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. > * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. > * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. > * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. > * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. > * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. > * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. > * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. > * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. > * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. earthling-amzn has updated the pull request incrementally with six additional commits since the last revision: - Enable continuation of old generation marking after bootstrapping young cycle completes - Give precedence to evacuation closures during concurrent root marking - Back out debugging change - Fix bad assert - Remove extra call to mark bitmap incomplete - Bring verifier back to life for old generation marking ------------- Changes: - all: https://git.openjdk.java.net/shenandoah/pull/19/files - new: https://git.openjdk.java.net/shenandoah/pull/19/files/f52dc5f8..6b00d726 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=03 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=02-03 Stats: 45 lines in 8 files changed: 16 ins; 19 del; 10 mod Patch: https://git.openjdk.java.net/shenandoah/pull/19.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/19/head:pull/19 PR: https://git.openjdk.java.net/shenandoah/pull/19 From zgu at openjdk.java.net Wed Feb 24 01:08:42 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Wed, 24 Feb 2021 01:08:42 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v3] In-Reply-To: References: Message-ID: On Mon, 22 Feb 2021 21:31:22 GMT, earthling-amzn wrote: >> **This is a work in progress.** >> >> ## Summary of changes >> The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. >> * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. >> * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. >> * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. >> * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. >> * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. >> * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. >> * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. >> * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. >> * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. > > earthling-amzn has updated the pull request incrementally with five additional commits since the last revision: > > - Remove superfluous new line > - Remove redundant is_oop check > - Remove unused parameter, remove unnecessary casting > - Remove debug scaffolding, inline object aging > - Do not allow heuristics to change requested gc cause once a mutator request has been made Changes requested by zgu (Reviewer). src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp line 243: > 241: ShenandoahRegionIterator regions; > 242: ShenandoahScanRememberedTask task(task_queues(), old_gen_task_queues(), rp, ®ions); > 243: heap->safepoint_workers()->run_task(&task); This looks wrong! it does not match nworkers in reserve_task_queue() call, should ussseee heap->workers() instead? ------------- PR: https://git.openjdk.java.net/shenandoah/pull/19 From github.com+71722661+earthling-amzn at openjdk.java.net Wed Feb 24 01:26:26 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Wed, 24 Feb 2021 01:26:26 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v5] In-Reply-To: References: Message-ID: > **This is a work in progress.** > > ## Summary of changes > The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. > * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. > * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. > * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. > * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. > * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. > * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. > * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. > * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. > * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. earthling-amzn has updated the pull request incrementally with one additional commit since the last revision: Reserve correct number of task queues for rset scan ------------- Changes: - all: https://git.openjdk.java.net/shenandoah/pull/19/files - new: https://git.openjdk.java.net/shenandoah/pull/19/files/6b00d726..0672a4fd Webrevs: - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=04 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=03-04 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/shenandoah/pull/19.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/19/head:pull/19 PR: https://git.openjdk.java.net/shenandoah/pull/19 From github.com+71722661+earthling-amzn at openjdk.java.net Wed Feb 24 01:26:30 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Wed, 24 Feb 2021 01:26:30 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v3] In-Reply-To: References: Message-ID: On Wed, 24 Feb 2021 00:48:10 GMT, Zhengyu Gu wrote: >> earthling-amzn has updated the pull request incrementally with five additional commits since the last revision: >> >> - Remove superfluous new line >> - Remove redundant is_oop check >> - Remove unused parameter, remove unnecessary casting >> - Remove debug scaffolding, inline object aging >> - Do not allow heuristics to change requested gc cause once a mutator request has been made > > src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp line 243: > >> 241: ShenandoahRegionIterator regions; >> 242: ShenandoahScanRememberedTask task(task_queues(), old_gen_task_queues(), rp, ®ions); >> 243: heap->safepoint_workers()->run_task(&task); > > This looks wrong! it does not match nworkers in reserve_task_queue() call, should use heap->workers() instead? Yep, that's wrong. We used to have this code in init mark, which was removed upstream. I fumbled the integration. Should point out that we are scanning the remembered set on a safepoint, but we have work in progress to make this concurrent as well. ------------- PR: https://git.openjdk.java.net/shenandoah/pull/19 From github.com+71722661+earthling-amzn at openjdk.java.net Wed Feb 24 18:12:26 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Wed, 24 Feb 2021 18:12:26 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v6] In-Reply-To: References: Message-ID: > **This is a work in progress.** > > ## Summary of changes > The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. > * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. > * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. > * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. > * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. > * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. > * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. > * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. > * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. > * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. earthling-amzn has updated the pull request incrementally with one additional commit since the last revision: Fix includes for zero build ------------- Changes: - all: https://git.openjdk.java.net/shenandoah/pull/19/files - new: https://git.openjdk.java.net/shenandoah/pull/19/files/0672a4fd..141a728a Webrevs: - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=05 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=04-05 Stats: 9 lines in 5 files changed: 8 ins; 1 del; 0 mod Patch: https://git.openjdk.java.net/shenandoah/pull/19.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/19/head:pull/19 PR: https://git.openjdk.java.net/shenandoah/pull/19 From rkennke at openjdk.java.net Wed Feb 24 18:19:58 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Wed, 24 Feb 2021 18:19:58 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v3] In-Reply-To: References: Message-ID: On Wed, 24 Feb 2021 01:05:32 GMT, Zhengyu Gu wrote: >> earthling-amzn has updated the pull request incrementally with five additional commits since the last revision: >> >> - Remove superfluous new line >> - Remove redundant is_oop check >> - Remove unused parameter, remove unnecessary casting >> - Remove debug scaffolding, inline object aging >> - Do not allow heuristics to change requested gc cause once a mutator request has been made > > Changes requested by zgu (Reviewer). > I'm not sure what a generational specific jtreg test would look like. Would we extend the Whitebox API to tell us the age of objects or regions? I'd like to run the entire hotspot_gc_shenandoah test suite in generational mode while minimizing the number of flags required to maximize the number of passing test (for now, we need `-XX:-RegisterReferences` and `-XX:-UnloadClasses`). I'll figure out what that number of passing tests is today and that will be our proverbial line in the sand. From there we'll ratchet it up. Does that make sense? Yes, that sounds sensible. It might even be too much. Pick a few sensible test programs that are known to work with a certain combination of flags, and add those to hotspot_gc_shenandoah_generational configuration. That should be good enough. > Regarding this PR. > > Known Issues: > > * Full GC's are broken. We understand some of the reasons why (compaction does not update the remembered set). We do not plan to fix this until after the next milestone. Ok, good. > * The `ShenandoahImmediateThreshold` shortcut is disabled (it bypasses some remembered set maintenance during update references). We have a plan and some work in progress to fix this, but it hasn't formally been committed to a milestone yet. Ok. > * Degenerated cycles _should_ work. We know they're broken right now and we're working on it. This will be fixed in this PR. Alright. IIRC, you mentioned that degen is problematic when GC is cancelled during e.g. young-gen collection, and we basically need to start from 0 to get the full marking info, or something. If this is the case (I might be mis-remembering it), you could just as well jump into full GC. If, otoh, there is a reasonable way that STW GC could pick up a cancelled young or old GC, then you'll probably need to extend degen machinery to finish the generational young or old cycle. Does that make sense? > Expected Behavior: > > With `-XX:-ShenandoahAllowOldMarkingPreemption`: > > * This _should_ be stable. In this configuration it will run either _young_ or _global_ cycles. Ok, so please test for that with a test program. > * Class unloading only happens in global cycles. This seems reasonable. > * Concurrent reference processing hasn't been tested in this configuration. Sure, disable it for now, and address it in a later milestone. > With: `-XX:+ShenandoahAllowOldMarkingPreemption`: > > * It _should_ run complete young cycles and finish marking of the old generation. > > * It _should_ be able to pause old generation marking and run a complete young cycle (and then resume old marking). Ok, can you make a test program, that tests with this flag? Not sure if you can test the exact behaviour that you describe, though. > * Class unloading and reference processing must be disabled (will do this when the mode is initialized). > > * Eventually the application will exhaust the heap because it doesn't actually reclaim old regions. Ok, sure. > Reclaiming old regions is planned for the next milestone. We will deliver this in smaller incremental changes. Great! > I will gratefully pull in @zhengyu123 's patch. We have deferred some of the operational improvements while we work on the core features. We expect the JMX beans will need some consideration and we need to add a timing phase for the remembered set scan (at the least). > > I hope all that makes sense. Thanks for taking the time to read all that. Thanks for explaining that much! That was exactly the information that I needed :-) ------------- PR: https://git.openjdk.java.net/shenandoah/pull/19 From github.com+71722661+earthling-amzn at openjdk.java.net Wed Feb 24 18:32:01 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Wed, 24 Feb 2021 18:32:01 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v3] In-Reply-To: References: Message-ID: On Wed, 24 Feb 2021 18:17:06 GMT, Roman Kennke wrote: >> Changes requested by zgu (Reviewer). > >> I'm not sure what a generational specific jtreg test would look like. Would we extend the Whitebox API to tell us the age of objects or regions? I'd like to run the entire hotspot_gc_shenandoah test suite in generational mode while minimizing the number of flags required to maximize the number of passing test (for now, we need `-XX:-RegisterReferences` and `-XX:-UnloadClasses`). I'll figure out what that number of passing tests is today and that will be our proverbial line in the sand. From there we'll ratchet it up. Does that make sense? > > Yes, that sounds sensible. It might even be too much. Pick a few sensible test programs that are known to work with a certain combination of flags, and add those to hotspot_gc_shenandoah_generational configuration. That should be good enough. > >> Regarding this PR. >> >> Known Issues: >> >> * Full GC's are broken. We understand some of the reasons why (compaction does not update the remembered set). We do not plan to fix this until after the next milestone. > > Ok, good. > >> * The `ShenandoahImmediateThreshold` shortcut is disabled (it bypasses some remembered set maintenance during update references). We have a plan and some work in progress to fix this, but it hasn't formally been committed to a milestone yet. > > Ok. > >> * Degenerated cycles _should_ work. We know they're broken right now and we're working on it. This will be fixed in this PR. > > Alright. IIRC, you mentioned that degen is problematic when GC is cancelled during e.g. young-gen collection, and we basically need to start from 0 to get the full marking info, or something. If this is the case (I might be mis-remembering it), you could just as well jump into full GC. If, otoh, there is a reasonable way that STW GC could pick up a cancelled young or old GC, then you'll probably need to extend degen machinery to finish the generational young or old cycle. Does that make sense? > >> Expected Behavior: >> >> With `-XX:-ShenandoahAllowOldMarkingPreemption`: >> >> * This _should_ be stable. In this configuration it will run either _young_ or _global_ cycles. > > Ok, so please test for that with a test program. > >> * Class unloading only happens in global cycles. > > This seems reasonable. > >> * Concurrent reference processing hasn't been tested in this configuration. > > Sure, disable it for now, and address it in a later milestone. > >> With: `-XX:+ShenandoahAllowOldMarkingPreemption`: >> >> * It _should_ run complete young cycles and finish marking of the old generation. >> >> * It _should_ be able to pause old generation marking and run a complete young cycle (and then resume old marking). > > Ok, can you make a test program, that tests with this flag? Not sure if you can test the exact behaviour that you describe, though. > >> * Class unloading and reference processing must be disabled (will do this when the mode is initialized). >> >> * Eventually the application will exhaust the heap because it doesn't actually reclaim old regions. > > Ok, sure. > >> Reclaiming old regions is planned for the next milestone. We will deliver this in smaller incremental changes. > > Great! > >> I will gratefully pull in @zhengyu123 's patch. We have deferred some of the operational improvements while we work on the core features. We expect the JMX beans will need some consideration and we need to add a timing phase for the remembered set scan (at the least). >> >> I hope all that makes sense. Thanks for taking the time to read all that. > > Thanks for explaining that much! That was exactly the information that I needed :-) We had some discussion on how to handle degenerated cycles. Having the degenerated cycle complete the generation in-progress would probably shorten the pause times, but running the degenerated cycle on the entire heap would reclaim the most memory. At any rate, it's not an irreversible decision and it's something to experiment with. I'll add JTreg tests to exercise these new flags and create a new configuration to run the tests we expect to pass in generational mode. ------------- PR: https://git.openjdk.java.net/shenandoah/pull/19 From github.com+71722661+earthling-amzn at openjdk.java.net Wed Feb 24 19:21:17 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Wed, 24 Feb 2021 19:21:17 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v7] In-Reply-To: References: Message-ID: > **This is a work in progress.** > > ## Summary of changes > The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. > * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. > * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. > * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. > * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. > * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. > * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. > * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. > * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. > * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. earthling-amzn has updated the pull request incrementally with two additional commits since the last revision: - Fix windows build (missed files) - Fix windows build? ------------- Changes: - all: https://git.openjdk.java.net/shenandoah/pull/19/files - new: https://git.openjdk.java.net/shenandoah/pull/19/files/141a728a..c2dc7b0a Webrevs: - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=06 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=05-06 Stats: 32 lines in 10 files changed: 9 ins; 11 del; 12 mod Patch: https://git.openjdk.java.net/shenandoah/pull/19.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/19/head:pull/19 PR: https://git.openjdk.java.net/shenandoah/pull/19 From github.com+71722661+earthling-amzn at openjdk.java.net Wed Feb 24 21:41:18 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Wed, 24 Feb 2021 21:41:18 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v8] In-Reply-To: References: Message-ID: > **This is a work in progress.** > > ## Summary of changes > The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. > * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. > * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. > * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. > * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. > * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. > * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. > * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. > * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. > * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. earthling-amzn has updated the pull request incrementally with two additional commits since the last revision: - Fix aarch64 build - Include generation name in mark event messages (patch curteousy of Zhengyu). ------------- Changes: - all: https://git.openjdk.java.net/shenandoah/pull/19/files - new: https://git.openjdk.java.net/shenandoah/pull/19/files/c2dc7b0a..d5936c90 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=07 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=06-07 Stats: 26 lines in 3 files changed: 3 ins; 0 del; 23 mod Patch: https://git.openjdk.java.net/shenandoah/pull/19.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/19/head:pull/19 PR: https://git.openjdk.java.net/shenandoah/pull/19 From zgu at openjdk.java.net Wed Feb 24 23:20:01 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Wed, 24 Feb 2021 23:20:01 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v5] In-Reply-To: References: Message-ID: On Wed, 24 Feb 2021 01:26:26 GMT, earthling-amzn wrote: >> **This is a work in progress.** >> >> ## Summary of changes >> The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. >> * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. >> * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. >> * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. >> * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. >> * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. >> * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. >> * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. >> * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. >> * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. > > earthling-amzn has updated the pull request incrementally with one additional commit since the last revision: > > Reserve correct number of task queues for rset scan src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp line 242: > 240: ShenandoahRegionIterator regions; > 241: ShenandoahScanRememberedTask task(task_queues(), old_gen_task_queues(), rp, ®ions); > 242: heap->safepoint_workers()->run_task(&task); Out of curiosity, any reason to use safepoint_workers instead of regular workers? Thanks. ------------- PR: https://git.openjdk.java.net/shenandoah/pull/19 From github.com+71722661+earthling-amzn at openjdk.java.net Wed Feb 24 23:49:23 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Wed, 24 Feb 2021 23:49:23 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v9] In-Reply-To: References: Message-ID: > **This is a work in progress.** > > ## Summary of changes > The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. > * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. > * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. > * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. > * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. > * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. > * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. > * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. > * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. > * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. earthling-amzn has updated the pull request incrementally with four additional commits since the last revision: - Old collections should never update references - Global cycles can collect young and old regions Don't assume the generation associated with the region will be the generation running the cycle - Allow forwarded objects when old marking is in-progress - Fix aarch64 build (missed ref to MARKING) ------------- Changes: - all: https://git.openjdk.java.net/shenandoah/pull/19/files - new: https://git.openjdk.java.net/shenandoah/pull/19/files/d5936c90..e663bd02 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=08 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=07-08 Stats: 49 lines in 8 files changed: 6 ins; 22 del; 21 mod Patch: https://git.openjdk.java.net/shenandoah/pull/19.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/19/head:pull/19 PR: https://git.openjdk.java.net/shenandoah/pull/19 From github.com+71722661+earthling-amzn at openjdk.java.net Wed Feb 24 23:49:29 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Wed, 24 Feb 2021 23:49:29 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v5] In-Reply-To: References: Message-ID: <7FdDmHHwlrtoaifXKoYQ1kGGZzruTD4e7ZoMv8ox9pU=.32405b88-cffb-42f3-acaa-7e1a94a22098@github.com> On Wed, 24 Feb 2021 14:27:13 GMT, Zhengyu Gu wrote: >> earthling-amzn has updated the pull request incrementally with one additional commit since the last revision: >> >> Reserve correct number of task queues for rset scan > > src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp line 242: > >> 240: ShenandoahRegionIterator regions; >> 241: ShenandoahScanRememberedTask task(task_queues(), old_gen_task_queues(), rp, ®ions); >> 242: heap->safepoint_workers()->run_task(&task); > > Out of curiosity, any reason to use safepoint_workers instead of regular workers? Thanks. I figured `ParallelGCThreads` would be greater than `ConcGCThreads`, looking closer I see that the regular workers get `_max_workers`. I could put a `ShenandoahWorkerScope` here and have it get the number of workers from `ShenandoahWorkerPolicy`?. We plan to move this code off the safepoint anyway. ------------- PR: https://git.openjdk.java.net/shenandoah/pull/19 From zgu at openjdk.java.net Thu Feb 25 00:25:53 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 25 Feb 2021 00:25:53 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v5] In-Reply-To: <7FdDmHHwlrtoaifXKoYQ1kGGZzruTD4e7ZoMv8ox9pU=.32405b88-cffb-42f3-acaa-7e1a94a22098@github.com> References: <7FdDmHHwlrtoaifXKoYQ1kGGZzruTD4e7ZoMv8ox9pU=.32405b88-cffb-42f3-acaa-7e1a94a22098@github.com> Message-ID: <0dG7XQhbBbKAWX5xfy77TYoK2xwCVLHfoG2csp08NmE=.a32b2571-0eb7-43a8-af24-26a8c37c27a0@github.com> On Wed, 24 Feb 2021 23:44:59 GMT, earthling-amzn wrote: >> src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp line 242: >> >>> 240: ShenandoahRegionIterator regions; >>> 241: ShenandoahScanRememberedTask task(task_queues(), old_gen_task_queues(), rp, ®ions); >>> 242: heap->safepoint_workers()->run_task(&task); >> >> Out of curiosity, any reason to use safepoint_workers instead of regular workers? Thanks. > > I figured `ParallelGCThreads` would be greater than `ConcGCThreads`, looking closer I see that the regular workers get `_max_workers`. I could put a `ShenandoahWorkerScope` here and have it get the number of workers from `ShenandoahWorkerPolicy`?. We plan to move this code off the safepoint anyway. Yep. In this case, should just use regular workers, then. ------------- PR: https://git.openjdk.java.net/shenandoah/pull/19 From iklam at openjdk.java.net Thu Feb 25 00:31:09 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Thu, 25 Feb 2021 00:31:09 GMT Subject: RFR: 8261868: Reduce inclusion of metaspace.hpp [v3] In-Reply-To: References: Message-ID: > metaspace.hpp is included by about 770 out of 1000 HotSpot .o files. Most of these are transitively included via array.hpp and classLoaderData.hpp. > > - classLoaderData.hpp doesn't actually need metaspace.hpp. > - array.hpp can be refactored to put a function that depends on metaspace.hpp into array.inline.hpp > > Doing the above reduces the number of .o files that include metaspace.hpp to 343. Since this is still a significant number, we should split out the rarely used classes (such as `MetaspaceGC` and `MetaspaceUtils`) into a new header file (metaspaceUtils.hpp, which is included only 30 times). > > Also, these 3 includes can now be removed from metaspace.hpp. > > #include "memory/memRegion.hpp" > #include "memory/metaspaceChunkFreeListSummary.hpp" > #include "memory/virtualspace.hpp" > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. > > (I also fixed an unrelated comment in archiveUtils.cpp when I was scanning for the word "Metaspace" in the source files -- the function `MetaspaceShared::commit_to()` no longer exists). Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision: - fixed copyright - Merge branch 'master' of https://github.com/openjdk/jdk into 8261868-reduce-inclusion-of-metaspace.hpp - @calvinccheung review comments - fixed ppc/s390 builds - step2 - step 1 ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2599/files - new: https://git.openjdk.java.net/jdk/pull/2599/files/700d1c16..b5b5a935 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2599&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2599&range=01-02 Stats: 15191 lines in 386 files changed: 10589 ins; 2402 del; 2200 mod Patch: https://git.openjdk.java.net/jdk/pull/2599.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2599/head:pull/2599 PR: https://git.openjdk.java.net/jdk/pull/2599 From iklam at openjdk.java.net Thu Feb 25 04:36:40 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Thu, 25 Feb 2021 04:36:40 GMT Subject: RFR: 8261868: Reduce inclusion of metaspace.hpp [v2] In-Reply-To: References: Message-ID: On Wed, 17 Feb 2021 07:54:28 GMT, Thomas Stuefe wrote: >> Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: >> >> fixed ppc/s390 builds > > Hi Ioi, > > this is very appreciated. > > metaspace.hpp is still a bit of a mess. Its the last holdover for the old metaspace implementation and I always wanted to clean it out a bit. Splitting this header into three is a right step. > > A lot of that stuff may still vanish and/or be reformed if I have the time (eg metaspaceChunkFreeListSummary). > > Assuming this builds and tests fine on all our platform, including the weirder ones, I am fine with this patch. It looks good. > > Thanks, Thomas Thanks @tstuefe and @calvinccheung for the review. I re-tested with the latest repo. ------------- PR: https://git.openjdk.java.net/jdk/pull/2599 From iklam at openjdk.java.net Thu Feb 25 04:36:40 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Thu, 25 Feb 2021 04:36:40 GMT Subject: RFR: 8261868: Reduce inclusion of metaspace.hpp [v2] In-Reply-To: References: Message-ID: On Fri, 19 Feb 2021 06:08:09 GMT, Calvin Cheung wrote: > One more file you may consider updating is share/memory/classLoaderMetaspace.cpp. > It now depends on metaspaceUtils.hpp but it includes it transitively via metaspaceTracer.hpp. > The include of metaspace.hpp is not needed because classLoaderMetaspace.hpp includes it. > > Other changes seem good. I added metaspaceUtils.hpp to classLoaderMetaspace.cpp. I kept metaspace.hpp in there -- our convention is to always explicitly include a header file if we use its contents, even if this header file might be transitively included by other headers. ------------- PR: https://git.openjdk.java.net/jdk/pull/2599 From duke at openjdk.java.net Thu Feb 25 04:36:41 2021 From: duke at openjdk.java.net (duke) Date: Thu, 25 Feb 2021 04:36:41 GMT Subject: Withdrawn: 8261868: Reduce inclusion of metaspace.hpp In-Reply-To: References: Message-ID: On Wed, 17 Feb 2021 06:12:37 GMT, Ioi Lam wrote: > metaspace.hpp is included by about 770 out of 1000 HotSpot .o files. Most of these are transitively included via array.hpp and classLoaderData.hpp. > > - classLoaderData.hpp doesn't actually need metaspace.hpp. > - array.hpp can be refactored to put a function that depends on metaspace.hpp into array.inline.hpp > > Doing the above reduces the number of .o files that include metaspace.hpp to 343. Since this is still a significant number, we should split out the rarely used classes (such as `MetaspaceGC` and `MetaspaceUtils`) into a new header file (metaspaceUtils.hpp, which is included only 30 times). > > Also, these 3 includes can now be removed from metaspace.hpp. > > #include "memory/memRegion.hpp" > #include "memory/metaspaceChunkFreeListSummary.hpp" > #include "memory/virtualspace.hpp" > > Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero. > > (I also fixed an unrelated comment in archiveUtils.cpp when I was scanning for the word "Metaspace" in the source files -- the function `MetaspaceShared::commit_to()` no longer exists). This pull request has been closed without being integrated. ------------- PR: https://git.openjdk.java.net/jdk/pull/2599 From iklam at openjdk.java.net Thu Feb 25 06:12:40 2021 From: iklam at openjdk.java.net (Ioi Lam) Date: Thu, 25 Feb 2021 06:12:40 GMT Subject: RFR: 8261868: Reduce inclusion of metaspace.hpp [v2] In-Reply-To: References: Message-ID: On Thu, 25 Feb 2021 04:30:42 GMT, Ioi Lam wrote: >> Hi Ioi, >> >> this is very appreciated. >> >> metaspace.hpp is still a bit of a mess. Its the last holdover for the old metaspace implementation and I always wanted to clean it out a bit. Splitting this header into three is a right step. >> >> A lot of that stuff may still vanish and/or be reformed if I have the time (eg metaspaceChunkFreeListSummary). >> >> Assuming this builds and tests fine on all our platform, including the weirder ones, I am fine with this patch. It looks good. >> >> Thanks, Thomas > > Thanks @tstuefe and @calvinccheung for the review. I re-tested with the latest repo. Note: the commit into the openjdk/jdk repo was successful. https://github.com/openjdk/jdk/commit/0f8be6e433b5d30e028558a4bea0659838d6b700 The previous message by the openjdk bot seems to be an error by the bot. ------------- PR: https://git.openjdk.java.net/jdk/pull/2599 From github.com+71722661+earthling-amzn at openjdk.java.net Thu Feb 25 18:46:18 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Thu, 25 Feb 2021 18:46:18 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v10] In-Reply-To: References: Message-ID: > **This is a work in progress.** > > ## Summary of changes > The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. > * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. > * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. > * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. > * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. > * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. > * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. > * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. > * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. > * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. earthling-amzn has updated the pull request incrementally with three additional commits since the last revision: - Use size_t in most places (fix windows build?) - Use regular workers for rset scan during init mark - Allow concurrent young collections to degenerate to young generation Old cycles continue to degenerate to the global generation ------------- Changes: - all: https://git.openjdk.java.net/shenandoah/pull/19/files - new: https://git.openjdk.java.net/shenandoah/pull/19/files/e663bd02..cc1ddcd9 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=09 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=08-09 Stats: 265 lines in 14 files changed: 77 ins; 36 del; 152 mod Patch: https://git.openjdk.java.net/shenandoah/pull/19.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/19/head:pull/19 PR: https://git.openjdk.java.net/shenandoah/pull/19 From zgu at openjdk.java.net Thu Feb 25 20:10:53 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 25 Feb 2021 20:10:53 GMT Subject: RFR: 8262398: Shenandoah: Disable nmethod barrier and stack watermark when running with passive mode Message-ID: nmethod barrier and stack watermark allow GC not to process nmethods at GC pauses, and aim to reduce GC latency, they do not benefit STW GCs, who process nmethods at pauses anyway. Test: - [x] hotspot_gc_shenandoah - [x] tier1 with -XX:+UseShenandoahGC - [x] tier1 with -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive - [x] tier1 with -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC ------------- Commit messages: - JDK-8262398 - init Changes: https://git.openjdk.java.net/jdk/pull/2727/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2727&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8262398 Stats: 39 lines in 11 files changed: 21 ins; 0 del; 18 mod Patch: https://git.openjdk.java.net/jdk/pull/2727.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2727/head:pull/2727 PR: https://git.openjdk.java.net/jdk/pull/2727 From rkennke at openjdk.java.net Thu Feb 25 20:23:38 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Thu, 25 Feb 2021 20:23:38 GMT Subject: RFR: 8262398: Shenandoah: Disable nmethod barrier and stack watermark when running with passive mode In-Reply-To: References: Message-ID: On Thu, 25 Feb 2021 20:06:40 GMT, Zhengyu Gu wrote: > nmethod barrier and stack watermark allow GC not to process nmethods at GC pauses, and aim to reduce GC latency, they do not benefit STW GCs, who process nmethods at pauses anyway. > > Test: > > - [x] hotspot_gc_shenandoah > - [x] tier1 with -XX:+UseShenandoahGC > - [x] tier1 with -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive > - [x] tier1 with -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC If it is possible at all, it would be most useful if we could have flags like ShenandoahNMethodBarrier and ShenandoahStackWatermark, and let them drive enabling and disabling of the corresponding barriers/features. It would be even better, if we could configure concurrent modes such that they do STW class-unloading and stack-processing (if possible with reasonable amount of work). That would help ports where those features are not yet present (current ports under development with the problem are PPC and Graal). ------------- PR: https://git.openjdk.java.net/jdk/pull/2727 From zgu at openjdk.java.net Thu Feb 25 21:15:39 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 25 Feb 2021 21:15:39 GMT Subject: RFR: 8262398: Shenandoah: Disable nmethod barrier and stack watermark when running with passive mode In-Reply-To: References: Message-ID: On Thu, 25 Feb 2021 20:20:55 GMT, Roman Kennke wrote: > If it is possible at all, it would be most useful if we could have flags like ShenandoahNMethodBarrier and ShenandoahStackWatermark, and let them drive enabling and disabling of the corresponding barriers/features. It would be even better, if we could configure concurrent modes such that they do STW class-unloading and stack-processing (if possible with reasonable amount of work). That would help ports where those features are not yet present (current ports under development with the problem are PPC and Graal). Disabling nmethod barrier and/or stack watermark for concurrent GC means crashes, we no longer have backup (e.g. processing thread roots and code roots at pauses) so I don't think it will help ports. ------------- PR: https://git.openjdk.java.net/jdk/pull/2727 From github.com+71722661+earthling-amzn at openjdk.java.net Fri Feb 26 01:06:29 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Fri, 26 Feb 2021 01:06:29 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v11] In-Reply-To: References: Message-ID: > **This is a work in progress.** > > ## Summary of changes > The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. > * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. > * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. > * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. > * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. > * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. > * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. > * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. > * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. > * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. earthling-amzn has updated the pull request incrementally with two additional commits since the last revision: - Resume previously suspended old generation marking - Provide usage statistics for old generation ------------- Changes: - all: https://git.openjdk.java.net/shenandoah/pull/19/files - new: https://git.openjdk.java.net/shenandoah/pull/19/files/cc1ddcd9..d45c3354 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=10 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=09-10 Stats: 300 lines in 14 files changed: 140 ins; 128 del; 32 mod Patch: https://git.openjdk.java.net/shenandoah/pull/19.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/19/head:pull/19 PR: https://git.openjdk.java.net/shenandoah/pull/19 From github.com+71722661+earthling-amzn at openjdk.java.net Fri Feb 26 19:38:22 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Fri, 26 Feb 2021 19:38:22 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v12] In-Reply-To: References: Message-ID: > **This is a work in progress.** > > ## Summary of changes > The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. > * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. > * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. > * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. > * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. > * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. > * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. > * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. > * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. > * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. earthling-amzn has updated the pull request incrementally with two additional commits since the last revision: - More narrowing conversion fixes for windows build - Unconditionally clear task queues when asked to cancel marking ------------- Changes: - all: https://git.openjdk.java.net/shenandoah/pull/19/files - new: https://git.openjdk.java.net/shenandoah/pull/19/files/d45c3354..6dbf42fd Webrevs: - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=11 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=10-11 Stats: 11 lines in 4 files changed: 6 ins; 2 del; 3 mod Patch: https://git.openjdk.java.net/shenandoah/pull/19.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/19/head:pull/19 PR: https://git.openjdk.java.net/shenandoah/pull/19 From rkennke at openjdk.java.net Fri Feb 26 19:43:58 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Fri, 26 Feb 2021 19:43:58 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v3] In-Reply-To: References: Message-ID: <9Kxs_Fp-b2APxU4tU7zSHavQmCfbPMHOhGbNj26rvgQ=.2eb77974-6d40-4b0f-8254-73f67d78e18d@github.com> On Wed, 24 Feb 2021 18:29:37 GMT, earthling-amzn wrote: >>> I'm not sure what a generational specific jtreg test would look like. Would we extend the Whitebox API to tell us the age of objects or regions? I'd like to run the entire hotspot_gc_shenandoah test suite in generational mode while minimizing the number of flags required to maximize the number of passing test (for now, we need `-XX:-RegisterReferences` and `-XX:-UnloadClasses`). I'll figure out what that number of passing tests is today and that will be our proverbial line in the sand. From there we'll ratchet it up. Does that make sense? >> >> Yes, that sounds sensible. It might even be too much. Pick a few sensible test programs that are known to work with a certain combination of flags, and add those to hotspot_gc_shenandoah_generational configuration. That should be good enough. >> >>> Regarding this PR. >>> >>> Known Issues: >>> >>> * Full GC's are broken. We understand some of the reasons why (compaction does not update the remembered set). We do not plan to fix this until after the next milestone. >> >> Ok, good. >> >>> * The `ShenandoahImmediateThreshold` shortcut is disabled (it bypasses some remembered set maintenance during update references). We have a plan and some work in progress to fix this, but it hasn't formally been committed to a milestone yet. >> >> Ok. >> >>> * Degenerated cycles _should_ work. We know they're broken right now and we're working on it. This will be fixed in this PR. >> >> Alright. IIRC, you mentioned that degen is problematic when GC is cancelled during e.g. young-gen collection, and we basically need to start from 0 to get the full marking info, or something. If this is the case (I might be mis-remembering it), you could just as well jump into full GC. If, otoh, there is a reasonable way that STW GC could pick up a cancelled young or old GC, then you'll probably need to extend degen machinery to finish the generational young or old cycle. Does that make sense? >> >>> Expected Behavior: >>> >>> With `-XX:-ShenandoahAllowOldMarkingPreemption`: >>> >>> * This _should_ be stable. In this configuration it will run either _young_ or _global_ cycles. >> >> Ok, so please test for that with a test program. >> >>> * Class unloading only happens in global cycles. >> >> This seems reasonable. >> >>> * Concurrent reference processing hasn't been tested in this configuration. >> >> Sure, disable it for now, and address it in a later milestone. >> >>> With: `-XX:+ShenandoahAllowOldMarkingPreemption`: >>> >>> * It _should_ run complete young cycles and finish marking of the old generation. >>> >>> * It _should_ be able to pause old generation marking and run a complete young cycle (and then resume old marking). >> >> Ok, can you make a test program, that tests with this flag? Not sure if you can test the exact behaviour that you describe, though. >> >>> * Class unloading and reference processing must be disabled (will do this when the mode is initialized). >>> >>> * Eventually the application will exhaust the heap because it doesn't actually reclaim old regions. >> >> Ok, sure. >> >>> Reclaiming old regions is planned for the next milestone. We will deliver this in smaller incremental changes. >> >> Great! >> >>> I will gratefully pull in @zhengyu123 's patch. We have deferred some of the operational improvements while we work on the core features. We expect the JMX beans will need some consideration and we need to add a timing phase for the remembered set scan (at the least). >>> >>> I hope all that makes sense. Thanks for taking the time to read all that. >> >> Thanks for explaining that much! That was exactly the information that I needed :-) > > We had some discussion on how to handle degenerated cycles. Having the degenerated cycle complete the generation in-progress would probably shorten the pause times, but running the degenerated cycle on the entire heap would reclaim the most memory. At any rate, it's not an irreversible decision and it's something to experiment with. > > I'll add JTreg tests to exercise these new flags and create a new configuration to run the tests we expect to pass in generational mode. This looks much better! My tests now die when attempting full-GC, which is expected (and not going to be addressed in this PR). hotspot_gc_shenandoah also seems stable now. I'll give it an in-depth review next week. ------------- PR: https://git.openjdk.java.net/shenandoah/pull/19 From rkennke at openjdk.java.net Fri Feb 26 19:46:59 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Fri, 26 Feb 2021 19:46:59 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v3] In-Reply-To: <9Kxs_Fp-b2APxU4tU7zSHavQmCfbPMHOhGbNj26rvgQ=.2eb77974-6d40-4b0f-8254-73f67d78e18d@github.com> References: <9Kxs_Fp-b2APxU4tU7zSHavQmCfbPMHOhGbNj26rvgQ=.2eb77974-6d40-4b0f-8254-73f67d78e18d@github.com> Message-ID: On Fri, 26 Feb 2021 19:41:08 GMT, Roman Kennke wrote: >> We had some discussion on how to handle degenerated cycles. Having the degenerated cycle complete the generation in-progress would probably shorten the pause times, but running the degenerated cycle on the entire heap would reclaim the most memory. At any rate, it's not an irreversible decision and it's something to experiment with. >> >> I'll add JTreg tests to exercise these new flags and create a new configuration to run the tests we expect to pass in generational mode. > > This looks much better! My tests now die when attempting full-GC, which is expected (and not going to be addressed in this PR). hotspot_gc_shenandoah also seems stable now. I'll give it an in-depth review next week. You should enable GitHub actions in your fork under Settings->Actions->Allow all actions. Then you'll get presubmit-tests which runs a whole bunch of stuff on various platforms. A great sanity check. ------------- PR: https://git.openjdk.java.net/shenandoah/pull/19 From github.com+71722661+earthling-amzn at openjdk.java.net Fri Feb 26 20:19:58 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Fri, 26 Feb 2021 20:19:58 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v3] In-Reply-To: References: <9Kxs_Fp-b2APxU4tU7zSHavQmCfbPMHOhGbNj26rvgQ=.2eb77974-6d40-4b0f-8254-73f67d78e18d@github.com> Message-ID: <4k7tZKJnbD_gHujh7Bn_aD0OxVachkbWih4TQBQ3EgM=.f68ea4fd-0126-47fc-9961-a07af8110725@github.com> On Fri, 26 Feb 2021 19:43:53 GMT, Roman Kennke wrote: >> This looks much better! My tests now die when attempting full-GC, which is expected (and not going to be addressed in this PR). hotspot_gc_shenandoah also seems stable now. I'll give it an in-depth review next week. > > You should enable GitHub actions in your fork under Settings->Actions->Allow all actions. Then you'll get presubmit-tests which runs a whole bunch of stuff on various platforms. A great sanity check. Yes, it's looking much more stable now. Hmm, I have actions enabled and I see it running builds on different platforms. I've been abusing this branch/pull request to fix windows and aarch64 builds. ------------- PR: https://git.openjdk.java.net/shenandoah/pull/19 From github.com+71722661+earthling-amzn at openjdk.java.net Fri Feb 26 23:38:18 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Fri, 26 Feb 2021 23:38:18 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v13] In-Reply-To: References: Message-ID: > **This is a work in progress.** > > ## Summary of changes > The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. > * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. > * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. > * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. > * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. > * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. > * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. > * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. > * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. > * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. earthling-amzn has updated the pull request incrementally with two additional commits since the last revision: - Log number of regions promoted - Use old generation task queue when bootstrapping (fix last bit of merge fallout) ------------- Changes: - all: https://git.openjdk.java.net/shenandoah/pull/19/files - new: https://git.openjdk.java.net/shenandoah/pull/19/files/6dbf42fd..79404a5d Webrevs: - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=12 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=11-12 Stats: 12 lines in 2 files changed: 5 ins; 5 del; 2 mod Patch: https://git.openjdk.java.net/shenandoah/pull/19.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/19/head:pull/19 PR: https://git.openjdk.java.net/shenandoah/pull/19 From github.com+71722661+earthling-amzn at openjdk.java.net Sat Feb 27 01:42:18 2021 From: github.com+71722661+earthling-amzn at openjdk.java.net (earthling-amzn) Date: Sat, 27 Feb 2021 01:42:18 GMT Subject: RFR: Allow young collection to suspend marking in old generation [v14] In-Reply-To: References: Message-ID: <7CiRCYgYXysI9lWIUUayxOqdXZAZ7alOWWtNXMMDDjQ=.6020f939-907e-4790-9c2b-93230c41dcb8@github.com> > **This is a work in progress.** > > ## Summary of changes > The goal of these changes is to allow young cycles to suspend marking in the old generation. When the young cycle is complete, the concurrent old marking will resume. > * Evaluation of heuristics was pulled into a new `ShenandoahRegulatorThread`. Taking this evaluation out of line from the control thread allows the regulator to suspend (using the cancellation mechanism) old generation marking and start a young generation cycle. > * Task queues for marking have been moved from `ShenandoahMarkingContext` into `ShenandoahGeneration`. This allows the marking state for the old generation to persist across young generation cycles. The associated `is_complete` state has also been moved to `ShenandoahGeneration`. > * Old generation marking is bootstrapped by a complete young generation cycle. In this scenario, the mark closures for a young cycle are given reference to the young generation mark queues _and_ the old generation mark queues. Rather than ignore old references as is done for a normal young cycle, they are enqueued in the old generation mark queues. When the young cycle completes, the old generation marking continues using the task queues primed by the preceding young cycle. > * There is a new flag: `ShenandoahAllowOldMarkingPreemption` (defaults to true). Disabling this option will cause the regulator to schedule `young` or `global` collects (according to heuristics), but will _not_ schedule `old` collects. > * The `global` generation is used to support satb and incremental-update modes. The `global` generation is also used for degenerated and implicit/explicit gc requests. Degenerated cycles are not working on this branch and the root cause is understood. > * The `global` generation is also used for `FullGC`, but this is also broken. The `FullGC` doesn't update the remembered set during compaction. We reckon there is a non-trivial amount of work to fix this. > * The `MARKING` gc state has been split into `YOUNG_MARKING` and `OLD_MARKING`. > * Immediate garbage collection is broken in generational mode. The update references phase is used to repair the remembered set, so when this phase is skipped the remembered set scan runs into trouble. A fix for this is in progress. > * The remembered set is scanned on a safepoint during initial mark. Work to make this concurrent is in progress. earthling-amzn has updated the pull request incrementally with three additional commits since the last revision: - Encode active generation and old generation marking status - Do not unset preemption request flag prematurely - Disable reference processing generational mode ------------- Changes: - all: https://git.openjdk.java.net/shenandoah/pull/19/files - new: https://git.openjdk.java.net/shenandoah/pull/19/files/79404a5d..8db6bb11 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=13 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=19&range=12-13 Stats: 16 lines in 3 files changed: 6 ins; 1 del; 9 mod Patch: https://git.openjdk.java.net/shenandoah/pull/19.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/19/head:pull/19 PR: https://git.openjdk.java.net/shenandoah/pull/19