RFR: JDK-8219245: Shenandoah: Resolve oops in SATB filter

Roman Kennke rkennke at redhat.com
Mon Feb 18 17:23:32 UTC 2019


>> When updating reference is piggy-backed on marking phase, we need to
>> resolve oops that we get in SATB buffers before checking if they are
>> marked, because from-space oops never get marked. This generates
>> unnecessary traffic in SATB.
>>
>> Fix is to add template to requires_marking() that optionally resolves
>> the object, and use that when we may see forwarded objects.
>>
>> Bug:
>> https://bugs.openjdk.java.net/browse/JDK-8219245
>> Webrev:
>> http://cr.openjdk.java.net/~rkennke/JDK-8219245/webrev.00/
> 
> Um. I think true/false are swapped here:
> 
>   68   if (_heap->has_forwarded_objects()) {
>   69     apply_filter(ShenandoahSATBMarkQueueFilterFn<false>(_heap), queue);
>   70   } else {
>   71     apply_filter(ShenandoahSATBMarkQueueFilterFn<true>(_heap), queue);
>   72   }
> 
> ...if there are forwarded objects, you want to resolve.

NOOOOOOOOoooooooooooo........... I just made one of the most embarrasing
bugs an order of magnitude more embarrassing. Nobody has seen this, ok?

http://cr.openjdk.java.net/~rkennke/JDK-8219245/webrev.01/

Ok now?

Roman

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


More information about the hotspot-gc-dev mailing list