48 inline bool os::uses_stack_guard_pages() {
49 return true;
50 }
51
52 // Whether or not calling code should/can commit/uncommit stack pages
53 // before guarding them. Answer for AIX is definitly no, because memory
54 // is automatically committed on touch.
55 inline bool os::allocate_stack_guard_pages() {
56 assert(uses_stack_guard_pages(), "sanity check");
57 return false;
58 }
59
60 // On Aix, reservations are made on a page by page basis, nothing to do.
61 inline void os::pd_split_reserved_memory(char *base, size_t size,
62 size_t split, bool realloc) {
63 // TODO: Determine whether Sys V memory is split. If yes, we need to treat
64 // this the same way Windows treats its VirtualAlloc allocations.
65 }
66
67 // Bang the shadow pages if they need to be touched to be mapped.
68 inline void os::bang_stack_shadow_pages() {
69 }
70
71 inline void os::dll_unload(void *lib) {
72 ::dlclose(lib);
73 }
74
75 inline const int os::default_file_open_flags() { return 0;}
76
77 inline DIR* os::opendir(const char* dirname) {
78 assert(dirname != NULL, "just checking");
79 return ::opendir(dirname);
80 }
81
82 inline int os::readdir_buf_size(const char *path) {
83 // According to aix sys/limits, NAME_MAX must be retrieved at runtime.
84 const long my_NAME_MAX = pathconf(path, _PC_NAME_MAX);
85 return my_NAME_MAX + sizeof(dirent) + 1;
86 }
87
88 inline jlong os::lseek(int fd, jlong offset, int whence) {
|
48 inline bool os::uses_stack_guard_pages() {
49 return true;
50 }
51
52 // Whether or not calling code should/can commit/uncommit stack pages
53 // before guarding them. Answer for AIX is definitly no, because memory
54 // is automatically committed on touch.
55 inline bool os::allocate_stack_guard_pages() {
56 assert(uses_stack_guard_pages(), "sanity check");
57 return false;
58 }
59
60 // On Aix, reservations are made on a page by page basis, nothing to do.
61 inline void os::pd_split_reserved_memory(char *base, size_t size,
62 size_t split, bool realloc) {
63 // TODO: Determine whether Sys V memory is split. If yes, we need to treat
64 // this the same way Windows treats its VirtualAlloc allocations.
65 }
66
67 // Bang the shadow pages if they need to be touched to be mapped.
68 inline void os::map_stack_shadow_pages() {
69 }
70
71 inline void os::dll_unload(void *lib) {
72 ::dlclose(lib);
73 }
74
75 inline const int os::default_file_open_flags() { return 0;}
76
77 inline DIR* os::opendir(const char* dirname) {
78 assert(dirname != NULL, "just checking");
79 return ::opendir(dirname);
80 }
81
82 inline int os::readdir_buf_size(const char *path) {
83 // According to aix sys/limits, NAME_MAX must be retrieved at runtime.
84 const long my_NAME_MAX = pathconf(path, _PC_NAME_MAX);
85 return my_NAME_MAX + sizeof(dirent) + 1;
86 }
87
88 inline jlong os::lseek(int fd, jlong offset, int whence) {
|