RFR 8204947: Port ShenandoahTaskTerminator to mainline and make it default

zgu at redhat.com zgu at redhat.com
Wed Dec 5 17:40:28 UTC 2018


Hi Thomas,

Thanks for the updates.

On Wed, 2018-12-05 at 17:21 +0100, Thomas Schatzl wrote:
> Hi Zhengyu,
> 
> On Fri, 2018-11-30 at 10:00 -0500, Zhengyu Gu wrote:
> > Hi Thomas,
> > 
> > Thanks for testing and cleaning it up.
> 
>   I think that change is good.
> 
> What I was trying to do was getting rid of the assignment operator in
> TaskTerminator, because of its semantics. It's a "move", not an
> assignment.
> 
> So I created the change at
> 
> http://cr.openjdk.java.net/~tschatzl/8204947/webrev.1_to_2
> 
> which does that, and simply provides a reset_for_reuse() method which
> should do the same.
> 
> However, when trying this out I rarely get an assertion failure in
> taskqueue.cpp:234.

Looks like that G1 concurrent mark can abort the termination (e.g.
G1CMTask::do_marking_step), which leaves the terminator into this
state?

Thanks,

-Zhengyu

> 
> From what I understand, the effect of both variants should be the
> same,
> so I would like to investigate this further. So far it looks like a
> (pre-existing, benign?) G1 bug.
> 
> Thanks,
>   Thomas
> 
> 



More information about the hotspot-gc-dev mailing list