RFR: 8335091: NMT: VMATree reserve_mapping and commit_mapping APIs need MEMFLAGS while un/-committing API has no MEMFLAGS arg [v8]
Johan Sjölen
jsjolen at openjdk.org
Wed Sep 25 06:58:42 UTC 2024
On Sat, 21 Sep 2024 18:22:49 GMT, Afshin Zafari <azafari at openjdk.org> wrote:
>> In committing a region, it is not mandatory to provide a MEMFLAGS flag where the committed region inherits the flag from the main region it resides in.
>> In un-committing there is no need to a MEMFLAGS at all.
>> The `register_mapping` API of the VMATree *requires* a MEMFLAGS (via metadata arg) in both of these two operations. To do the flag inheriting, it is possible to copy the flag of the left node in the tree to the newly inserted ones.
>>
>> An optional bool arg (default is false) is added to VMATree API to copy the existing flag of the left node to the new nodes.
>
> Afshin Zafari has updated the pull request incrementally with one additional commit since the last revision:
>
> logging/log.hpp is included
src/hotspot/share/nmt/vmatree.hpp line 187:
> 185:
> 186: SummaryDiff uncommit_mapping(position from, position sz, const RegionData& metadata) {
> 187: return register_mapping(from, from + sz, StateType::Committed, metadata, true);
As Gerard said: This should be `StateType::Reserved`, clearly this isn't caught by our tests so we do need a test that catches this.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20330#discussion_r1774608229
More information about the hotspot-runtime-dev
mailing list