< prev index next >

src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp

Print this page




 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();
 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   }


< prev index next >