RFR: 8253332: ZGC: Make heap views reservation platform independent
Aleksey Shipilev
shade at openjdk.java.net
Fri Sep 18 08:22:57 UTC 2020
On Fri, 18 Sep 2020 07:51:28 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:
> ZVirtualMemoryManager::reserve_contiguous_platform tries to reserve three views of a given address range. The posix and
> windows versions are more or less duplicates, with calls to platform dependent versions of reserve/unreserve functions.
> I'd like to clean this up in preparation of an alternative implementation for heap memory allocation on Windows.
>
> I choose to prefix the OS dependent functions with os_. For consistency, initialize_os should have been renamed as
> well, but the plan is to change that in a separate patch that splits that function into two, so I skipped it for now.
Drive-by review below.
src/hotspot/os/posix/gc/z/zVirtualMemory_posix.cpp line 45:
> 43: if (res != addr) {
> 44: // Failed to reserve memory at the requested address
> 45: os_unreserve(res, size);
A bit odd to see the assymetry here: `mmap` is used above, so `munmap` would be expected here? I see `os_unreserve`
does the same thing, but does it guaranteed to do so?
src/hotspot/share/gc/z/zVirtualMemory.cpp line 126:
> 124:
> 125: // Register address views with native memory tracker
> 126: nmt_reserve(ZAddress::marked0(start), size);
The first arguments are the same as locals `marked0`, `marked1`, `remapped` above, right? Can be reused then?
-------------
PR: https://git.openjdk.java.net/jdk/pull/236
More information about the hotspot-gc-dev
mailing list