RFR: Preempt old preparation [v2]
Kelvin Nilsen
kdnilsen at openjdk.java.net
Tue Oct 12 23:21:40 UTC 2021
On Tue, 12 Oct 2021 21:40:06 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Respond to reviewer feedback
>
> src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp line 177:
>
>> 175: // Any OLD region allocated during concurrent coalesce-and-fill does not need to be coalesced and filled.
>> 176: // This code is only necessary if req.affiliation() is old, but harmless if not.
>> 177: r->finish_coalesce_and_fill();
>
> Not sure I understand why that's the case. This region could still contain garbage objects that could break the remembered set scan. How does allocating out of the region make these objects parseable?
I've augmented this comment in an attempt to make the rationale more clear.
> src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp line 467:
>
>> 465: obj_addr = next_marked_obj;
>> 466: }
>> 467: if (!ops_before_preempt_check--) {
>
> I think the `C++` way is to compare against 0, not coerce to bool.
Thanks. I've changed the condition.
-------------
PR: https://git.openjdk.java.net/shenandoah/pull/88
More information about the shenandoah-dev
mailing list