RFR: 8253600: G1: Fully support pinned regions for full gc [v3]

Thomas Schatzl tschatzl at openjdk.java.net
Thu Oct 29 20:06:48 UTC 2020


On Thu, 29 Oct 2020 10:23:25 GMT, Stefan Johansson <sjohanss at openjdk.org> wrote:

>> Thomas Schatzl has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits:
>> 
>>  - Merge branch 'master' into 8253600-full-gc-pinned-region-support
>>  - Merge branch 'master' into 8253600-full-gc-pinned-region-support
>>  - sjohanss review
>>    
>>    Also remove _archive_allocator_map et al as the new attribute table
>>    implements the same functionality also suggested by sjohanss in
>>    private.
>>  - Initial import
>>  - Initial import
>
> Nice change Thomas, mostly just small comments.

The new change (apart from the merge) should fix all the concerns @kstefanj mentioned.

In addition to that I looked into completely moving the G1ArchiveAllocator::_archive_region_map into the G1FullCollector::_region_attr_table as they serve the same purpose.

Other than in full gc, G1ArchiveAllocator::_archive_region_map is only used in non-perf critical code (object dumping, asserts), so the replacements should be more than fast enough.

The only drawback is that this adds a new method in CollectedHeap as a start for CDS archive support for other collectors which is thought of. More is needed, but that's the minimum to replace functionality previously provided by G1ArchiveAllocator::_archive_region_map at this time.

Its default implementation simply returns false if asked whether a given object on the heap is an archive object.

   virtual bool is_archived_object(oop object) const { return false; }

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

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


More information about the hotspot-dev mailing list