RFR: Generational support for weak roots and references [v2]

William Kemper wkemper at openjdk.java.net
Fri Aug 6 16:25:00 UTC 2021


On Fri, 6 Aug 2021 14:37:04 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

>> William Kemper has updated the pull request incrementally with four additional commits since the last revision:
>> 
>>  - Prepare for concurrent root processing in old generation final mark
>>  - Clear cards and object registrations when region is recycled
>>    
>>    This fixes an error when humongous regions are allocated and when ensures registrations are correct when regions are promoted.
>>  - Check that pointer is in heap before looking up affiliation
>>  - Guard assert from cross-generation handle
>
> src/hotspot/share/gc/shenandoah/mode/shenandoahGenerationalMode.hpp line 29:
> 
>> 27: 
>> 28: #include "gc/shenandoah/mode/shenandoahMode.hpp"
>> 29: #include "oops/oop.hpp"
> 
> I believe the proper way to get 'oop' into scope is to include oopsHierarchy.hpp

Sure, will make this change.

> src/hotspot/share/gc/shenandoah/shenandoahOldGC.cpp line 139:
> 
>> 137: 
>> 138:   // Concurrent stack processing
>> 139:   if (heap->is_evacuation_in_progress()) {
> 
> Where has this gone?

This was unreachable code (see assert just above on line 136). The old generation defers all evacuation to _mixed_ collections.

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

PR: https://git.openjdk.java.net/shenandoah/pull/53


More information about the shenandoah-dev mailing list