125 static bool pd_uncommit_memory(char* addr, size_t bytes); 126 static bool pd_release_memory(char* addr, size_t bytes); 127 128 static char* pd_map_memory(int fd, const char* file_name, size_t file_offset, 129 char *addr, size_t bytes, bool read_only = false, 130 bool allow_exec = false); 131 static char* pd_remap_memory(int fd, const char* file_name, size_t file_offset, 132 char *addr, size_t bytes, bool read_only, 133 bool allow_exec); 134 static bool pd_unmap_memory(char *addr, size_t bytes); 135 static void pd_free_memory(char *addr, size_t bytes, size_t alignment_hint); 136 static void pd_realign_memory(char *addr, size_t bytes, size_t alignment_hint); 137 138 static size_t page_size_for_region(size_t region_size, size_t min_pages, bool must_be_aligned); 139 140 // Get summary strings for system information in buffer provided 141 static void get_summary_cpu_info(char* buf, size_t buflen); 142 static void get_summary_os_info(char* buf, size_t buflen); 143 144 static void initialize_initial_active_processor_count(); 145 public: 146 static void init(void); // Called before command line parsing 147 static void init_before_ergo(void); // Called after command line parsing 148 // before VM ergonomics processing. 149 static jint init_2(void); // Called after command line parsing 150 // and VM ergonomics processing 151 static void init_globals(void) { // Called from init_globals() in init.cpp 152 init_globals_ext(); 153 } 154 155 // File names are case-insensitive on windows only 156 // Override me as needed 157 static int file_name_strcmp(const char* s1, const char* s2); 158 159 // unset environment variable 160 static bool unsetenv(const char* name); 161 162 static bool have_special_privileges(); 163 164 static jlong javaTimeMillis(); 165 static jlong javaTimeNanos(); 166 static void javaTimeNanos_info(jvmtiTimerInfo *info_ptr); | 125 static bool pd_uncommit_memory(char* addr, size_t bytes); 126 static bool pd_release_memory(char* addr, size_t bytes); 127 128 static char* pd_map_memory(int fd, const char* file_name, size_t file_offset, 129 char *addr, size_t bytes, bool read_only = false, 130 bool allow_exec = false); 131 static char* pd_remap_memory(int fd, const char* file_name, size_t file_offset, 132 char *addr, size_t bytes, bool read_only, 133 bool allow_exec); 134 static bool pd_unmap_memory(char *addr, size_t bytes); 135 static void pd_free_memory(char *addr, size_t bytes, size_t alignment_hint); 136 static void pd_realign_memory(char *addr, size_t bytes, size_t alignment_hint); 137 138 static size_t page_size_for_region(size_t region_size, size_t min_pages, bool must_be_aligned); 139 140 // Get summary strings for system information in buffer provided 141 static void get_summary_cpu_info(char* buf, size_t buflen); 142 static void get_summary_os_info(char* buf, size_t buflen); 143 144 static void initialize_initial_active_processor_count(); 145 146 LINUX_ONLY(static void pd_init_container_support();) 147 148 public: 149 static void init(void); // Called before command line parsing 150 151 static void init_container_support() { // Called during command line parsing. 152 LINUX_ONLY(pd_init_container_support();) 153 } 154 155 static void init_before_ergo(void); // Called after command line parsing 156 // before VM ergonomics processing. 157 static jint init_2(void); // Called after command line parsing 158 // and VM ergonomics processing 159 static void init_globals(void) { // Called from init_globals() in init.cpp 160 init_globals_ext(); 161 } 162 163 // File names are case-insensitive on windows only 164 // Override me as needed 165 static int file_name_strcmp(const char* s1, const char* s2); 166 167 // unset environment variable 168 static bool unsetenv(const char* name); 169 170 static bool have_special_privileges(); 171 172 static jlong javaTimeMillis(); 173 static jlong javaTimeNanos(); 174 static void javaTimeNanos_info(jvmtiTimerInfo *info_ptr); |