RFR 8221435: Shenandoah should not mark through weak roots
zgu at redhat.com
Tue Mar 26 19:54:19 UTC 2019
On 3/26/19 3:42 PM, Aleksey Shipilev wrote:
> On 3/26/19 8:31 PM, Roman Kennke wrote:
>>> Roman, do you recall the reason why it was done this way?
>>> ShenandoahWeakAssertNotForwardedClosure is debug only closure, surround the body with ifdef.
>> Well, as you say, it's debug-only, so shouldn't matter performance-wise. Except, as you say, it
>> should be #ifdef ASSERT. It wasn't #ifdef'd before? WTF?
> The comment says why. You need to go over them, even with no-op closure. Not sure if it is still
> relevant today:
> 711 // Weak processor API requires us to visit the oops, even if we are not doing
> 712 // anything to them.
Yes, it is still relevant: it only needs is_alive closure to NULL dead
More information about the hotspot-gc-dev