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

Print this page

        

*** 734,743 **** --- 734,745 ---- HeapWord** _top_addr; // ... Top of Eden HeapWord** _end_addr; // ... End of Eden 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 + // This is meant to be a boolean flag, but jbyte for CAS. + jbyte _eden_chunk_sampling_active; // Support for parallelizing survivor space rescan HeapWord** _survivor_chunk_array; size_t _survivor_chunk_index; size_t _survivor_chunk_capacity;
*** 928,937 **** --- 930,940 ---- } } // 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
*** 1005,1014 **** --- 1008,1019 ---- CMSMarkStack* verification_mark_stack() { return &_markStack; } CMSBitMap* verification_mark_bm() { return &_verification_mark_bm; } // Initialization errors bool completed_initialization() { return _completed_initialization; } + + void print_eden_and_survivor_chunk_arrays(); }; class CMSExpansionCause : public AllStatic { public: enum Cause {
*** 1296,1305 **** --- 1301,1314 ---- // 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;