< prev index next >

src/hotspot/share/runtime/vmOperations.hpp

Print this page
rev 56635 : v2.00 -> v2.05 (CR5/v2.05/8-for-jdk13) patches combined into one; merge with 8229212.patch; merge with jdk-14+11; merge with 8230184.patch; merge with 8230876.patch; merge with jdk-14+15; merge with jdk-14+18.


 472 class VM_Exit: public VM_Operation {
 473  private:
 474   int  _exit_code;
 475   static volatile bool _vm_exited;
 476   static Thread * volatile _shutdown_thread;
 477   static void wait_if_vm_exited();
 478  public:
 479   VM_Exit(int exit_code) {
 480     _exit_code = exit_code;
 481   }
 482   static int wait_for_threads_in_native_to_block();
 483   static int set_vm_exited();
 484   static bool vm_exited()                      { return _vm_exited; }
 485   static Thread * shutdown_thread()            { return _shutdown_thread; }
 486   static void block_if_vm_exited() {
 487     if (_vm_exited) {
 488       wait_if_vm_exited();
 489     }
 490   }
 491   VMOp_Type type() const { return VMOp_Exit; }

 492   void doit();
 493 };
 494 
 495 class VM_PrintCompileQueue: public VM_Operation {
 496  private:
 497   outputStream* _out;
 498 
 499  public:
 500   VM_PrintCompileQueue(outputStream* st) : _out(st) {}
 501   VMOp_Type type() const { return VMOp_PrintCompileQueue; }
 502   Mode evaluation_mode() const { return _safepoint; }
 503   void doit();
 504 };
 505 
 506 #if INCLUDE_SERVICES
 507 class VM_PrintClassHierarchy: public VM_Operation {
 508  private:
 509   outputStream* _out;
 510   bool _print_interfaces;
 511   bool _print_subclasses;


 472 class VM_Exit: public VM_Operation {
 473  private:
 474   int  _exit_code;
 475   static volatile bool _vm_exited;
 476   static Thread * volatile _shutdown_thread;
 477   static void wait_if_vm_exited();
 478  public:
 479   VM_Exit(int exit_code) {
 480     _exit_code = exit_code;
 481   }
 482   static int wait_for_threads_in_native_to_block();
 483   static int set_vm_exited();
 484   static bool vm_exited()                      { return _vm_exited; }
 485   static Thread * shutdown_thread()            { return _shutdown_thread; }
 486   static void block_if_vm_exited() {
 487     if (_vm_exited) {
 488       wait_if_vm_exited();
 489     }
 490   }
 491   VMOp_Type type() const { return VMOp_Exit; }
 492   bool doit_prologue();
 493   void doit();
 494 };
 495 
 496 class VM_PrintCompileQueue: public VM_Operation {
 497  private:
 498   outputStream* _out;
 499 
 500  public:
 501   VM_PrintCompileQueue(outputStream* st) : _out(st) {}
 502   VMOp_Type type() const { return VMOp_PrintCompileQueue; }
 503   Mode evaluation_mode() const { return _safepoint; }
 504   void doit();
 505 };
 506 
 507 #if INCLUDE_SERVICES
 508 class VM_PrintClassHierarchy: public VM_Operation {
 509  private:
 510   outputStream* _out;
 511   bool _print_interfaces;
 512   bool _print_subclasses;
< prev index next >