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;