RFR: Scan remembered [v2]
Kelvin Nilsen
github.com+51720475+kdnilsen at openjdk.java.net
Thu Jan 14 05:35:18 UTC 2021
On Thu, 14 Jan 2021 05:09:07 GMT, Kelvin Nilsen <github.com+51720475+kdnilsen at openjdk.org> wrote:
>> src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp line 323:
>>
>>> 321: // Increment age in young copies.
>>> 322: if (target_gen == YOUNG_GENERATION) {
>>> 323: copy_val->incr_age();
>>
>> I am not sure incr_age() work with concurrent version. e.g. if the object has displaced mark and two threads try to evacuate the object, both will increase age on displaced mark word.
>
> We did discover the need to deal with displaced mark words and a subsequent commit replaces the call to incr_age() with a call to a newly introduced incrase_object_age() function which includes special handling for displaced mark words.
I have also removed the code in ShenandoahStringDedup::enqueue_candidate() which increments the age of strings since we are now incrementing age during evacuation. This change will be reflected in the next commit that I push.
-------------
PR: https://git.openjdk.java.net/shenandoah/pull/12
More information about the shenandoah-dev
mailing list