src/share/vm/runtime/os.hpp

Print this page
rev 3149 : 7147740: add assertions to check stack alignment on VM entry from generated code (x64)
Summary: check stack alignment on VM entry on x64.
Reviewed-by:


 387   static void yield_all(int attempts = 0); // Yields to all other threads including lower priority
 388   static void loop_breaker(int attempts);  // called from within tight loops to possibly influence time-sharing
 389   static OSReturn set_priority(Thread* thread, ThreadPriority priority);
 390   static OSReturn get_priority(const Thread* const thread, ThreadPriority& priority);
 391 
 392   static void interrupt(Thread* thread);
 393   static bool is_interrupted(Thread* thread, bool clear_interrupted);
 394 
 395   static int pd_self_suspend_thread(Thread* thread);
 396 
 397   static ExtendedPC fetch_frame_from_context(void* ucVoid, intptr_t** sp, intptr_t** fp);
 398   static frame      fetch_frame_from_context(void* ucVoid);
 399 
 400   static ExtendedPC get_thread_pc(Thread *thread);
 401   static void breakpoint();
 402 
 403   static address current_stack_pointer();
 404   static address current_stack_base();
 405   static size_t current_stack_size();
 406 


 407   static int message_box(const char* title, const char* message);
 408   static char* do_you_want_to_debug(const char* message);
 409 
 410   // run cmd in a separate process and return its exit code; or -1 on failures
 411   static int fork_and_exec(char *cmd);
 412 
 413   // Set file to send error reports.
 414   static void set_error_file(const char *logfile);
 415 
 416   // os::exit() is merged with vm_exit()
 417   // static void exit(int num);
 418 
 419   // Terminate the VM, but don't exit the process
 420   static void shutdown();
 421 
 422   // Terminate with an error.  Default is to generate a core file on platforms
 423   // that support such things.  This calls shutdown() and then aborts.
 424   static void abort(bool dump_core = true);
 425 
 426   // Die immediately, no exit hook, no abort hook, no cleanup.




 387   static void yield_all(int attempts = 0); // Yields to all other threads including lower priority
 388   static void loop_breaker(int attempts);  // called from within tight loops to possibly influence time-sharing
 389   static OSReturn set_priority(Thread* thread, ThreadPriority priority);
 390   static OSReturn get_priority(const Thread* const thread, ThreadPriority& priority);
 391 
 392   static void interrupt(Thread* thread);
 393   static bool is_interrupted(Thread* thread, bool clear_interrupted);
 394 
 395   static int pd_self_suspend_thread(Thread* thread);
 396 
 397   static ExtendedPC fetch_frame_from_context(void* ucVoid, intptr_t** sp, intptr_t** fp);
 398   static frame      fetch_frame_from_context(void* ucVoid);
 399 
 400   static ExtendedPC get_thread_pc(Thread *thread);
 401   static void breakpoint();
 402 
 403   static address current_stack_pointer();
 404   static address current_stack_base();
 405   static size_t current_stack_size();
 406 
 407   static void verify_stack_alignment() PRODUCT_RETURN;
 408 
 409   static int message_box(const char* title, const char* message);
 410   static char* do_you_want_to_debug(const char* message);
 411 
 412   // run cmd in a separate process and return its exit code; or -1 on failures
 413   static int fork_and_exec(char *cmd);
 414 
 415   // Set file to send error reports.
 416   static void set_error_file(const char *logfile);
 417 
 418   // os::exit() is merged with vm_exit()
 419   // static void exit(int num);
 420 
 421   // Terminate the VM, but don't exit the process
 422   static void shutdown();
 423 
 424   // Terminate with an error.  Default is to generate a core file on platforms
 425   // that support such things.  This calls shutdown() and then aborts.
 426   static void abort(bool dump_core = true);
 427 
 428   // Die immediately, no exit hook, no abort hook, no cleanup.