< prev index next >

src/share/vm/runtime/os.hpp

Print this page




 294   static void trace_page_sizes(const char* str,
 295                                const size_t region_min_size,
 296                                const size_t region_max_size,
 297                                const size_t page_size,
 298                                const char* base,
 299                                const size_t size);
 300   static void trace_page_sizes_for_requested_size(const char* str,
 301                                                   const size_t requested_size,
 302                                                   const size_t page_size,
 303                                                   const size_t alignment,
 304                                                   const char* base,
 305                                                   const size_t size);
 306 
 307   static int    vm_allocation_granularity();
 308   static char*  reserve_memory(size_t bytes, char* addr = 0,
 309                                size_t alignment_hint = 0);
 310   static char*  reserve_memory(size_t bytes, char* addr,
 311                                size_t alignment_hint, MEMFLAGS flags);
 312   static char*  reserve_memory_aligned(size_t size, size_t alignment);
 313   static char*  attempt_reserve_memory_at(size_t bytes, char* addr);




 314   static void   split_reserved_memory(char *base, size_t size,
 315                                       size_t split, bool realloc);
 316   static bool   commit_memory(char* addr, size_t bytes, bool executable);
 317   static bool   commit_memory(char* addr, size_t size, size_t alignment_hint,
 318                               bool executable);
 319   // Same as commit_memory() that either succeeds or calls
 320   // vm_exit_out_of_memory() with the specified mesg.
 321   static void   commit_memory_or_exit(char* addr, size_t bytes,
 322                                       bool executable, const char* mesg);
 323   static void   commit_memory_or_exit(char* addr, size_t size,
 324                                       size_t alignment_hint,
 325                                       bool executable, const char* mesg);
 326   static bool   uncommit_memory(char* addr, size_t bytes);
 327   static bool   release_memory(char* addr, size_t bytes);
 328 
 329   // Touch memory pages that cover the memory range from start to end (exclusive)
 330   // to make the OS back the memory range with actual memory.
 331   // Current implementation may not touch the last page if unaligned addresses
 332   // are passed.
 333   static void   pretouch_memory(void* start, void* end);




 294   static void trace_page_sizes(const char* str,
 295                                const size_t region_min_size,
 296                                const size_t region_max_size,
 297                                const size_t page_size,
 298                                const char* base,
 299                                const size_t size);
 300   static void trace_page_sizes_for_requested_size(const char* str,
 301                                                   const size_t requested_size,
 302                                                   const size_t page_size,
 303                                                   const size_t alignment,
 304                                                   const char* base,
 305                                                   const size_t size);
 306 
 307   static int    vm_allocation_granularity();
 308   static char*  reserve_memory(size_t bytes, char* addr = 0,
 309                                size_t alignment_hint = 0);
 310   static char*  reserve_memory(size_t bytes, char* addr,
 311                                size_t alignment_hint, MEMFLAGS flags);
 312   static char*  reserve_memory_aligned(size_t size, size_t alignment);
 313   static char*  attempt_reserve_memory_at(size_t bytes, char* addr);
 314 
 315   // Map the given address range to a temporary file created at the specified directory.
 316   // The address range must already be reserved for guaranteed success. If it not reserved, their could be an error while mapping leading to JVM shutdown
 317   static bool   map_memory_to_file(char* base, size_t size, const char* backing_filename);
 318   static void   split_reserved_memory(char *base, size_t size,
 319                                       size_t split, bool realloc);
 320   static bool   commit_memory(char* addr, size_t bytes, bool executable);
 321   static bool   commit_memory(char* addr, size_t size, size_t alignment_hint,
 322                               bool executable);
 323   // Same as commit_memory() that either succeeds or calls
 324   // vm_exit_out_of_memory() with the specified mesg.
 325   static void   commit_memory_or_exit(char* addr, size_t bytes,
 326                                       bool executable, const char* mesg);
 327   static void   commit_memory_or_exit(char* addr, size_t size,
 328                                       size_t alignment_hint,
 329                                       bool executable, const char* mesg);
 330   static bool   uncommit_memory(char* addr, size_t bytes);
 331   static bool   release_memory(char* addr, size_t bytes);
 332 
 333   // Touch memory pages that cover the memory range from start to end (exclusive)
 334   // to make the OS back the memory range with actual memory.
 335   // Current implementation may not touch the last page if unaligned addresses
 336   // are passed.
 337   static void   pretouch_memory(void* start, void* end);


< prev index next >