476 static void block_if_vm_exited() { 477 if (_vm_exited) { 478 wait_if_vm_exited(); 479 } 480 } 481 VMOp_Type type() const { return VMOp_Exit; } 482 void doit(); 483 }; 484 485 class VM_PrintCompileQueue: public VM_Operation { 486 private: 487 outputStream* _out; 488 489 public: 490 VM_PrintCompileQueue(outputStream* st) : _out(st) {} 491 VMOp_Type type() const { return VMOp_PrintCompileQueue; } 492 Mode evaluation_mode() const { return _safepoint; } 493 void doit(); 494 }; 495 496 class VM_VTBufferStats: public VM_Operation { 497 private: 498 outputStream* _out; 499 public: 500 VM_VTBufferStats() { _out = tty; } 501 VM_VTBufferStats(outputStream* out) { _out = out; } 502 VMOp_Type type() const { return VMOp_VTBufferStats; } 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; 512 char* _classname; 513 514 public: 515 VM_PrintClassHierarchy(outputStream* st, bool print_interfaces, bool print_subclasses, char* classname) : 516 _out(st), _print_interfaces(print_interfaces), _print_subclasses(print_subclasses), 517 _classname(classname) {} 518 VMOp_Type type() const { return VMOp_PrintClassHierarchy; } 519 void doit(); 520 }; 521 #endif // INCLUDE_SERVICES 522 523 #endif // SHARE_VM_RUNTIME_VM_OPERATIONS_HPP | 476 static void block_if_vm_exited() { 477 if (_vm_exited) { 478 wait_if_vm_exited(); 479 } 480 } 481 VMOp_Type type() const { return VMOp_Exit; } 482 void doit(); 483 }; 484 485 class VM_PrintCompileQueue: public VM_Operation { 486 private: 487 outputStream* _out; 488 489 public: 490 VM_PrintCompileQueue(outputStream* st) : _out(st) {} 491 VMOp_Type type() const { return VMOp_PrintCompileQueue; } 492 Mode evaluation_mode() const { return _safepoint; } 493 void doit(); 494 }; 495 496 #if INCLUDE_SERVICES 497 class VM_PrintClassHierarchy: public VM_Operation { 498 private: 499 outputStream* _out; 500 bool _print_interfaces; 501 bool _print_subclasses; 502 char* _classname; 503 504 public: 505 VM_PrintClassHierarchy(outputStream* st, bool print_interfaces, bool print_subclasses, char* classname) : 506 _out(st), _print_interfaces(print_interfaces), _print_subclasses(print_subclasses), 507 _classname(classname) {} 508 VMOp_Type type() const { return VMOp_PrintClassHierarchy; } 509 void doit(); 510 }; 511 #endif // INCLUDE_SERVICES 512 513 #endif // SHARE_VM_RUNTIME_VM_OPERATIONS_HPP |