--- old/src/share/vm/runtime/os.hpp 2014-12-17 15:01:51.575113387 +0100 +++ new/src/share/vm/runtime/os.hpp 2014-12-17 15:01:51.505111371 +0100 @@ -311,6 +311,12 @@ static bool uncommit_memory(char* addr, size_t bytes); static bool release_memory(char* addr, size_t bytes); + // Touch memory pages from start to end to make the OS back the memory range + // with actual memory. + // Assumes that start and end are suitably aligned, otherwise it may fail to + // touch the page containing end. + static void pretouch_memory(char* start, char* end); + enum ProtType { MEM_PROT_NONE, MEM_PROT_READ, MEM_PROT_RW, MEM_PROT_RWX }; static bool protect_memory(char* addr, size_t bytes, ProtType prot, bool is_committed = true);