RFR 8221435: Shenandoah should not mark through weak roots

Aleksey Shipilev shade at redhat.com
Tue Mar 26 19:42:15 UTC 2019


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.

-Aleksey



More information about the shenandoah-dev mailing list