RFR: 8272609: Add string deduplication support to SerialGC [v10]

Albert Mingkun Yang ayang at openjdk.java.net
Sat Aug 21 16:43:24 UTC 2021


On Sat, 21 Aug 2021 14:36:23 GMT, Denghui Dong <ddong at openjdk.org> wrote:

>> src/hotspot/share/gc/serial/genMarkSweep.cpp line 115:
>> 
>>> 113:   deallocate_stacks();
>>> 114: 
>>> 115:   MarkSweep::_string_dedup_requests->flush();
>> 
>> Similarly, `flush` should be called inside `mark_sweep_phase1`, right after ref-processing.
>
> Thanks for your review and Kim's detailed explanation.
> 
> I think putting this invocation here or the position you suggest should have no effect on the result, so I tend not to make this modification.

I believe it's desirable to narrow the request window (btw first `add` and `flush`), which offers more prompt string-dedup and memory release (in `flush`). Additionally, it makes more sense to call `flush` right after the complete live objects traversal  (strong-marking + final-marking as part of ref-processing), since we will not visit any new objects then.

-------------

PR: https://git.openjdk.java.net/jdk/pull/5153



More information about the hotspot-gc-dev mailing list