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
More information about the shenandoah-dev
mailing list