equal
deleted
inserted
replaced
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; } |