RFR: Reinstate single-threaded reference processing

Roman Kennke rkennke at redhat.com
Tue Oct 16 16:10:50 UTC 2018


> On 10/16/2018 04:44 PM, Roman Kennke wrote:
>> http://cr.openjdk.java.net/~rkennke/redo-1thread-refproc/webrev.00/
> 
> Okay.
> 
> Stylistic: can you keep the declaration for ShenandoahTraversalWeakUpdateClosure at the same place,
> so that patch/webrev is not confused about it? I think it recorded it as full move.

Right. But it was misplaced between two other KeepAliveFoo closures.

Also, I did change a thing there:
+#ifdef ASSERT
       ShenandoahWeakAssertNotForwardedClosure cl;
       WeakProcessor::weak_oops_do(is_alive.is_alive_closure(), &cl);
+#endif

to save some cycles.

Also, I made a mistake in Traversal GC and also need an extra
SingleThreadDrainMarkingStackClosure, otherwise run into evac-oom-failures:

Diff:
http://cr.openjdk.java.net/~rkennke/redo-1thread-refproc/webrev.01.diff/
Full:
http://cr.openjdk.java.net/~rkennke/redo-1thread-refproc/webrev.01/

Still passes tier3_gc_shenandoah

Roman



More information about the shenandoah-dev mailing list