RFR: 8333750: GenShen: Only instantiate young/old generations in generational mode [v3]

William Kemper wkemper at openjdk.org
Tue Jun 11 18:58:28 UTC 2024


On Tue, 11 Jun 2024 02:07:00 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:

>> William Kemper has updated the pull request incrementally with three additional commits since the last revision:
>> 
>>  - Make age and youth const
>>  - Do not age regions after completing old mark
>>  - Detect cancellation of old GC after final mark.
>
> src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp line 2369:
> 
>> 2367: 
>> 2368: void ShenandoahSynchronizePinnedRegionStates::heap_region_do(ShenandoahHeapRegion* r) {
>> 2369:   // Drop unnecessary "pinned" state from regions that does not have CP marks
> 
> May be "critical pins" instead of the more abstruse "CP marks"?
> 
> also "does" -> "do".

I've simplified this comment.

> src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp line 505:
> 
>> 503:     return _old_generation;
>> 504:   }
>> 505: 
> 
> I presume that the presence of these methods here indicates that the "isolation factoring" still isn't complete, but I realize that's a tough bar to get to (and as you stated may be we are at a point of "diminishing benefits").

Yes, there are some usages internal to `ShenandoahHeap` that would be difficult to factor out without making certain "hot" methods `virtual` (on the allocation path, rebuilding free set, e.g.). I'm reluctant to do this for performance reasons, but perhaps it's worth the experiment?

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

PR Review Comment: https://git.openjdk.org/shenandoah/pull/444#discussion_r1635343709
PR Review Comment: https://git.openjdk.org/shenandoah/pull/444#discussion_r1635343244


More information about the shenandoah-dev mailing list