RFR: Scan remembered [v2]
Kelvin Nilsen
kdnilsen at openjdk.java.net
Fri Jan 15 01:18:21 UTC 2021
On Mon, 11 Jan 2021 10:10:54 GMT, Roman Kennke <rkennke at openjdk.org> wrote:
>> Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Improvements requested during initial review
>>
>> These changes are cosmetic and/or related to comments.
>
> src/hotspot/share/gc/shenandoah/shenandoahBufferWithSATBRememberedSet.hpp line 61:
>
>> 59: // existing SATB pre-write barrier to maintain remembered set information rather than using unconditional direct card marking in
>> 60: // a post-write barrier.
>> 61: class ShenandoahBufferWithSATBRememberedSet: public CHeapObj<mtGC> {
>
> So, if I understand correctly, you intend to piggy-back the field-address onto the SATB queue, is that right? It would mean that we need to double the size of the items in the buffer. And it would also mean that SATB needs to be turned on all the time, not just during marking. Is that correct? If that is so, I wonder if it may be better to do like G1 does and use a separate queue and barrier for this? It looks to me that it is doing exactly what we need here.
As discussed in email messages exchanged on shenandoah-dev at openjdk.java.net, there are potential synergies between the SATB-based remembered set implementation and the existing SATB pre-write barrier. Especially if the default Shenandoah configuration chooses not to use SATB barrier, that increases the appeal of borrowing the G1 barrier implementation.
-------------
PR: https://git.openjdk.java.net/shenandoah/pull/12
More information about the shenandoah-dev
mailing list