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