< prev index next >

src/hotspot/os/linux/os_linux.cpp

Print this page

        

*** 3456,3466 **** struct bitmask* os::Linux::_numa_all_nodes_ptr; struct bitmask* os::Linux::_numa_nodes_ptr; struct bitmask* os::Linux::_numa_interleave_bitmask; struct bitmask* os::Linux::_numa_membind_bitmask; ! bool os::pd_uncommit_memory(char* addr, size_t size) { uintptr_t res = (uintptr_t) ::mmap(addr, size, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE|MAP_ANONYMOUS, -1, 0); return res != (uintptr_t) MAP_FAILED; } --- 3456,3466 ---- struct bitmask* os::Linux::_numa_all_nodes_ptr; struct bitmask* os::Linux::_numa_nodes_ptr; struct bitmask* os::Linux::_numa_interleave_bitmask; struct bitmask* os::Linux::_numa_membind_bitmask; ! bool os::pd_uncommit_memory(char* addr, size_t size, bool exec) { uintptr_t res = (uintptr_t) ::mmap(addr, size, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE|MAP_ANONYMOUS, -1, 0); return res != (uintptr_t) MAP_FAILED; }
*** 3641,3651 **** if (os::is_primordial_thread()) { return ::munmap(addr, size) == 0; } ! return os::uncommit_memory(addr, size); } // If 'fixed' is true, anon_mmap() will attempt to reserve anonymous memory // at 'requested_addr'. If there are existing memory mappings at the same // location, however, they will be overwritten. If 'fixed' is false, --- 3641,3651 ---- if (os::is_primordial_thread()) { return ::munmap(addr, size) == 0; } ! return os::uncommit_memory(addr, size, !ExecMem); } // If 'fixed' is true, anon_mmap() will attempt to reserve anonymous memory // at 'requested_addr'. If there are existing memory mappings at the same // location, however, they will be overwritten. If 'fixed' is false,
*** 3716,3726 **** static int anon_munmap(char * addr, size_t size) { return ::munmap(addr, size) == 0; } char* os::pd_reserve_memory(size_t bytes, char* requested_addr, ! size_t alignment_hint) { return anon_mmap(requested_addr, bytes, (requested_addr != NULL)); } bool os::pd_release_memory(char* addr, size_t size) { return anon_munmap(addr, size); --- 3716,3727 ---- static int anon_munmap(char * addr, size_t size) { return ::munmap(addr, size) == 0; } char* os::pd_reserve_memory(size_t bytes, char* requested_addr, ! size_t alignment_hint, ! bool executable) { return anon_mmap(requested_addr, bytes, (requested_addr != NULL)); } bool os::pd_release_memory(char* addr, size_t size) { return anon_munmap(addr, size);
< prev index next >