RFR: Fix parallel object-monitor scanning

Roman Kennke rkennke at redhat.com
Thu Nov 24 15:43:43 UTC 2016


Am Donnerstag, den 24.11.2016, 15:05 +0100 schrieb Aleksey Shipilev:
> On 11/24/2016 02:57 PM, Roman Kennke wrote:
> > I observed an assert being thrown in the parallel object-monitor
> > scanner, and it happens because we don't always scan the object-
> > monitor 
> > roots. The ShenandoahRootProcessor for initial-evacuation will not
> > use
> > it, and therefore not find any CLAIMED blocks.
> > http://cr.openjdk.java.net/~rkennke/fixparsync/webrev.00/
> 
> Looks okay as the stop-gap measure.
> 
> Although the lifecycle for ParallelObjectSynchronizerIterator is odd,
> and we should not probably do the recovery in destructor, to start
> with:
> only do the after-iteration fixups when the actual iteration
> happened?
> Let's leave that part to Zhenguy :)

You are right. And since I was the one who removed synchronizer-
evacuation, I also have a fix:

http://cr.openjdk.java.net/~rkennke/fixparsync/webrev.01/

It creates a new scoped type just for evacuating the roots.

Ok?

Roman

> 
> 


More information about the shenandoah-dev mailing list