RFR: 8079082: VerifyNoCSetOopsClosure is derived twice from Closure

Kim Barrett kim.barrett at oracle.com
Mon Jul 27 18:14:50 UTC 2015


On Jul 27, 2015, at 8:25 AM, Mikael Gerdin <mikael.gerdin at oracle.com> wrote:
> 
>> - Replaced GenericTaskQueue::oops_do with iterate function template.
>> This class really has no business having a hard-wired iterator over
>> oop elements.
> 
> It appears that you've adapted the assertion is_oop_or_null to an is_oop check in the function object.
> I believe that the assertion that all oops on the global CM stack should pass the is_oop check but I guess we will find out if that's untrue :)

Sorry, I should have mentioned this in the review description.

Yes, that change was made.  We (intentionally) never add NULLs to the mark stack / queues - see deal_with_reference.  They need to be filtered out at one end or the other; pre-filtering makes more sense, to eliminate unnecessary mark stack usage.

>> CR:
>> https://bugs.openjdk.java.net/browse/JDK-8079082
>> 
>> Webrev:
>> http://cr.openjdk.java.net/~kbarrett/8079082/webrev.00/
> 
> Looks good to me.
> /Mikael

Thanks for your review.



More information about the hotspot-gc-dev mailing list