< prev index next >

src/hotspot/share/runtime/vmOperations.hpp

Print this page
rev 57595 : v2.09a with 8235795, 8235931 and 8236035 extracted; rebased to jdk-14+28; merge with 8236035.patch.cr1; merge with 8235795.patch.cr1; merge with 8236035.patch.cr2; merge with 8235795.patch.cr2; merge with 8235795.patch.cr3.


 434 class VM_Exit: public VM_Operation {
 435  private:
 436   int  _exit_code;
 437   static volatile bool _vm_exited;
 438   static Thread * volatile _shutdown_thread;
 439   static void wait_if_vm_exited();
 440  public:
 441   VM_Exit(int exit_code) {
 442     _exit_code = exit_code;
 443   }
 444   static int wait_for_threads_in_native_to_block();
 445   static int set_vm_exited();
 446   static bool vm_exited()                      { return _vm_exited; }
 447   static Thread * shutdown_thread()            { return _shutdown_thread; }
 448   static void block_if_vm_exited() {
 449     if (_vm_exited) {
 450       wait_if_vm_exited();
 451     }
 452   }
 453   VMOp_Type type() const { return VMOp_Exit; }

 454   void doit();
 455 };
 456 
 457 class VM_PrintCompileQueue: public VM_Operation {
 458  private:
 459   outputStream* _out;
 460 
 461  public:
 462   VM_PrintCompileQueue(outputStream* st) : _out(st) {}
 463   VMOp_Type type() const { return VMOp_PrintCompileQueue; }
 464   void doit();
 465 };
 466 
 467 #if INCLUDE_SERVICES
 468 class VM_PrintClassHierarchy: public VM_Operation {
 469  private:
 470   outputStream* _out;
 471   bool _print_interfaces;
 472   bool _print_subclasses;
 473   char* _classname;


 434 class VM_Exit: public VM_Operation {
 435  private:
 436   int  _exit_code;
 437   static volatile bool _vm_exited;
 438   static Thread * volatile _shutdown_thread;
 439   static void wait_if_vm_exited();
 440  public:
 441   VM_Exit(int exit_code) {
 442     _exit_code = exit_code;
 443   }
 444   static int wait_for_threads_in_native_to_block();
 445   static int set_vm_exited();
 446   static bool vm_exited()                      { return _vm_exited; }
 447   static Thread * shutdown_thread()            { return _shutdown_thread; }
 448   static void block_if_vm_exited() {
 449     if (_vm_exited) {
 450       wait_if_vm_exited();
 451     }
 452   }
 453   VMOp_Type type() const { return VMOp_Exit; }
 454   bool doit_prologue();
 455   void doit();
 456 };
 457 
 458 class VM_PrintCompileQueue: public VM_Operation {
 459  private:
 460   outputStream* _out;
 461 
 462  public:
 463   VM_PrintCompileQueue(outputStream* st) : _out(st) {}
 464   VMOp_Type type() const { return VMOp_PrintCompileQueue; }
 465   void doit();
 466 };
 467 
 468 #if INCLUDE_SERVICES
 469 class VM_PrintClassHierarchy: public VM_Operation {
 470  private:
 471   outputStream* _out;
 472   bool _print_interfaces;
 473   bool _print_subclasses;
 474   char* _classname;
< prev index next >