RFR: Backport JDK-8221435 and JDK-8221629

Roman Kennke rkennke at redhat.com
Thu May 16 09:08:25 UTC 2019


>> Webrev:
>> http://cr.openjdk.java.net/~rkennke/backport-jdk11-2019-05-15/webrev.00/
> 
> Looks okay. Feels like a risky backport, are we good on testing?
> 
> Metadata does not follow our "[backport] ..." format:
>   8221435: Shenandoah should not mark through weak roots
>   8221629: Shenandoah: Cleanup class unloading logic
> 
> Also here:
> 
>  460   // And finally finish class unloading
>  461   if (_heap->unload_classes()) {
>  462     _heap->unload_classes_and_cleanup_tables(full_gc);
>  463   } else if (ShenandoahStringDedup::is_enabled()) {
>  464     ShenandoahIsAliveSelector alive;
>  465     BoolObjectClosure* is_alive = alive.is_alive_closure();
>  466     ShenandoahStringDedup::unlink_or_oops_do(is_alive, NULL, false);
>  467   }
> 
> Are we sure class unloading and strdedup are exclusive here?

Hmm actually I can see why that is the case for sh/jdk: there, the
strdedup stuff is unlinked by parallelCleaning, which is called by
_heap->unload_classes_and_cleanup_tables(full_gc), however, that doesn't
seem to be the case for jdk11. I'll look at it again...

Roman



More information about the shenandoah-dev mailing list