src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp

Print this page

        

*** 514,523 **** --- 514,525 ---- class CMSCollector: public CHeapObj<mtGC> { friend class VMStructs; friend class ConcurrentMarkSweepThread; friend class ConcurrentMarkSweepGeneration; friend class CompactibleFreeListSpace; + friend class CMSParMarkTask; + friend class CMSParInitialMarkTask; friend class CMSParRemarkTask; friend class CMSConcMarkingTask; friend class CMSRefProcTaskProxy; friend class CMSRefProcTaskExecutor; friend class ScanMarkedObjectsAgainCarefullyClosure; // for sampling eden
*** 750,759 **** --- 752,762 ---- private: // Support for parallelizing young gen rescan in CMS remark phase Generation* _young_gen; // the younger gen HeapWord** _top_addr; // ... Top of Eden HeapWord** _end_addr; // ... End of Eden + Mutex* _eden_chunk_lock; HeapWord** _eden_chunk_array; // ... Eden partitioning array size_t _eden_chunk_index; // ... top (exclusive) of array size_t _eden_chunk_capacity; // ... max entries in array // Support for parallelizing survivor space rescan
*** 951,960 **** --- 954,964 ---- } } // Support for parallel remark of survivor space void* get_data_recorder(int thr_num); + void sample_eden_chunk(); CMSBitMap* markBitMap() { return &_markBitMap; } void directAllocated(HeapWord* start, size_t size); // main CMS steps and related support
*** 1029,1038 **** --- 1033,1044 ---- // Get the bit map with a perm gen "deadness" information. CMSBitMap* perm_gen_verify_bit_map() { return &_perm_gen_verify_bit_map; } // Initialization errors bool completed_initialization() { return _completed_initialization; } + + void print_eden_and_survivor_chunk_arrays(); }; class CMSExpansionCause : public AllStatic { public: enum Cause {
*** 1315,1324 **** --- 1321,1334 ---- // Support for parallel remark of survivor space void* get_data_recorder(int thr_num) { //Delegate to collector return collector()->get_data_recorder(thr_num); } + void sample_eden_chunk() { + //Delegate to collector + return collector()->sample_eden_chunk(); + } // Printing const char* name() const; virtual const char* short_name() const { return "CMS"; } void print() const;