RFR: Fixed two string dedup issues

Aleksey Shipilev shade at redhat.com
Tue Oct 10 17:43:42 UTC 2017


On 10/10/2017 07:35 PM, Zhengyu Gu wrote:
> safepoint test does not tell us if we are evacuating objects in parallel phase or concurrent phase,
> where we have to deal with differently. For shenandoah specific safepoints, we know dedup thread is
> suspended, can safely queue strings.

Ah! So here is the most important bit which deserves to be in the comment!

   // SafepointSynchronize::is_at_safepoint() is not sufficient, because generic safepoints
   // that might happen during concurrent evacuation are not suspending the deduplication thread,
   // and pushes to the dedup queue are unsafe.

-Aleksey



More information about the shenandoah-dev mailing list