equal
deleted
inserted
replaced
72 // Map from young-age-index (0 == not young, 1 is youngest) to |
72 // Map from young-age-index (0 == not young, 1 is youngest) to |
73 // surviving words. base is what we get back from the malloc call |
73 // surviving words. base is what we get back from the malloc call |
74 size_t* _surviving_young_words_base; |
74 size_t* _surviving_young_words_base; |
75 // this points into the array, as we use the first few entries for padding |
75 // this points into the array, as we use the first few entries for padding |
76 size_t* _surviving_young_words; |
76 size_t* _surviving_young_words; |
77 |
77 // Number of elements in the array above. |
|
78 size_t _surviving_words_length; |
78 // Indicates whether in the last generation (old) there is no more space |
79 // Indicates whether in the last generation (old) there is no more space |
79 // available for allocation. |
80 // available for allocation. |
80 bool _old_gen_is_full; |
81 bool _old_gen_is_full; |
81 |
82 |
82 #define PADDING_ELEM_NUM (DEFAULT_CACHE_LINE_SIZE / sizeof(size_t)) |
83 #define PADDING_ELEM_NUM (DEFAULT_CACHE_LINE_SIZE / sizeof(size_t)) |
150 uint worker_id() { return _worker_id; } |
151 uint worker_id() { return _worker_id; } |
151 |
152 |
152 size_t lab_waste_words() const; |
153 size_t lab_waste_words() const; |
153 size_t lab_undo_waste_words() const; |
154 size_t lab_undo_waste_words() const; |
154 |
155 |
155 void flush(size_t* surviving_young_words); |
156 // Pass locally gathered statistics to global state. Returns the total number of |
|
157 // HeapWords copied. |
|
158 size_t flush(size_t* surviving_young_words); |
156 |
159 |
157 private: |
160 private: |
158 #define G1_PARTIAL_ARRAY_MASK 0x2 |
161 #define G1_PARTIAL_ARRAY_MASK 0x2 |
159 |
162 |
160 inline bool has_partial_array_mask(oop* ref) const { |
163 inline bool has_partial_array_mask(oop* ref) const { |