< prev index next >

src/hotspot/share/runtime/vm_operations.hpp

Print this page
rev 49294 : imported patch 8199813
rev 49295 : Move IdealGraphPrinter::clean_up() call so VM_Exit::set_shutdown_thread() can be removed.


 450 
 451   VMOp_Type type() const { return VMOp_ThreadDump; }
 452   void doit();
 453   bool doit_prologue();
 454   void doit_epilogue();
 455 };
 456 
 457 
 458 class VM_Exit: public VM_Operation {
 459  private:
 460   int  _exit_code;
 461   static volatile bool _vm_exited;
 462   static Thread * volatile _shutdown_thread;
 463   static void wait_if_vm_exited();
 464  public:
 465   VM_Exit(int exit_code) {
 466     _exit_code = exit_code;
 467   }
 468   static int wait_for_threads_in_native_to_block();
 469   static int set_vm_exited();
 470   static void set_shutdown_thread(Thread *t)   { _shutdown_thread = t; }
 471   static Thread * shutdown_thread()            { return _shutdown_thread; }
 472   static bool vm_exited()                      { return _vm_exited; }

 473   static void block_if_vm_exited() {
 474     if (_vm_exited) {
 475       wait_if_vm_exited();
 476     }
 477   }
 478   VMOp_Type type() const { return VMOp_Exit; }
 479   void doit();
 480 };
 481 
 482 class VM_PrintCompileQueue: public VM_Operation {
 483  private:
 484   outputStream* _out;
 485 
 486  public:
 487   VM_PrintCompileQueue(outputStream* st) : _out(st) {}
 488   VMOp_Type type() const { return VMOp_PrintCompileQueue; }
 489   Mode evaluation_mode() const { return _safepoint; }
 490   void doit();
 491 };
 492 


 450 
 451   VMOp_Type type() const { return VMOp_ThreadDump; }
 452   void doit();
 453   bool doit_prologue();
 454   void doit_epilogue();
 455 };
 456 
 457 
 458 class VM_Exit: public VM_Operation {
 459  private:
 460   int  _exit_code;
 461   static volatile bool _vm_exited;
 462   static Thread * volatile _shutdown_thread;
 463   static void wait_if_vm_exited();
 464  public:
 465   VM_Exit(int exit_code) {
 466     _exit_code = exit_code;
 467   }
 468   static int wait_for_threads_in_native_to_block();
 469   static int set_vm_exited();


 470   static bool vm_exited()                      { return _vm_exited; }
 471   static Thread * shutdown_thread()            { return _shutdown_thread; }
 472   static void block_if_vm_exited() {
 473     if (_vm_exited) {
 474       wait_if_vm_exited();
 475     }
 476   }
 477   VMOp_Type type() const { return VMOp_Exit; }
 478   void doit();
 479 };
 480 
 481 class VM_PrintCompileQueue: public VM_Operation {
 482  private:
 483   outputStream* _out;
 484 
 485  public:
 486   VM_PrintCompileQueue(outputStream* st) : _out(st) {}
 487   VMOp_Type type() const { return VMOp_PrintCompileQueue; }
 488   Mode evaluation_mode() const { return _safepoint; }
 489   void doit();
 490 };
 491 
< prev index next >