src/hotspot/share/runtime/vm_operations.hpp
changeset 48105 8d15b1369c7a
parent 47881 0ce0ac68ace7
child 48312 2a1413298af0
equal deleted inserted replaced
48096:513e0b467a92 48105:8d15b1369c7a
   390 };
   390 };
   391 
   391 
   392 class DeadlockCycle;
   392 class DeadlockCycle;
   393 class VM_FindDeadlocks: public VM_Operation {
   393 class VM_FindDeadlocks: public VM_Operation {
   394  private:
   394  private:
   395   bool           _concurrent_locks;
   395   bool              _concurrent_locks;
   396   DeadlockCycle* _deadlocks;
   396   DeadlockCycle*    _deadlocks;
   397   outputStream*  _out;
   397   outputStream*     _out;
   398 
   398   ThreadsListSetter _setter;  // Helper to set hazard ptr in the originating thread
   399  public:
   399                               // which protects the JavaThreads in _deadlocks.
   400   VM_FindDeadlocks(bool concurrent_locks) :  _concurrent_locks(concurrent_locks), _out(NULL), _deadlocks(NULL) {};
   400 
       
   401  public:
       
   402   VM_FindDeadlocks(bool concurrent_locks) :  _concurrent_locks(concurrent_locks), _out(NULL), _deadlocks(NULL), _setter() {};
   401   VM_FindDeadlocks(outputStream* st) : _concurrent_locks(true), _out(st), _deadlocks(NULL) {};
   403   VM_FindDeadlocks(outputStream* st) : _concurrent_locks(true), _out(st), _deadlocks(NULL) {};
   402   ~VM_FindDeadlocks();
   404   ~VM_FindDeadlocks();
   403 
   405 
   404   DeadlockCycle* result()      { return _deadlocks; };
   406   DeadlockCycle* result()      { return _deadlocks; };
   405   VMOp_Type type() const       { return VMOp_FindDeadlocks; }
   407   VMOp_Type type() const       { return VMOp_FindDeadlocks; }