< prev index next >

src/hotspot/share/runtime/vm_operations.hpp

Print this page
rev 49294 : imported patch 8199813


 442                 bool with_locked_synchronizers);
 443 
 444   VM_ThreadDump(ThreadDumpResult* result,
 445                 GrowableArray<instanceHandle>* threads,
 446                 int num_threads, // -1 indicates entire stack
 447                 int max_depth,
 448                 bool with_locked_monitors,
 449                 bool with_locked_synchronizers);
 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 * _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 void block_if_vm_exited() {
 472     if (_vm_exited) {
 473       wait_if_vm_exited();
 474     }
 475   }
 476   VMOp_Type type() const { return VMOp_Exit; }
 477   void doit();
 478 };
 479 
 480 class VM_PrintCompileQueue: public VM_Operation {
 481  private:
 482   outputStream* _out;
 483 
 484  public:
 485   VM_PrintCompileQueue(outputStream* st) : _out(st) {}
 486   VMOp_Type type() const { return VMOp_PrintCompileQueue; }
 487   Mode evaluation_mode() const { return _safepoint; }
 488   void doit();
 489 };


 442                 bool with_locked_synchronizers);
 443 
 444   VM_ThreadDump(ThreadDumpResult* result,
 445                 GrowableArray<instanceHandle>* threads,
 446                 int num_threads, // -1 indicates entire stack
 447                 int max_depth,
 448                 bool with_locked_monitors,
 449                 bool with_locked_synchronizers);
 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 };
< prev index next >