< prev index next >

src/hotspot/os/aix/os_aix.hpp

Print this page




  82   // correct them.
  83   //
  84   // Must run after os::Aix::initialue_os_info().
  85   static void scan_environment();
  86 
  87   // Initialize libo4 (on PASE) and libperfstat (on AIX). Call this
  88   // before relying on functions from either lib, e.g. Aix::get_meminfo().
  89   static void initialize_libo4();
  90   static void initialize_libperfstat();
  91 
  92  public:
  93   static void init_thread_fpu_state();
  94   static pthread_t main_thread(void)                                { return _main_thread; }
  95   static void set_createThread_lock(Mutex* lk)                      { _createThread_lock = lk; }
  96   static Mutex* createThread_lock(void)                             { return _createThread_lock; }
  97   static void hotspot_sigmask(Thread* thread);
  98 
  99   // Given an address, returns the size of the page backing that address
 100   static size_t query_pagesize(void* p);
 101 
 102   // Return `true' if the calling thread is the primordial thread. The
 103   // primordial thread is the thread which contains the main function,
 104   // *not* necessarily the thread which initialized the VM by calling
 105   // JNI_CreateJavaVM.
 106   static bool is_primordial_thread(void);
 107 
 108   static int page_size(void) {
 109     assert(_page_size != -1, "not initialized");
 110     return _page_size;
 111   }
 112 
 113   static address   ucontext_get_pc(const ucontext_t* uc);
 114   static intptr_t* ucontext_get_sp(const ucontext_t* uc);
 115   static intptr_t* ucontext_get_fp(const ucontext_t* uc);
 116   // Set PC into context. Needed for continuation after signal.
 117   static void ucontext_set_pc(ucontext_t* uc, address pc);
 118 
 119   static bool get_frame_at_stack_banging_point(JavaThread* thread, ucontext_t* uc, frame* fr);
 120 
 121   // This boolean allows users to forward their own non-matching signals
 122   // to JVM_handle_aix_signal, harmlessly.
 123   static bool signal_handlers_are_installed;
 124 
 125   static int get_our_sigflags(int);
 126   static void set_our_sigflags(int, int);
 127   static void signal_sets_init();




  82   // correct them.
  83   //
  84   // Must run after os::Aix::initialue_os_info().
  85   static void scan_environment();
  86 
  87   // Initialize libo4 (on PASE) and libperfstat (on AIX). Call this
  88   // before relying on functions from either lib, e.g. Aix::get_meminfo().
  89   static void initialize_libo4();
  90   static void initialize_libperfstat();
  91 
  92  public:
  93   static void init_thread_fpu_state();
  94   static pthread_t main_thread(void)                                { return _main_thread; }
  95   static void set_createThread_lock(Mutex* lk)                      { _createThread_lock = lk; }
  96   static Mutex* createThread_lock(void)                             { return _createThread_lock; }
  97   static void hotspot_sigmask(Thread* thread);
  98 
  99   // Given an address, returns the size of the page backing that address
 100   static size_t query_pagesize(void* p);
 101 






 102   static int page_size(void) {
 103     assert(_page_size != -1, "not initialized");
 104     return _page_size;
 105   }
 106 
 107   static address   ucontext_get_pc(const ucontext_t* uc);
 108   static intptr_t* ucontext_get_sp(const ucontext_t* uc);
 109   static intptr_t* ucontext_get_fp(const ucontext_t* uc);
 110   // Set PC into context. Needed for continuation after signal.
 111   static void ucontext_set_pc(ucontext_t* uc, address pc);
 112 
 113   static bool get_frame_at_stack_banging_point(JavaThread* thread, ucontext_t* uc, frame* fr);
 114 
 115   // This boolean allows users to forward their own non-matching signals
 116   // to JVM_handle_aix_signal, harmlessly.
 117   static bool signal_handlers_are_installed;
 118 
 119   static int get_our_sigflags(int);
 120   static void set_our_sigflags(int, int);
 121   static void signal_sets_init();


< prev index next >