< prev index next >

src/hotspot/share/runtime/vm_operations.hpp

Print this page
rev 47287 : Port 09.17.Thread_SMR_logging_update from JDK9 to JDK10


 363   bool doit_prologue();
 364   void doit_epilogue();
 365 };
 366 
 367 class VM_PrintJNI: public VM_Operation {
 368  private:
 369   outputStream* _out;
 370  public:
 371   VM_PrintJNI()                         { _out = tty; }
 372   VM_PrintJNI(outputStream* out)        { _out = out; }
 373   VMOp_Type type() const                { return VMOp_PrintJNI; }
 374   void doit();
 375 };
 376 
 377 class DeadlockCycle;
 378 class VM_FindDeadlocks: public VM_Operation {
 379  private:
 380   bool           _concurrent_locks;
 381   DeadlockCycle* _deadlocks;
 382   outputStream*  _out;


 383 
 384  public:
 385   VM_FindDeadlocks(bool concurrent_locks) :  _concurrent_locks(concurrent_locks), _out(NULL), _deadlocks(NULL) {};
 386   VM_FindDeadlocks(outputStream* st) : _concurrent_locks(true), _out(st), _deadlocks(NULL) {};
 387   ~VM_FindDeadlocks();
 388 
 389   DeadlockCycle* result()      { return _deadlocks; };
 390   VMOp_Type type() const       { return VMOp_FindDeadlocks; }
 391   void doit();
 392   bool doit_prologue();
 393 };
 394 
 395 class ThreadDumpResult;
 396 class ThreadSnapshot;
 397 class ThreadConcurrentLocks;
 398 
 399 class VM_ThreadDump : public VM_Operation {
 400  private:
 401   ThreadDumpResult*              _result;
 402   int                            _num_threads;
 403   GrowableArray<instanceHandle>* _threads;
 404   int                            _max_depth;
 405   bool                           _with_locked_monitors;




 363   bool doit_prologue();
 364   void doit_epilogue();
 365 };
 366 
 367 class VM_PrintJNI: public VM_Operation {
 368  private:
 369   outputStream* _out;
 370  public:
 371   VM_PrintJNI()                         { _out = tty; }
 372   VM_PrintJNI(outputStream* out)        { _out = out; }
 373   VMOp_Type type() const                { return VMOp_PrintJNI; }
 374   void doit();
 375 };
 376 
 377 class DeadlockCycle;
 378 class VM_FindDeadlocks: public VM_Operation {
 379  private:
 380   bool              _concurrent_locks;
 381   DeadlockCycle*    _deadlocks;
 382   outputStream*     _out;
 383   ThreadsListSetter _setter;  // Helper to set hazard ptr in the originating thread
 384                               // which protects the JavaThreads in _deadlocks.
 385 
 386  public:
 387   VM_FindDeadlocks(bool concurrent_locks) :  _concurrent_locks(concurrent_locks), _out(NULL), _deadlocks(NULL), _setter() {};
 388   VM_FindDeadlocks(outputStream* st) : _concurrent_locks(true), _out(st), _deadlocks(NULL) {};
 389   ~VM_FindDeadlocks();
 390 
 391   DeadlockCycle* result()               { return _deadlocks; };
 392   VMOp_Type type() const                { return VMOp_FindDeadlocks; }
 393   void doit();
 394   bool doit_prologue();
 395 };
 396 
 397 class ThreadDumpResult;
 398 class ThreadSnapshot;
 399 class ThreadConcurrentLocks;
 400 
 401 class VM_ThreadDump : public VM_Operation {
 402  private:
 403   ThreadDumpResult*              _result;
 404   int                            _num_threads;
 405   GrowableArray<instanceHandle>* _threads;
 406   int                            _max_depth;
 407   bool                           _with_locked_monitors;


< prev index next >