192 // Should be LDR_CNTRL SHMPSIZE.
193 static int shm_default_page_size(void) {
194 assert(_shm_default_page_size != -1, "not initialized");
195 return _shm_default_page_size;
196 }
197
198 // Return true if sys V shm can be used with 64K pages dynamically
199 // (via shmctl(.. SHM_PAGESIZE..).
200 static bool can_use_64K_pages () {
201 assert(_can_use_64K_pages != -1, "not initialized");
202 return _can_use_64K_pages == 1 ? true : false;
203 }
204
205 // Return true if sys V shm can be used with 16M pages dynamically.
206 // (via shmctl(.. SHM_PAGESIZE..).
207 static bool can_use_16M_pages () {
208 assert(_can_use_16M_pages != -1, "not initialized");
209 return _can_use_16M_pages == 1 ? true : false;
210 }
211
212 static address ucontext_get_pc(ucontext_t* uc);
213 static intptr_t* ucontext_get_sp(ucontext_t* uc);
214 static intptr_t* ucontext_get_fp(ucontext_t* uc);
215 // Set PC into context. Needed for continuation after signal.
216 static void ucontext_set_pc(ucontext_t* uc, address pc);
217
218 // This boolean allows users to forward their own non-matching signals
219 // to JVM_handle_aix_signal, harmlessly.
220 static bool signal_handlers_are_installed;
221
222 static int get_our_sigflags(int);
223 static void set_our_sigflags(int, int);
224 static void signal_sets_init();
225 static void install_signal_handlers();
226 static void set_signal_handler(int, bool);
227 static bool is_sig_ignored(int sig);
228
229 static sigset_t* unblocked_signals();
230 static sigset_t* vm_signals();
231 static sigset_t* allowdebug_blocked_signals();
232
|
192 // Should be LDR_CNTRL SHMPSIZE.
193 static int shm_default_page_size(void) {
194 assert(_shm_default_page_size != -1, "not initialized");
195 return _shm_default_page_size;
196 }
197
198 // Return true if sys V shm can be used with 64K pages dynamically
199 // (via shmctl(.. SHM_PAGESIZE..).
200 static bool can_use_64K_pages () {
201 assert(_can_use_64K_pages != -1, "not initialized");
202 return _can_use_64K_pages == 1 ? true : false;
203 }
204
205 // Return true if sys V shm can be used with 16M pages dynamically.
206 // (via shmctl(.. SHM_PAGESIZE..).
207 static bool can_use_16M_pages () {
208 assert(_can_use_16M_pages != -1, "not initialized");
209 return _can_use_16M_pages == 1 ? true : false;
210 }
211
212 static address ucontext_get_pc(const ucontext_t* uc);
213 static intptr_t* ucontext_get_sp(ucontext_t* uc);
214 static intptr_t* ucontext_get_fp(ucontext_t* uc);
215 // Set PC into context. Needed for continuation after signal.
216 static void ucontext_set_pc(ucontext_t* uc, address pc);
217
218 // This boolean allows users to forward their own non-matching signals
219 // to JVM_handle_aix_signal, harmlessly.
220 static bool signal_handlers_are_installed;
221
222 static int get_our_sigflags(int);
223 static void set_our_sigflags(int, int);
224 static void signal_sets_init();
225 static void install_signal_handlers();
226 static void set_signal_handler(int, bool);
227 static bool is_sig_ignored(int sig);
228
229 static sigset_t* unblocked_signals();
230 static sigset_t* vm_signals();
231 static sigset_t* allowdebug_blocked_signals();
232
|