185 inline void deal_with_reference(narrowOop* ref_to_scan); |
185 inline void deal_with_reference(narrowOop* ref_to_scan); |
186 |
186 |
187 inline void dispatch_reference(StarTask ref); |
187 inline void dispatch_reference(StarTask ref); |
188 |
188 |
189 // Tries to allocate word_sz in the PLAB of the next "generation" after trying to |
189 // Tries to allocate word_sz in the PLAB of the next "generation" after trying to |
190 // allocate into dest. State is the original (source) cset state for the object |
190 // allocate into dest. Previous_plab_refill_failed indicates whether previous |
191 // that is allocated for. Previous_plab_refill_failed indicates whether previously |
191 // PLAB refill for the original (source) object failed. |
192 // a PLAB refill into "state" failed. |
|
193 // Returns a non-NULL pointer if successful, and updates dest if required. |
192 // Returns a non-NULL pointer if successful, and updates dest if required. |
194 // Also determines whether we should continue to try to allocate into the various |
193 // Also determines whether we should continue to try to allocate into the various |
195 // generations or just end trying to allocate. |
194 // generations or just end trying to allocate. |
196 HeapWord* allocate_in_next_plab(G1HeapRegionAttr const region_attr, |
195 HeapWord* allocate_in_next_plab(G1HeapRegionAttr* dest, |
197 G1HeapRegionAttr* dest, |
|
198 size_t word_sz, |
196 size_t word_sz, |
199 bool previous_plab_refill_failed); |
197 bool previous_plab_refill_failed, |
|
198 uint node_index); |
200 |
199 |
201 inline G1HeapRegionAttr next_region_attr(G1HeapRegionAttr const region_attr, markWord const m, uint& age); |
200 inline G1HeapRegionAttr next_region_attr(G1HeapRegionAttr const region_attr, markWord const m, uint& age); |
202 |
201 |
203 void report_promotion_event(G1HeapRegionAttr const dest_attr, |
202 void report_promotion_event(G1HeapRegionAttr const dest_attr, |
204 oop const old, size_t word_sz, uint age, |
203 oop const old, size_t word_sz, uint age, |
205 HeapWord * const obj_ptr) const; |
204 HeapWord * const obj_ptr, uint node_index) const; |
206 |
205 |
207 inline bool needs_partial_trimming() const; |
206 inline bool needs_partial_trimming() const; |
208 inline bool is_partially_trimmed() const; |
207 inline bool is_partially_trimmed() const; |
209 |
208 |
210 inline void trim_queue_to_threshold(uint threshold); |
209 inline void trim_queue_to_threshold(uint threshold); |