623 static void signal_init_pd(); 624 static void signal_notify(int signal_number); 625 static void* signal(int signal_number, void* handler); 626 static void signal_raise(int signal_number); 627 static int signal_wait(); 628 static int signal_lookup(); 629 static void* user_handler(); 630 static void terminate_signal_thread(); 631 static int sigexitnum_pd(); 632 633 // random number generation 634 static long random(); // return 32bit pseudorandom number 635 static void init_random(long initval); // initialize random sequence 636 637 // Structured OS Exception support 638 static void os_exception_wrapper(java_call_t f, JavaValue* value, methodHandle* method, JavaCallArguments* args, Thread* thread); 639 640 // On Windows this will create an actual minidump, on Linux/Solaris it will simply check core dump limits 641 static void check_or_create_dump(void* exceptionRecord, void* contextRecord, char* buffer, size_t bufferSize); 642 643 // JVMTI & JVM monitoring and management support 644 // The thread_cpu_time() and current_thread_cpu_time() are only 645 // supported if is_thread_cpu_time_supported() returns true. 646 // They are not supported on Solaris T1. 647 648 // Thread CPU Time - return the fast estimate on a platform 649 // On Solaris - call gethrvtime (fast) - user time only 650 // On Linux - fast clock_gettime where available - user+sys 651 // - otherwise: very slow /proc fs - user+sys 652 // On Windows - GetThreadTimes - user+sys 653 static jlong current_thread_cpu_time(); 654 static jlong thread_cpu_time(Thread* t); 655 656 // Thread CPU Time with user_sys_cpu_time parameter. 657 // 658 // If user_sys_cpu_time is true, user+sys time is returned. 659 // Otherwise, only user time is returned 660 static jlong current_thread_cpu_time(bool user_sys_cpu_time); 661 static jlong thread_cpu_time(Thread* t, bool user_sys_cpu_time); 662 | 623 static void signal_init_pd(); 624 static void signal_notify(int signal_number); 625 static void* signal(int signal_number, void* handler); 626 static void signal_raise(int signal_number); 627 static int signal_wait(); 628 static int signal_lookup(); 629 static void* user_handler(); 630 static void terminate_signal_thread(); 631 static int sigexitnum_pd(); 632 633 // random number generation 634 static long random(); // return 32bit pseudorandom number 635 static void init_random(long initval); // initialize random sequence 636 637 // Structured OS Exception support 638 static void os_exception_wrapper(java_call_t f, JavaValue* value, methodHandle* method, JavaCallArguments* args, Thread* thread); 639 640 // On Windows this will create an actual minidump, on Linux/Solaris it will simply check core dump limits 641 static void check_or_create_dump(void* exceptionRecord, void* contextRecord, char* buffer, size_t bufferSize); 642 643 // Get the default path to the core file 644 // Returns the length of the string 645 static int get_core_path(char* buffer, size_t bufferSize); 646 647 // JVMTI & JVM monitoring and management support 648 // The thread_cpu_time() and current_thread_cpu_time() are only 649 // supported if is_thread_cpu_time_supported() returns true. 650 // They are not supported on Solaris T1. 651 652 // Thread CPU Time - return the fast estimate on a platform 653 // On Solaris - call gethrvtime (fast) - user time only 654 // On Linux - fast clock_gettime where available - user+sys 655 // - otherwise: very slow /proc fs - user+sys 656 // On Windows - GetThreadTimes - user+sys 657 static jlong current_thread_cpu_time(); 658 static jlong thread_cpu_time(Thread* t); 659 660 // Thread CPU Time with user_sys_cpu_time parameter. 661 // 662 // If user_sys_cpu_time is true, user+sys time is returned. 663 // Otherwise, only user time is returned 664 static jlong current_thread_cpu_time(bool user_sys_cpu_time); 665 static jlong thread_cpu_time(Thread* t, bool user_sys_cpu_time); 666 |