RFR (11): [backport] 8221766: Load-reference barriers for Shenandoah

Aleksey Shipilev shade at redhat.com
Fri May 31 18:25:18 UTC 2019


On 5/31/19 4:23 PM, Roman Kennke wrote:
> This is the backport of load-reference-barriers to sh/jdk11. It goes on
> top of the recently proposed (and not-yet-pushed) CAS streamlining.
> 
> It is a tremendous harmonization in the C1 and C2 barriers sets: I
> basically copied over the relevant files from jdk/jdk at the point of
> the Load-ref-barriers-change, and retrofitted it to match jdk11.
> 
> I have *not* yet backported the LRB-related-bugfixes, yet. Let's start
> review on this here, while I'll pile on the followup-bugfixes in the
> meantime.
> 
> I also went over the sh/jdk11 vs. upstream jdk11u diff and reverted any
> change that's not needed anymore (resolve() and equals() stuff for the
> most part). It is *much* nicer now. :-) Notably, it makes
> oopDesc::unsafe_equals() disappear, and we should do the equivalent in
> jdk/jdk to match it.

Yeah, and I have a bit of reservation about that, seeing the stuff that is changed. It is probably
fine to include in LRB backport, as it would be the jdk11u-specific (and later jdk8u-specific)
change later anyway.

> http://cr.openjdk.java.net/~rkennke/backport-jdk11-JDK-8221766/webrev.00/

First look:

*) src/hotspot/share/ci/ciObjectFactory.cpp
  I don't see sh/jdk11 change that needs to be reverted...

*) src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp
  This is needed why? I don't see it used in Shenandoah code anywhere. There is a definition in
src/hotspot/share/gc/shared/c1/barrierSetC1.cpp, though.

  34 #ifndef PATCHED_ADDR
  35 #define PATCHED_ADDR  (max_jint)
  36 #endif

*) src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp
 This breaks Solaris. (also, see other enums?)

  47     ShenandoahNone,
  48   };

*) src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp
 This thing looks like the accidental backport of pre-evac-ing all roots.

*) src/hotspot/share/opto/mulnode.cpp
 This does not seem related to LRB all that much. We'd need to see if matcher still matches
fastpaths right.


-- 
Thanks,
-Aleksey



More information about the shenandoah-dev mailing list