RFR: 8242847: G1 should not clear mark bitmaps with no marks [v2]

Ivan Walulya iwalulya at openjdk.java.net
Tue Aug 24 09:45:48 UTC 2021


On Mon, 23 Aug 2021 12:47:40 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

>> src/hotspot/share/gc/g1/g1ConcurrentMark.cpp line 614:
>> 
>>> 612:       return r->next_top_at_mark_start();
>>> 613:     }
>>> 614:     return r->end();
>> 
>> If not in the `UndoMark` operation (and doing the work concurrently), we could use the `prev_top_at_mark_start()` here, couldn't we?
>
> Out of curiosity, did you measure what gain (in saved bitmap distance) does using the TAMSes give here? Asking because most TAMSes should be either at the end (=almost the same as top) or bottom of the region, only the current old gen allocation region at the time of the concurrent mark start pause may have a different one (I think).
> 
> Maybe that additional suggested (by me) optimization is not worth the effort...

You are right, only in a few cases is TAMS below end, and even then, it is way smaller than chunk_size_in_words.

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

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



More information about the hotspot-gc-dev mailing list