RFR: Upstream merge 2018-06-30
Aleksey Shipilev
shade at redhat.com
Sun Jul 1 18:02:38 UTC 2018
On 06/30/2018 01:25 AM, Roman Kennke wrote:
> Ok, it's done. Now it's merged up to the last changeset that is common
> between jdk/jdk and jdk/jdk11, which is this one:
>
> changeset: 51321:95aad0c785e4
> user: gadams
> date: Thu Jun 28 10:31:39 2018 -0400
> summary: 8205508:
> hotspot/jtreg/vmTestbase/nsk/jdb/exclude/exclude001/exclude001.java
> fails with Prompt is not received during 300200 milliseconds.
>
> From there we can fork shenandoah/jdk11 and update that one from
> jdk/jdk11, and pull the remaining stuff from jdk/jdk into shenandoah/jdk.
>
> Full list of changesets:
> http://cr.openjdk.java.net/~rkennke/upstream-merge-2018-06-30/outgoing.txt
>
> The diff of Shenandoah changes (now including x86 and aarch64 too):
> http://cr.openjdk.java.net/~rkennke/upstream-merge-2018-06-30/shenandoah-changes.patch
Looks good.
Minor nits:
*) Awkward indents in closures, e.g.:
+ inline void do_oop_work(T* p) { work<T, true>(p); }
+ virtual void do_oop(narrowOop* p) { do_oop_work(p); }
+ virtual void do_oop(oop* p) { do_oop_work(p); }
...and:
class ShenandoahMarkRefsMetadataDedupClosure : public ShenandoahMarkRefsSuperClosure {
+private:
+ template <class T>
+ inline void do_oop_work(T* p) { work<T, NONE, true /* string dedup */>(p); }
...
+ virtual void do_oop(narrowOop* p) { do_oop_work(p); }
+ virtual void do_oop(oop* p) { do_oop_work(p); }
...and:
class ShenandoahTraversalMetadataClosure : public ShenandoahTraversalSuperClosure {
+private:
+ template <class T>
+ inline void do_oop_work(T* p) { work<T, false, false, false>(p); }
...
+ virtual void do_oop(narrowOop* p) { do_oop_work(p); }
+ virtual void do_oop(oop* p) { do_oop_work(p); }
*) Why the rename ShenandoahVerifyOopClosure::verify -> verify_work? It garbled all the indents in
shenandoahVerifier.cpp. Also, "verify_work" is too verbose for a frequently-used method. Does it
clash with some other "verify"? Suggestion: "check". (aside: these renames masked by merges deviate
the sh/jdk* codebases from each other -- with forethought, it is better to do the rename separately
for backports)
-Aleksey
More information about the shenandoah-dev
mailing list