< prev index next >

src/share/vm/runtime/vm_operations.hpp

Print this page




 294 
 295 
 296 class VM_ZombieAll: public VM_Operation {
 297  public:
 298   VM_ZombieAll() {}
 299   VMOp_Type type() const                         { return VMOp_ZombieAll; }
 300   void doit();
 301   bool allow_nested_vm_operations() const        { return true; }
 302 };
 303 #endif // PRODUCT
 304 
 305 class VM_UnlinkSymbols: public VM_Operation {
 306  public:
 307   VM_UnlinkSymbols() {}
 308   VMOp_Type type() const                         { return VMOp_UnlinkSymbols; }
 309   void doit();
 310   bool allow_nested_vm_operations() const        { return true; }
 311 };
 312 
 313 class VM_Verify: public VM_Operation {
 314  private:
 315   bool _silent;
 316  public:
 317   VM_Verify(bool silent = VerifySilently) : _silent(silent) {}
 318   VMOp_Type type() const { return VMOp_Verify; }
 319   void doit();
 320 };
 321 
 322 
 323 class VM_PrintThreads: public VM_Operation {
 324  private:
 325   outputStream* _out;
 326   bool _print_concurrent_locks;
 327  public:
 328   VM_PrintThreads()                                                { _out = tty; _print_concurrent_locks = PrintConcurrentLocks; }
 329   VM_PrintThreads(outputStream* out, bool print_concurrent_locks)  { _out = out; _print_concurrent_locks = print_concurrent_locks; }
 330   VMOp_Type type() const                                           {  return VMOp_PrintThreads; }
 331   void doit();
 332   bool doit_prologue();
 333   void doit_epilogue();
 334 };
 335 
 336 class VM_PrintJNI: public VM_Operation {
 337  private:


 399 class VM_Exit: public VM_Operation {
 400  private:
 401   int  _exit_code;
 402   static volatile bool _vm_exited;
 403   static Thread * _shutdown_thread;
 404   static void wait_if_vm_exited();
 405  public:
 406   VM_Exit(int exit_code) {
 407     _exit_code = exit_code;
 408   }
 409   static int wait_for_threads_in_native_to_block();
 410   static int set_vm_exited();
 411   static bool vm_exited()                      { return _vm_exited; }
 412   static void block_if_vm_exited() {
 413     if (_vm_exited) {
 414       wait_if_vm_exited();
 415     }
 416   }
 417   VMOp_Type type() const { return VMOp_Exit; }
 418   void doit();
 419 };
 420 
 421 
 422 class VM_RotateGCLog: public VM_Operation {
 423  private:
 424   outputStream* _out;
 425 
 426  public:
 427   VM_RotateGCLog(outputStream* st) : _out(st) {}
 428   VMOp_Type type() const { return VMOp_RotateGCLog; }
 429   void doit() { gclog_or_tty->rotate_log(true, _out); }
 430 };
 431 
 432 class VM_PrintCompileQueue: public VM_Operation {
 433  private:
 434   outputStream* _out;
 435 
 436  public:
 437   VM_PrintCompileQueue(outputStream* st) : _out(st) {}
 438   VMOp_Type type() const { return VMOp_PrintCompileQueue; }
 439   Mode evaluation_mode() const { return _no_safepoint; }
 440   void doit();
 441 };
 442 
 443 class VM_PrintCodeList: public VM_Operation {
 444  private:
 445   outputStream* _out;
 446 
 447  public:
 448   VM_PrintCodeList(outputStream* st) : _out(st) {}
 449   VMOp_Type type() const { return VMOp_PrintCodeList; }




 294 
 295 
 296 class VM_ZombieAll: public VM_Operation {
 297  public:
 298   VM_ZombieAll() {}
 299   VMOp_Type type() const                         { return VMOp_ZombieAll; }
 300   void doit();
 301   bool allow_nested_vm_operations() const        { return true; }
 302 };
 303 #endif // PRODUCT
 304 
 305 class VM_UnlinkSymbols: public VM_Operation {
 306  public:
 307   VM_UnlinkSymbols() {}
 308   VMOp_Type type() const                         { return VMOp_UnlinkSymbols; }
 309   void doit();
 310   bool allow_nested_vm_operations() const        { return true; }
 311 };
 312 
 313 class VM_Verify: public VM_Operation {


 314  public:

 315   VMOp_Type type() const { return VMOp_Verify; }
 316   void doit();
 317 };
 318 
 319 
 320 class VM_PrintThreads: public VM_Operation {
 321  private:
 322   outputStream* _out;
 323   bool _print_concurrent_locks;
 324  public:
 325   VM_PrintThreads()                                                { _out = tty; _print_concurrent_locks = PrintConcurrentLocks; }
 326   VM_PrintThreads(outputStream* out, bool print_concurrent_locks)  { _out = out; _print_concurrent_locks = print_concurrent_locks; }
 327   VMOp_Type type() const                                           {  return VMOp_PrintThreads; }
 328   void doit();
 329   bool doit_prologue();
 330   void doit_epilogue();
 331 };
 332 
 333 class VM_PrintJNI: public VM_Operation {
 334  private:


 396 class VM_Exit: public VM_Operation {
 397  private:
 398   int  _exit_code;
 399   static volatile bool _vm_exited;
 400   static Thread * _shutdown_thread;
 401   static void wait_if_vm_exited();
 402  public:
 403   VM_Exit(int exit_code) {
 404     _exit_code = exit_code;
 405   }
 406   static int wait_for_threads_in_native_to_block();
 407   static int set_vm_exited();
 408   static bool vm_exited()                      { return _vm_exited; }
 409   static void block_if_vm_exited() {
 410     if (_vm_exited) {
 411       wait_if_vm_exited();
 412     }
 413   }
 414   VMOp_Type type() const { return VMOp_Exit; }
 415   void doit();











 416 };
 417 
 418 class VM_PrintCompileQueue: public VM_Operation {
 419  private:
 420   outputStream* _out;
 421 
 422  public:
 423   VM_PrintCompileQueue(outputStream* st) : _out(st) {}
 424   VMOp_Type type() const { return VMOp_PrintCompileQueue; }
 425   Mode evaluation_mode() const { return _no_safepoint; }
 426   void doit();
 427 };
 428 
 429 class VM_PrintCodeList: public VM_Operation {
 430  private:
 431   outputStream* _out;
 432 
 433  public:
 434   VM_PrintCodeList(outputStream* st) : _out(st) {}
 435   VMOp_Type type() const { return VMOp_PrintCodeList; }


< prev index next >