768 |
768 |
769 // clear the shared memory region |
769 // clear the shared memory region |
770 (void)::memset((void*) mapAddress, 0, size); |
770 (void)::memset((void*) mapAddress, 0, size); |
771 |
771 |
772 // it does not go through os api, the operation has to record from here |
772 // it does not go through os api, the operation has to record from here |
773 MemTracker::record_virtual_memory_reserve((address)mapAddress, size, mtInternal, CURRENT_PC); |
773 MemTracker::record_virtual_memory_reserve_and_commit((address)mapAddress, |
|
774 size, CURRENT_PC, mtInternal); |
774 |
775 |
775 return mapAddress; |
776 return mapAddress; |
776 } |
777 } |
777 |
778 |
778 // release a named shared memory region |
779 // release a named shared memory region |
939 THROW_MSG(vmSymbols::java_lang_OutOfMemoryError(), |
940 THROW_MSG(vmSymbols::java_lang_OutOfMemoryError(), |
940 "Could not map PerfMemory"); |
941 "Could not map PerfMemory"); |
941 } |
942 } |
942 |
943 |
943 // it does not go through os api, the operation has to record from here |
944 // it does not go through os api, the operation has to record from here |
944 MemTracker::record_virtual_memory_reserve((address)mapAddress, size, mtInternal, CURRENT_PC); |
945 MemTracker::record_virtual_memory_reserve_and_commit((address)mapAddress, |
|
946 size, CURRENT_PC, mtInternal); |
945 |
947 |
946 *addr = mapAddress; |
948 *addr = mapAddress; |
947 *sizep = size; |
949 *sizep = size; |
948 |
950 |
949 if (PerfTraceMemOps) { |
951 if (PerfTraceMemOps) { |