RFR: Empty task queues when cancelled partial GC

Roman Kennke rkennke at redhat.com
Mon Mar 20 17:15:51 UTC 2017


Am 20.03.2017 um 17:31 schrieb Aleksey Shipilev:
> On 03/20/2017 05:27 PM, Roman Kennke wrote:
>> When partial GC gets cancelled, we need to empty the task queues.
> Right! We also need to visit the terminator on that path...
I leave that to another patch. ;-)
>> I also added a small check to verify this, even for release build
>> (shuold we make this debug-only?)
> Yes, wrap it up in ASSERT, and s/guarantee/assert/g

I found out that set_empty() is not enough. We also need to clear the
buffer and the overflow queue. However, TQS->clear() does that for us. I
changed the patch to call clear() after all workers are done, and also
put an assert before and after partial GC.

http://cr.openjdk.java.net/~rkennke/fixemptyq/webrev.01/
<http://cr.openjdk.java.net/%7Erkennke/fixemptyq/webrev.01/>

ok now?
Roman




More information about the shenandoah-dev mailing list