RFR: 8297718: Make NMT free:ing protocol more granular [v2]
Johan Sjölen
jsjolen at openjdk.org
Thu Dec 1 14:11:15 UTC 2022
On Thu, 1 Dec 2022 13:59:25 GMT, Johan Sjölen <jsjolen at openjdk.org> wrote:
>> This PR avoids the double registration of a failed `os::realloc` in NMT by doing the NMT free protocol steps inline (asserting block integrity, marking of MallocHeader, and registrering results to statistics). This is done by creating a new struct `FreePackage` which includes all of the necessary data for registrering results.
>>
>> I also did some light refactoring which I think makes the protocol clearer, these are done piece wise as separate commits for the reviewers' convenience.
>
> Johan Sjölen has updated the pull request incrementally with 10 additional commits since the last revision:
>
> - Add test that asserts block integrity after revival
> - Make MallocHeader NONCOPYABLE
> - Rest of it
> - Adjust comments
> - Put back comment, suitably rewritten
> - Note reversibility of mark_block_as_dead
> - Rename record_free_block to record_free
> - Rename record_free to deaccount
> - Move FreePackage into MallocHeader and rename
> - Rename as revive, delete copy ctr
Thank you for the input! I've gone through each comment and fixed the code according to them. I'm far happier with the naming of some of these things now :-).
-------------
PR: https://git.openjdk.org/jdk/pull/11390
More information about the hotspot-runtime-dev
mailing list