comparison src/share/vm/runtime/os.hpp @ 697:922aedc96ef5

Merge
author ysr
date Fri, 03 Apr 2009 15:59:19 -0700
parents 956304450e80
children 8e7adf982378
comparison
equal deleted inserted replaced
696:f18338cf04b0 697:922aedc96ef5
200 static char* reserve_memory(size_t bytes, char* addr = 0, 200 static char* reserve_memory(size_t bytes, char* addr = 0,
201 size_t alignment_hint = 0); 201 size_t alignment_hint = 0);
202 static char* attempt_reserve_memory_at(size_t bytes, char* addr); 202 static char* attempt_reserve_memory_at(size_t bytes, char* addr);
203 static void split_reserved_memory(char *base, size_t size, 203 static void split_reserved_memory(char *base, size_t size,
204 size_t split, bool realloc); 204 size_t split, bool realloc);
205 static bool commit_memory(char* addr, size_t bytes); 205 static bool commit_memory(char* addr, size_t bytes,
206 static bool commit_memory(char* addr, size_t size, size_t alignment_hint); 206 bool executable = false);
207 static bool commit_memory(char* addr, size_t size, size_t alignment_hint,
208 bool executable = false);
207 static bool uncommit_memory(char* addr, size_t bytes); 209 static bool uncommit_memory(char* addr, size_t bytes);
208 static bool release_memory(char* addr, size_t bytes); 210 static bool release_memory(char* addr, size_t bytes);
209 211
210 enum ProtType { MEM_PROT_NONE, MEM_PROT_READ, MEM_PROT_RW, MEM_PROT_RWX }; 212 enum ProtType { MEM_PROT_NONE, MEM_PROT_READ, MEM_PROT_RW, MEM_PROT_RWX };
211 static bool protect_memory(char* addr, size_t bytes, ProtType prot, 213 static bool protect_memory(char* addr, size_t bytes, ProtType prot,
241 static bool get_page_info(char *start, page_info* info); 243 static bool get_page_info(char *start, page_info* info);
242 static char* scan_pages(char *start, char* end, page_info* page_expected, page_info* page_found); 244 static char* scan_pages(char *start, char* end, page_info* page_expected, page_info* page_found);
243 245
244 static char* non_memory_address_word(); 246 static char* non_memory_address_word();
245 // reserve, commit and pin the entire memory region 247 // reserve, commit and pin the entire memory region
246 static char* reserve_memory_special(size_t size, char* addr = NULL); 248 static char* reserve_memory_special(size_t size, char* addr = NULL,
249 bool executable = false);
247 static bool release_memory_special(char* addr, size_t bytes); 250 static bool release_memory_special(char* addr, size_t bytes);
248 static bool large_page_init(); 251 static bool large_page_init();
249 static size_t large_page_size(); 252 static size_t large_page_size();
250 static bool can_commit_large_page_memory(); 253 static bool can_commit_large_page_memory();
251 static bool can_execute_large_page_memory(); 254 static bool can_execute_large_page_memory();
602 const char* home, 605 const char* home,
603 int home_len, 606 int home_len,
604 char fileSep, 607 char fileSep,
605 char pathSep); 608 char pathSep);
606 static bool set_boot_path(char fileSep, char pathSep); 609 static bool set_boot_path(char fileSep, char pathSep);
610 static char** split_path(const char* path, int* n);
607 }; 611 };
608 612
609 // Note that "PAUSE" is almost always used with synchronization 613 // Note that "PAUSE" is almost always used with synchronization
610 // so arguably we should provide Atomic::SpinPause() instead 614 // so arguably we should provide Atomic::SpinPause() instead
611 // of the global SpinPause() with C linkage. 615 // of the global SpinPause() with C linkage.