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); 167 static void javaTimeSystemUTC(jlong &seconds, jlong &nanos); 168 static void run_periodic_checks(); 169 static bool supports_monotonic_clock(); 170 171 // Returns the elapsed time in seconds since the vm started. 172 static double elapsedTime(); 173 | 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 #ifdef LINUX 147 // Container support is currently limited to Linux 148 static void pd_initialize_container_support(); 149 #endif 150 151 public: 152 static void init(void); // Called before command line parsing 153 static void init_before_ergo(void); // Called after command line parsing 154 // before VM ergonomics processing. 155 static jint init_2(void); // Called after command line parsing 156 // and VM ergonomics processing 157 static void init_globals(void) { // Called from init_globals() in init.cpp 158 init_globals_ext(); 159 } 160 161 #ifdef LINUX 162 // Container support is currently limited to Linux 163 static void initialize_container_support() { 164 pd_initialize_container_support(); 165 } 166 #else 167 static void initialize_container_support() {} 168 #endif 169 170 171 // File names are case-insensitive on windows only 172 // Override me as needed 173 static int file_name_strcmp(const char* s1, const char* s2); 174 175 // unset environment variable 176 static bool unsetenv(const char* name); 177 178 static bool have_special_privileges(); 179 180 static jlong javaTimeMillis(); 181 static jlong javaTimeNanos(); 182 static void javaTimeNanos_info(jvmtiTimerInfo *info_ptr); 183 static void javaTimeSystemUTC(jlong &seconds, jlong &nanos); 184 static void run_periodic_checks(); 185 static bool supports_monotonic_clock(); 186 187 // Returns the elapsed time in seconds since the vm started. 188 static double elapsedTime(); 189 |