< prev index next >

src/hotspot/share/runtime/vm_operations.hpp

Print this page




 404   void doit();
 405 };
 406 
 407 class DeadlockCycle;
 408 class VM_FindDeadlocks: public VM_Operation {
 409  private:
 410   bool              _concurrent_locks;
 411   DeadlockCycle*    _deadlocks;
 412   outputStream*     _out;
 413   ThreadsListSetter _setter;  // Helper to set hazard ptr in the originating thread
 414                               // which protects the JavaThreads in _deadlocks.
 415 
 416  public:
 417   VM_FindDeadlocks(bool concurrent_locks) :  _concurrent_locks(concurrent_locks), _out(NULL), _deadlocks(NULL), _setter() {};
 418   VM_FindDeadlocks(outputStream* st) : _concurrent_locks(true), _out(st), _deadlocks(NULL) {};
 419   ~VM_FindDeadlocks();
 420 
 421   DeadlockCycle* result()      { return _deadlocks; };
 422   VMOp_Type type() const       { return VMOp_FindDeadlocks; }
 423   void doit();
 424   bool doit_prologue();
 425 };
 426 
 427 class ThreadDumpResult;
 428 class ThreadSnapshot;
 429 class ThreadConcurrentLocks;
 430 
 431 class VM_ThreadDump : public VM_Operation {
 432  private:
 433   ThreadDumpResult*              _result;
 434   int                            _num_threads;
 435   GrowableArray<instanceHandle>* _threads;
 436   int                            _max_depth;
 437   bool                           _with_locked_monitors;
 438   bool                           _with_locked_synchronizers;
 439 
 440   ThreadSnapshot* snapshot_thread(JavaThread* java_thread, ThreadConcurrentLocks* tcl);
 441 
 442  public:
 443   VM_ThreadDump(ThreadDumpResult* result,
 444                 int max_depth,  // -1 indicates entire stack




 404   void doit();
 405 };
 406 
 407 class DeadlockCycle;
 408 class VM_FindDeadlocks: public VM_Operation {
 409  private:
 410   bool              _concurrent_locks;
 411   DeadlockCycle*    _deadlocks;
 412   outputStream*     _out;
 413   ThreadsListSetter _setter;  // Helper to set hazard ptr in the originating thread
 414                               // which protects the JavaThreads in _deadlocks.
 415 
 416  public:
 417   VM_FindDeadlocks(bool concurrent_locks) :  _concurrent_locks(concurrent_locks), _out(NULL), _deadlocks(NULL), _setter() {};
 418   VM_FindDeadlocks(outputStream* st) : _concurrent_locks(true), _out(st), _deadlocks(NULL) {};
 419   ~VM_FindDeadlocks();
 420 
 421   DeadlockCycle* result()      { return _deadlocks; };
 422   VMOp_Type type() const       { return VMOp_FindDeadlocks; }
 423   void doit();

 424 };
 425 
 426 class ThreadDumpResult;
 427 class ThreadSnapshot;
 428 class ThreadConcurrentLocks;
 429 
 430 class VM_ThreadDump : public VM_Operation {
 431  private:
 432   ThreadDumpResult*              _result;
 433   int                            _num_threads;
 434   GrowableArray<instanceHandle>* _threads;
 435   int                            _max_depth;
 436   bool                           _with_locked_monitors;
 437   bool                           _with_locked_synchronizers;
 438 
 439   ThreadSnapshot* snapshot_thread(JavaThread* java_thread, ThreadConcurrentLocks* tcl);
 440 
 441  public:
 442   VM_ThreadDump(ThreadDumpResult* result,
 443                 int max_depth,  // -1 indicates entire stack


< prev index next >