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: | 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: |