273 // stack is not walkable
274 return frame(NULL, NULL, false);
275 } else {
276 return os::get_sender_for_C_frame(&myframe);
277 }
278 }
279
280 bool os::is_allocatable(size_t bytes) {
281 #ifdef _LP64
282 return true;
283 #else
284 return (bytes <= (size_t)3835*M);
285 #endif
286 }
287
288 extern "C" JNIEXPORT int
289 JVM_handle_solaris_signal(int sig, siginfo_t* info, void* ucVoid,
290 int abort_if_unrecognized) {
291 ucontext_t* uc = (ucontext_t*) ucVoid;
292
293 Thread* t = ThreadLocalStorage::get_thread_slow();
294
295 // Must do this before SignalHandlerMark, if crash protection installed we will longjmp away
296 // (no destructors can be run)
297 os::WatcherThreadCrashProtection::check_crash_protection(sig, t);
298
299 SignalHandlerMark shm(t);
300
301 if(sig == SIGPIPE || sig == SIGXFSZ) {
302 if (os::Solaris::chained_handler(sig, info, ucVoid)) {
303 return true;
304 } else {
305 if (PrintMiscellaneous && (WizardMode || Verbose)) {
306 char buf[64];
307 warning("Ignoring %s - see 4229104 or 6499219",
308 os::exception_name(sig, buf, sizeof(buf)));
309
310 }
311 return true;
312 }
313 }
|
273 // stack is not walkable
274 return frame(NULL, NULL, false);
275 } else {
276 return os::get_sender_for_C_frame(&myframe);
277 }
278 }
279
280 bool os::is_allocatable(size_t bytes) {
281 #ifdef _LP64
282 return true;
283 #else
284 return (bytes <= (size_t)3835*M);
285 #endif
286 }
287
288 extern "C" JNIEXPORT int
289 JVM_handle_solaris_signal(int sig, siginfo_t* info, void* ucVoid,
290 int abort_if_unrecognized) {
291 ucontext_t* uc = (ucontext_t*) ucVoid;
292
293 Thread* t = Thread::current_or_null_safe();
294
295 // Must do this before SignalHandlerMark, if crash protection installed we will longjmp away
296 // (no destructors can be run)
297 os::WatcherThreadCrashProtection::check_crash_protection(sig, t);
298
299 SignalHandlerMark shm(t);
300
301 if(sig == SIGPIPE || sig == SIGXFSZ) {
302 if (os::Solaris::chained_handler(sig, info, ucVoid)) {
303 return true;
304 } else {
305 if (PrintMiscellaneous && (WizardMode || Verbose)) {
306 char buf[64];
307 warning("Ignoring %s - see 4229104 or 6499219",
308 os::exception_name(sig, buf, sizeof(buf)));
309
310 }
311 return true;
312 }
313 }
|