< prev index next >

src/hotspot/share/runtime/os.hpp

Print this page




 450   static bool is_primordial_thread(void)
 451 #if defined(_WINDOWS) || defined(BSD)
 452     // No way to identify the primordial thread.
 453     { return false; }
 454 #else
 455   ;
 456 #endif
 457 
 458   static bool create_attached_thread(JavaThread* thread);
 459   static void pd_start_thread(Thread* thread);
 460   static void start_thread(Thread* thread);
 461 
 462   // Returns true if successful.
 463   static bool signal_thread(Thread* thread, int sig, const char* reason);
 464 
 465   static void free_thread(OSThread* osthread);
 466 
 467   // thread id on Linux/64bit is 64bit, on Windows and Solaris, it's 32bit
 468   static intx current_thread_id();
 469   static int current_process_id();
 470   static int sleep(Thread* thread, jlong ms, bool interruptable);
 471   // Short standalone OS sleep suitable for slow path spin loop.
 472   // Ignores Thread.interrupt() (so keep it short).
 473   // ms = 0, will sleep for the least amount of time allowed by the OS.


 474   static void naked_short_sleep(jlong ms);
 475   static void naked_short_nanosleep(jlong ns);
 476   static void infinite_sleep(); // never returns, use with CAUTION




 477   static void naked_yield () ;
 478   static OSReturn set_priority(Thread* thread, ThreadPriority priority);
 479   static OSReturn get_priority(const Thread* const thread, ThreadPriority& priority);
 480 
 481   static void interrupt(Thread* thread);
 482   static bool is_interrupted(Thread* thread, bool clear_interrupted);
 483 
 484   static int pd_self_suspend_thread(Thread* thread);
 485 
 486   static ExtendedPC fetch_frame_from_context(const void* ucVoid, intptr_t** sp, intptr_t** fp);
 487   static frame      fetch_frame_from_context(const void* ucVoid);
 488   static frame      fetch_frame_from_ucontext(Thread* thread, void* ucVoid);
 489 
 490   static void breakpoint();
 491   static bool start_debugging(char *buf, int buflen);
 492 
 493   static address current_stack_pointer();
 494   static address current_stack_base();
 495   static size_t current_stack_size();
 496 




 450   static bool is_primordial_thread(void)
 451 #if defined(_WINDOWS) || defined(BSD)
 452     // No way to identify the primordial thread.
 453     { return false; }
 454 #else
 455   ;
 456 #endif
 457 
 458   static bool create_attached_thread(JavaThread* thread);
 459   static void pd_start_thread(Thread* thread);
 460   static void start_thread(Thread* thread);
 461 
 462   // Returns true if successful.
 463   static bool signal_thread(Thread* thread, int sig, const char* reason);
 464 
 465   static void free_thread(OSThread* osthread);
 466 
 467   // thread id on Linux/64bit is 64bit, on Windows and Solaris, it's 32bit
 468   static intx current_thread_id();
 469   static int current_process_id();
 470   // Implementation of java.lang.Thread.sleep for JavaThreads
 471   static int sleep(JavaThread* thread, jlong ms);
 472   // Short standalone OS sleep routines suitable for slow path spin loop.
 473   // Ignores safepoints/suspension/Thread.interrupt() (so keep it short).
 474   // ms/ns = 0, will sleep for the least amount of time allowed by the OS.
 475   // Maximum sleep time is just under 1 second.
 476   static void naked_short_sleep(jlong ms);
 477   static void naked_short_nanosleep(jlong ns);
 478   // Longer standalone OS sleep routine - a convenience wrapper around
 479   // multiple calls to naked_short_sleep. Only for use by non-JavaThreads.
 480   static void naked_sleep(jlong millis);
 481   // Never returns, use with CAUTION
 482   static void infinite_sleep();
 483   static void naked_yield () ;
 484   static OSReturn set_priority(Thread* thread, ThreadPriority priority);
 485   static OSReturn get_priority(const Thread* const thread, ThreadPriority& priority);
 486 
 487   static void interrupt(Thread* thread);
 488   static bool is_interrupted(Thread* thread, bool clear_interrupted);
 489 
 490   static int pd_self_suspend_thread(Thread* thread);
 491 
 492   static ExtendedPC fetch_frame_from_context(const void* ucVoid, intptr_t** sp, intptr_t** fp);
 493   static frame      fetch_frame_from_context(const void* ucVoid);
 494   static frame      fetch_frame_from_ucontext(Thread* thread, void* ucVoid);
 495 
 496   static void breakpoint();
 497   static bool start_debugging(char *buf, int buflen);
 498 
 499   static address current_stack_pointer();
 500   static address current_stack_base();
 501   static size_t current_stack_size();
 502 


< prev index next >