< prev index next >

src/share/vm/gc/cms/concurrentMarkSweepGeneration.hpp

Print this page
rev 11970 : [mq]: overflow_list_2


 523   friend class CMSKeepAliveClosure;           //  -- ditto --
 524   friend class CMSDrainMarkingStackClosure;   //  -- ditto --
 525   friend class CMSInnerParMarkAndPushClosure; //  -- ditto --
 526   NOT_PRODUCT(friend class ScanMarkedObjectsAgainClosure;) //  assertion on _overflow_list
 527   friend class ReleaseForegroundGC;  // to access _foregroundGCShouldWait
 528   friend class VM_CMS_Operation;
 529   friend class VM_CMS_Initial_Mark;
 530   friend class VM_CMS_Final_Remark;
 531   friend class TraceCMSMemoryManagerStats;
 532 
 533  private:
 534   jlong _time_of_last_gc;
 535   void update_time_of_last_gc(jlong now) {
 536     _time_of_last_gc = now;
 537   }
 538 
 539   OopTaskQueueSet* _task_queues;
 540 
 541   // Overflow list of grey objects, threaded through mark-word
 542   // Manipulated with CAS in the parallel/multi-threaded case.
 543   oop _overflow_list;
 544   // The following array-pair keeps track of mark words
 545   // displaced for accommodating overflow list above.
 546   // This code will likely be revisited under RFE#4922830.
 547   Stack<oop, mtGC>     _preserved_oop_stack;
 548   Stack<markOop, mtGC> _preserved_mark_stack;
 549 
 550   int*             _hash_seed;
 551 
 552   // In support of multi-threaded concurrent phases
 553   YieldingFlexibleWorkGang* _conc_workers;
 554 
 555   // Performance Counters
 556   CollectorCounters* _gc_counters;
 557 
 558   // Initialization Errors
 559   bool _completed_initialization;
 560 
 561   // In support of ExplicitGCInvokesConcurrent
 562   static bool _full_gc_requested;
 563   static GCCause::Cause _full_gc_cause;




 523   friend class CMSKeepAliveClosure;           //  -- ditto --
 524   friend class CMSDrainMarkingStackClosure;   //  -- ditto --
 525   friend class CMSInnerParMarkAndPushClosure; //  -- ditto --
 526   NOT_PRODUCT(friend class ScanMarkedObjectsAgainClosure;) //  assertion on _overflow_list
 527   friend class ReleaseForegroundGC;  // to access _foregroundGCShouldWait
 528   friend class VM_CMS_Operation;
 529   friend class VM_CMS_Initial_Mark;
 530   friend class VM_CMS_Final_Remark;
 531   friend class TraceCMSMemoryManagerStats;
 532 
 533  private:
 534   jlong _time_of_last_gc;
 535   void update_time_of_last_gc(jlong now) {
 536     _time_of_last_gc = now;
 537   }
 538 
 539   OopTaskQueueSet* _task_queues;
 540 
 541   // Overflow list of grey objects, threaded through mark-word
 542   // Manipulated with CAS in the parallel/multi-threaded case.
 543   oopDesc* volatile _overflow_list;
 544   // The following array-pair keeps track of mark words
 545   // displaced for accommodating overflow list above.
 546   // This code will likely be revisited under RFE#4922830.
 547   Stack<oop, mtGC>     _preserved_oop_stack;
 548   Stack<markOop, mtGC> _preserved_mark_stack;
 549 
 550   int*             _hash_seed;
 551 
 552   // In support of multi-threaded concurrent phases
 553   YieldingFlexibleWorkGang* _conc_workers;
 554 
 555   // Performance Counters
 556   CollectorCounters* _gc_counters;
 557 
 558   // Initialization Errors
 559   bool _completed_initialization;
 560 
 561   // In support of ExplicitGCInvokesConcurrent
 562   static bool _full_gc_requested;
 563   static GCCause::Cause _full_gc_cause;


< prev index next >