RFR: JDK-8219245: Shenandoah: Resolve oops in SATB filter
Aleksey Shipilev
shade at redhat.com
Mon Feb 18 17:17:34 UTC 2019
On 2/18/19 6:13 PM, Roman Kennke wrote:
> 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.
-Aleksey
More information about the shenandoah-dev
mailing list