Print this page
rev 4531 : 8013398: Adjust number of stack guard pages on systems with large memory page size
Summary: Auto adjust number of stack guard pages on systems with large memory page size
Reviewed-by: bobv, coleenp

Split Split Close
Expand all
Collapse all
          --- old/src/os/linux/vm/os_linux.hpp
          +++ new/src/os/linux/vm/os_linux.hpp
↓ open down ↓ 62 lines elided ↑ open up ↑
  63   63    static bool _supports_fast_thread_cpu_time;
  64   64  
  65   65    static GrowableArray<int>* _cpu_to_node;
  66   66  
  67   67   protected:
  68   68  
  69   69    static julong _physical_memory;
  70   70    static pthread_t _main_thread;
  71   71    static Mutex* _createThread_lock;
  72   72    static int _page_size;
       73 +  static const int _vm_default_page_size;
  73   74  
  74   75    static julong available_memory();
  75   76    static julong physical_memory() { return _physical_memory; }
  76   77    static void initialize_system_info();
  77   78  
  78   79    static void set_glibc_version(const char *s)      { _glibc_version = s; }
  79   80    static void set_libpthread_version(const char *s) { _libpthread_version = s; }
  80   81  
  81   82    static bool supports_variable_stack_size();
  82   83  
↓ open down ↓ 26 lines elided ↑ open up ↑
 109  110    static Mutex* createThread_lock(void)                             { return _createThread_lock; }
 110  111    static void hotspot_sigmask(Thread* thread);
 111  112  
 112  113    static address   initial_thread_stack_bottom(void)                { return _initial_thread_stack_bottom; }
 113  114    static uintptr_t initial_thread_stack_size(void)                  { return _initial_thread_stack_size; }
 114  115    static bool is_initial_thread(void);
 115  116  
 116  117    static int page_size(void)                                        { return _page_size; }
 117  118    static void set_page_size(int val)                                { _page_size = val; }
 118  119  
      120 +  static int vm_default_page_size(void)                             { return _vm_default_page_size; }
      121 +
 119  122    static address   ucontext_get_pc(ucontext_t* uc);
 120  123    static intptr_t* ucontext_get_sp(ucontext_t* uc);
 121  124    static intptr_t* ucontext_get_fp(ucontext_t* uc);
 122  125  
 123  126    // For Analyzer Forte AsyncGetCallTrace profiling support:
 124  127    //
 125  128    // This interface should be declared in os_linux_i486.hpp, but
 126  129    // that file provides extensions to the os class and not the
 127  130    // Linux class.
 128  131    static ExtendedPC fetch_frame_from_ucontext(Thread* thread, ucontext_t* uc,
↓ open down ↓ 178 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX