RFR: 8335091: NMT: VMATree reserve_mapping and commit_mapping APIs need MEMFLAGS while un/-committing API has no MEMFLAGS arg [v4]

Afshin Zafari azafari at openjdk.org
Tue Jul 30 12:31:32 UTC 2024


On Tue, 30 Jul 2024 12:25:04 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:
> 
>   invalid cases of register_mapping are handled.

To avoid confusion and have a reference in further discussions, I made a table that enumerates the possible cases and used for handling the invalid cases.
In SimpleTracer test, the reserve/commit/release operations can happen at any order. When the order is not valid, a warning is shown and the test continues. In a non-tests codes, we want these cases taken as fatal. More discussions needed.

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

PR Comment: https://git.openjdk.org/jdk/pull/20330#issuecomment-2258234360


More information about the hotspot-runtime-dev mailing list