< prev index next >

src/os/aix/vm/os_aix.inline.hpp

Print this page




  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) {


< prev index next >