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

changeset 5459
7b06ae405d7b
parent 5369
71180a6e5080
child 5461
ca9dedeebdec
equal deleted inserted replaced
5408:2285b4a0a4e6 5459:7b06ae405d7b
747 private: 747 private:
748 // Support for parallelizing young gen rescan in CMS remark phase 748 // Support for parallelizing young gen rescan in CMS remark phase
749 Generation* _young_gen; // the younger gen 749 Generation* _young_gen; // the younger gen
750 HeapWord** _top_addr; // ... Top of Eden 750 HeapWord** _top_addr; // ... Top of Eden
751 HeapWord** _end_addr; // ... End of Eden 751 HeapWord** _end_addr; // ... End of Eden
752 Mutex* _eden_chunk_lock;
752 HeapWord** _eden_chunk_array; // ... Eden partitioning array 753 HeapWord** _eden_chunk_array; // ... Eden partitioning array
753 size_t _eden_chunk_index; // ... top (exclusive) of array 754 size_t _eden_chunk_index; // ... top (exclusive) of array
754 size_t _eden_chunk_capacity; // ... max entries in array 755 size_t _eden_chunk_capacity; // ... max entries in array
755 756
756 // Support for parallelizing survivor space rescan 757 // Support for parallelizing survivor space rescan
948 } 949 }
949 } 950 }
950 951
951 // Support for parallel remark of survivor space 952 // Support for parallel remark of survivor space
952 void* get_data_recorder(int thr_num); 953 void* get_data_recorder(int thr_num);
954 void sample_eden_chunk();
953 955
954 CMSBitMap* markBitMap() { return &_markBitMap; } 956 CMSBitMap* markBitMap() { return &_markBitMap; }
955 void directAllocated(HeapWord* start, size_t size); 957 void directAllocated(HeapWord* start, size_t size);
956 958
957 // main CMS steps and related support 959 // main CMS steps and related support
1025 CMSMarkStack* verification_mark_stack() { return &_markStack; } 1027 CMSMarkStack* verification_mark_stack() { return &_markStack; }
1026 CMSBitMap* verification_mark_bm() { return &_verification_mark_bm; } 1028 CMSBitMap* verification_mark_bm() { return &_verification_mark_bm; }
1027 1029
1028 // Initialization errors 1030 // Initialization errors
1029 bool completed_initialization() { return _completed_initialization; } 1031 bool completed_initialization() { return _completed_initialization; }
1032
1033 void print_eden_and_survivor_chunk_arrays();
1030 }; 1034 };
1031 1035
1032 class CMSExpansionCause : public AllStatic { 1036 class CMSExpansionCause : public AllStatic {
1033 public: 1037 public:
1034 enum Cause { 1038 enum Cause {
1314 1318
1315 // Support for parallel remark of survivor space 1319 // Support for parallel remark of survivor space
1316 void* get_data_recorder(int thr_num) { 1320 void* get_data_recorder(int thr_num) {
1317 //Delegate to collector 1321 //Delegate to collector
1318 return collector()->get_data_recorder(thr_num); 1322 return collector()->get_data_recorder(thr_num);
1323 }
1324 void sample_eden_chunk() {
1325 //Delegate to collector
1326 return collector()->sample_eden_chunk();
1319 } 1327 }
1320 1328
1321 // Printing 1329 // Printing
1322 const char* name() const; 1330 const char* name() const;
1323 virtual const char* short_name() const { return "CMS"; } 1331 virtual const char* short_name() const { return "CMS"; }

mercurial