8241395: Factor out platform independent code for os::xxx_memory_special()

Reviewed-by: mbaesken, mdoerr, lucy
This commit is contained in:
Thomas Stuefe 2020-03-24 18:41:07 +01:00
parent b5897fe4ed
commit 40173c5042
7 changed files with 50 additions and 41 deletions

View file

@ -4145,8 +4145,8 @@ char* os::Linux::reserve_memory_special_huge_tlbfs(size_t bytes,
}
}
char* os::reserve_memory_special(size_t bytes, size_t alignment,
char* req_addr, bool exec) {
char* os::pd_reserve_memory_special(size_t bytes, size_t alignment,
char* req_addr, bool exec) {
assert(UseLargePages, "only for large pages");
char* addr;
@ -4161,9 +4161,6 @@ char* os::reserve_memory_special(size_t bytes, size_t alignment,
if (UseNUMAInterleaving) {
numa_make_global(addr, bytes);
}
// The memory is committed
MemTracker::record_virtual_memory_reserve_and_commit((address)addr, bytes, CALLER_PC);
}
return addr;
@ -4178,22 +4175,7 @@ bool os::Linux::release_memory_special_huge_tlbfs(char* base, size_t bytes) {
return pd_release_memory(base, bytes);
}
bool os::release_memory_special(char* base, size_t bytes) {
bool res;
if (MemTracker::tracking_level() > NMT_minimal) {
Tracker tkr(Tracker::release);
res = os::Linux::release_memory_special_impl(base, bytes);
if (res) {
tkr.record((address)base, bytes);
}
} else {
res = os::Linux::release_memory_special_impl(base, bytes);
}
return res;
}
bool os::Linux::release_memory_special_impl(char* base, size_t bytes) {
bool os::pd_release_memory_special(char* base, size_t bytes) {
assert(UseLargePages, "only for large pages");
bool res;