126 static int get_fpu_control_word();
127 static void set_fpu_control_word(int fpu_control);
128 static pthread_t main_thread(void) { return _main_thread; }
129 // returns kernel thread id (similar to LWP id on Solaris), which can be
130 // used to access /proc
131 static pid_t gettid();
132 static void set_createThread_lock(Mutex* lk) { _createThread_lock = lk; }
133 static Mutex* createThread_lock(void) { return _createThread_lock; }
134 static void hotspot_sigmask(Thread* thread);
135
136 static address initial_thread_stack_bottom(void) { return _initial_thread_stack_bottom; }
137 static uintptr_t initial_thread_stack_size(void) { return _initial_thread_stack_size; }
138 static bool is_initial_thread(void);
139
140 static int page_size(void) { return _page_size; }
141 static void set_page_size(int val) { _page_size = val; }
142
143 static int vm_default_page_size(void) { return _vm_default_page_size; }
144
145 static address ucontext_get_pc(ucontext_t* uc);
146 static intptr_t* ucontext_get_sp(ucontext_t* uc);
147 static intptr_t* ucontext_get_fp(ucontext_t* uc);
148
149 // For Analyzer Forte AsyncGetCallTrace profiling support:
150 //
151 // This interface should be declared in os_linux_i486.hpp, but
152 // that file provides extensions to the os class and not the
153 // Linux class.
154 static ExtendedPC fetch_frame_from_ucontext(Thread* thread, ucontext_t* uc,
155 intptr_t** ret_sp, intptr_t** ret_fp);
156
157 // This boolean allows users to forward their own non-matching signals
158 // to JVM_handle_linux_signal, harmlessly.
159 static bool signal_handlers_are_installed;
160
161 static int get_our_sigflags(int);
162 static void set_our_sigflags(int, int);
163 static void signal_sets_init();
164 static void install_signal_handlers();
165 static void set_signal_handler(int, bool);
|
126 static int get_fpu_control_word();
127 static void set_fpu_control_word(int fpu_control);
128 static pthread_t main_thread(void) { return _main_thread; }
129 // returns kernel thread id (similar to LWP id on Solaris), which can be
130 // used to access /proc
131 static pid_t gettid();
132 static void set_createThread_lock(Mutex* lk) { _createThread_lock = lk; }
133 static Mutex* createThread_lock(void) { return _createThread_lock; }
134 static void hotspot_sigmask(Thread* thread);
135
136 static address initial_thread_stack_bottom(void) { return _initial_thread_stack_bottom; }
137 static uintptr_t initial_thread_stack_size(void) { return _initial_thread_stack_size; }
138 static bool is_initial_thread(void);
139
140 static int page_size(void) { return _page_size; }
141 static void set_page_size(int val) { _page_size = val; }
142
143 static int vm_default_page_size(void) { return _vm_default_page_size; }
144
145 static address ucontext_get_pc(ucontext_t* uc);
146 static void ucontext_set_pc(ucontext_t* uc, address pc);
147 static intptr_t* ucontext_get_sp(ucontext_t* uc);
148 static intptr_t* ucontext_get_fp(ucontext_t* uc);
149
150 // For Analyzer Forte AsyncGetCallTrace profiling support:
151 //
152 // This interface should be declared in os_linux_i486.hpp, but
153 // that file provides extensions to the os class and not the
154 // Linux class.
155 static ExtendedPC fetch_frame_from_ucontext(Thread* thread, ucontext_t* uc,
156 intptr_t** ret_sp, intptr_t** ret_fp);
157
158 // This boolean allows users to forward their own non-matching signals
159 // to JVM_handle_linux_signal, harmlessly.
160 static bool signal_handlers_are_installed;
161
162 static int get_our_sigflags(int);
163 static void set_our_sigflags(int, int);
164 static void signal_sets_init();
165 static void install_signal_handlers();
166 static void set_signal_handler(int, bool);
|