On Tue, 25 Apr 2023 15:59:05 GMT, Thomas Schatzl <[email protected]> wrote:
>> Hi all,
>>
>> please review this change that removes the pinned tag from `HeapRegion`.
>>
>> So that "pinned" tag for G1 heap regions indicates that the region should
>> not move during (young) gc. This applies to now removed archive regions and
>> humongous objects/regions.
>>
>> With "real" g1 region pinning to deal with gclocker in g1 once and for all
>> upcoming we need a refcount, a single bit is not sufficient anymore. Further
>> there will be a naming conflict as this kind of "pinning" is different to g1
>> region pinning "pinning". The former indicates "contents can not be moved,
>> but can be reclaimed", while the latter means "contents can not be moved and
>> not reclaimed".
>>
>> The (current) pinned flag is surprisingly little used, only for policy
>> decisions.
>>
>> The suggestion this change implements is to remove the "pinned" tag as it
>> is, and reserve it for future g1 region pinning (that needs to store the
>> pinning attribute differently as a refcount anyway).
>>
>> Testing: tier1-3, gha
>>
>> Thanks,
>> Thomas
>
> Thomas Schatzl has updated the pull request incrementally with one additional
> commit since the last revision:
>
> ayang review
A few files need copyright updates
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HSDB.java line 1109:
> 1107: } else if (region.isPinned()) {
> 1108: anno = "Pinned ";
> 1109: bad = false;
Does this mean that the region will now always be one of Free, Young,
Humongous, or Old?
-------------
PR Review: https://git.openjdk.org/jdk/pull/13643#pullrequestreview-1400494547
PR Review Comment: https://git.openjdk.org/jdk/pull/13643#discussion_r1176886830