RFR: 8254315: Shenandoah: Concurrent weak reference processing [v12]
Aleksey Shipilev
shade at openjdk.java.net
Tue Oct 27 18:51:22 UTC 2020
On Tue, 27 Oct 2020 11:50:10 GMT, Roman Kennke <rkennke at openjdk.org> wrote:
>> src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.hpp line 55:
>>
>>> 53: int _disarmed_value;
>>> 54: double _paced_time;
>>> 55: ShenandoahMarkRefsSuperClosure* _mark_closure;
>>
>> This rubs me the wrong way. Closures are usually stack-allocated, so we are exposing the stack pointer here.
>
> Yeah we need to pass it between the mark-loop and the reference-processor. It's still thread-local.
While I am browsing the code here... why not record it in `ShenandoahRefProcThreadLocal` then? It has a benefit of not polluting the "common" `ShenandoahThreadLocalData`, and clearly says the whole thing is about Shenandoah reference processor.
-------------
PR: https://git.openjdk.java.net/jdk/pull/505
More information about the shenandoah-dev
mailing list