RFR (S/M): 8184348: Merge G1ConcurrentMark::par_mark() and G1ConcurrentMark::grayRoot()

Aleksey Shipilev shade at redhat.com
Mon Jul 17 08:29:32 UTC 2017


On 07/17/2017 10:25 AM, Thomas Schatzl wrote:
>>> New webrevs:
>>> http://cr.openjdk.java.net/~tschatzl/8184348/webrev.1_to_2 (diff)
>>> http://cr.openjdk.java.net/~tschatzl/8184348/webrev.2 (full)
>> Looks good.
>>
>> I wonder what this was about in the old code:
>>
>>  187   if (_g1h->is_in_g1_reserved(objAddr)) {
>>
>> New code properly asserts the object is in reserved. Did we ever had
>> oops stored
>> outside of reserved? That would be surprising!
> 
>   the reference can be NULL here. The is_in_g1_reserved() check also
> filters those, in a bit of a crude way. So I changed this to an
> explicit NULL check, and let it run into the assert (in
> ConcurrentMark::mark_in_next_bitmap()) in other cases.

That explains it, thanks. Go!

-Aleksey


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20170717/898fff75/signature.asc>


More information about the hotspot-gc-dev mailing list