equal
deleted
inserted
replaced
3418 return NULL; |
3418 return NULL; |
3419 } |
3419 } |
3420 if ((retAddr != NULL) && UseNUMAInterleaving) { |
3420 if ((retAddr != NULL) && UseNUMAInterleaving) { |
3421 numa_make_global(retAddr, size); |
3421 numa_make_global(retAddr, size); |
3422 } |
3422 } |
|
3423 |
|
3424 // The memory is committed |
|
3425 address pc = CALLER_PC; |
|
3426 MemTracker::record_virtual_memory_reserve((address)retAddr, size, pc); |
|
3427 MemTracker::record_virtual_memory_commit((address)retAddr, size, pc); |
|
3428 |
3423 return retAddr; |
3429 return retAddr; |
3424 } |
3430 } |
3425 |
3431 |
3426 bool os::release_memory_special(char* base, size_t bytes) { |
3432 bool os::release_memory_special(char* base, size_t bytes) { |
3427 // detaching the SHM segment will also delete it, see reserve_memory_special() |
3433 // detaching the SHM segment will also delete it, see reserve_memory_special() |
3428 int rslt = shmdt(base); |
3434 int rslt = shmdt(base); |
3429 return rslt == 0; |
3435 if (rslt == 0) { |
|
3436 MemTracker::record_virtual_memory_uncommit((address)base, bytes); |
|
3437 MemTracker::record_virtual_memory_release((address)base, bytes); |
|
3438 return true; |
|
3439 } else { |
|
3440 return false; |
|
3441 } |
3430 } |
3442 } |
3431 |
3443 |
3432 size_t os::large_page_size() { |
3444 size_t os::large_page_size() { |
3433 return _large_page_size; |
3445 return _large_page_size; |
3434 } |
3446 } |