RFR: Claim ballot before single-threaded sync roots processing
Roman Kennke
rkennke at redhat.com
Mon Nov 13 20:17:22 UTC 2017
This is the cause for the is_marked_complete() assert that we've
observed coming out of mark-compact a couple of times:
in ShenandoahRootProcessor, we don't claim the ballot before doing
single-threaded sync root processing. Multiple threads are going into
global sync roots scanning, the first one correctly updates the
references, all others will write trash to it. This only happens when
threads exit (the global list is only used for moribund threads).
http://cr.openjdk.java.net/~rkennke/fixsyncroots/webrev.00/
<http://cr.openjdk.java.net/%7Erkennke/fixsyncroots/webrev.00/>
Ok?
Roman
More information about the shenandoah-dev
mailing list