RFR(sh/jdk11): Refactor/isolate critical pinning

Zhengyu Gu zgu at redhat.com
Tue Jul 7 18:49:07 UTC 2020


Hi Roman,

sharedRuntime_x86_32.cpp/sharedRuntime_x86_64.cpp

1846   if (is_critical_native SHENANDOAHGC_ONLY(&& 
!Universe::heap()->supports_object_pinning())) {

why they are different  (32 vs. 64)?

This refactor is awkward, since Epsilon also support object pinning ...

-Zhengyu





On 7/6/20 3:51 PM, Roman Kennke wrote:
> I'm running an effort to bring our upstream exposure vs jdk11u to
> (near) zero.
> 
> Critical pinning support touches a few places in x86 assembly which are
> rather hairy, and should look much better when isolated such that
> builds without Shenandoah more obviously generate the same code as
> jdk11u upstream currently does.
> 
> It moves the new method definitions to Shenandoah-files. It trades
> cleaner sharde code at the expense of slightly increased mess in
> Shenandoah files (I copied some helper methods there, seems harmless to
> me). The new inline code parts are now guarded with #if
> INCLUDE_SHENANDOAHGC and if (UseShenandoahGC) so are obviously
> guaranteed to not leak out into non-Shenandoah code.
> 
> Webrev:
> http://cr.openjdk.
> java.net/~rkennke/shjdk11-refactor-isolate-critical-pinning/webrev.00/
> 
> Testing: hotspot_gc_shenandoah (x86_32, x86_64, builds with and without
> Shenandoah)
> 
> Ok?
> 
> Roman
> 



More information about the shenandoah-dev mailing list