< prev index next >

src/hotspot/share/services/threadService.hpp

Print this page
rev 49939 : imported patch 8191798.eosterlund.open.patch.00


 360   int                  _num_snapshots;
 361   ThreadSnapshot*      _snapshots;
 362   ThreadSnapshot*      _last;
 363   ThreadDumpResult*    _next;
 364   ThreadsListSetter    _setter;  // Helper to set hazard ptr in the originating thread
 365                                  // which protects the JavaThreads in _snapshots.
 366 
 367  public:
 368   ThreadDumpResult();
 369   ThreadDumpResult(int num_threads);
 370   ~ThreadDumpResult();
 371 
 372   void                 add_thread_snapshot(ThreadSnapshot* ts);
 373   void                 set_next(ThreadDumpResult* next) { _next = next; }
 374   ThreadDumpResult*    next()                           { return _next; }
 375   int                  num_threads()                    { return _num_threads; }
 376   int                  num_snapshots()                  { return _num_snapshots; }
 377   ThreadSnapshot*      snapshots()                      { return _snapshots; }
 378   void                 set_t_list()                     { _setter.set(); }
 379   ThreadsList*         t_list();
 380   bool                 t_list_has_been_set()            { return _setter.target_needs_release(); }
 381   void                 oops_do(OopClosure* f);
 382   void                 metadata_do(void f(Metadata*));
 383 };
 384 
 385 class DeadlockCycle : public CHeapObj<mtInternal> {
 386  private:
 387   bool _is_deadlock;
 388   GrowableArray<JavaThread*>* _threads;
 389   DeadlockCycle*              _next;
 390  public:
 391   DeadlockCycle();
 392   ~DeadlockCycle();
 393 
 394   DeadlockCycle* next()                     { return _next; }
 395   void           set_next(DeadlockCycle* d) { _next = d; }
 396   void           add_thread(JavaThread* t)  { _threads->append(t); }
 397   void           reset()                    { _is_deadlock = false; _threads->clear(); }
 398   void           set_deadlock(bool value)   { _is_deadlock = value; }
 399   bool           is_deadlock()              { return _is_deadlock; }
 400   int            num_threads()              { return _threads->length(); }




 360   int                  _num_snapshots;
 361   ThreadSnapshot*      _snapshots;
 362   ThreadSnapshot*      _last;
 363   ThreadDumpResult*    _next;
 364   ThreadsListSetter    _setter;  // Helper to set hazard ptr in the originating thread
 365                                  // which protects the JavaThreads in _snapshots.
 366 
 367  public:
 368   ThreadDumpResult();
 369   ThreadDumpResult(int num_threads);
 370   ~ThreadDumpResult();
 371 
 372   void                 add_thread_snapshot(ThreadSnapshot* ts);
 373   void                 set_next(ThreadDumpResult* next) { _next = next; }
 374   ThreadDumpResult*    next()                           { return _next; }
 375   int                  num_threads()                    { return _num_threads; }
 376   int                  num_snapshots()                  { return _num_snapshots; }
 377   ThreadSnapshot*      snapshots()                      { return _snapshots; }
 378   void                 set_t_list()                     { _setter.set(); }
 379   ThreadsList*         t_list();
 380   bool                 t_list_has_been_set()            { return _setter.is_set(); }
 381   void                 oops_do(OopClosure* f);
 382   void                 metadata_do(void f(Metadata*));
 383 };
 384 
 385 class DeadlockCycle : public CHeapObj<mtInternal> {
 386  private:
 387   bool _is_deadlock;
 388   GrowableArray<JavaThread*>* _threads;
 389   DeadlockCycle*              _next;
 390  public:
 391   DeadlockCycle();
 392   ~DeadlockCycle();
 393 
 394   DeadlockCycle* next()                     { return _next; }
 395   void           set_next(DeadlockCycle* d) { _next = d; }
 396   void           add_thread(JavaThread* t)  { _threads->append(t); }
 397   void           reset()                    { _is_deadlock = false; _threads->clear(); }
 398   void           set_deadlock(bool value)   { _is_deadlock = value; }
 399   bool           is_deadlock()              { return _is_deadlock; }
 400   int            num_threads()              { return _threads->length(); }


< prev index next >