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