Mercurial > hg > truffle
comparison src/share/vm/memory/defNewGeneration.hpp @ 1888:a7214d79fcf1
6896603: CMS/GCH: collection_attempt_is_safe() ergo should use more recent data
Summary: Deprecated HandlePromotionFailure, removing the ability to turn off that feature, did away with one epoch look-ahead when deciding if a scavenge is likely to fail, relying on current data.
Reviewed-by: jmasa, johnc, poonam
author | ysr |
---|---|
date | Sat, 23 Oct 2010 23:03:49 -0700 |
parents | 894b1d7c7e01 |
children | f95d63e2154a |
comparison
equal
deleted
inserted
replaced
1887:cd3ef3fd20dd | 1888:a7214d79fcf1 |
---|---|
80 // Together, these keep <object with a preserved mark, mark value> pairs. | 80 // Together, these keep <object with a preserved mark, mark value> pairs. |
81 // They should always contain the same number of elements. | 81 // They should always contain the same number of elements. |
82 Stack<oop> _objs_with_preserved_marks; | 82 Stack<oop> _objs_with_preserved_marks; |
83 Stack<markOop> _preserved_marks_of_objs; | 83 Stack<markOop> _preserved_marks_of_objs; |
84 | 84 |
85 // Returns true if the collection can be safely attempted. | |
86 // If this method returns false, a collection is not | |
87 // guaranteed to fail but the system may not be able | |
88 // to recover from the failure. | |
89 bool collection_attempt_is_safe(); | |
90 | |
91 // Promotion failure handling | 85 // Promotion failure handling |
92 OopClosure *_promo_failure_scan_stack_closure; | 86 OopClosure *_promo_failure_scan_stack_closure; |
93 void set_promo_failure_scan_stack_closure(OopClosure *scan_stack_closure) { | 87 void set_promo_failure_scan_stack_closure(OopClosure *scan_stack_closure) { |
94 _promo_failure_scan_stack_closure = scan_stack_closure; | 88 _promo_failure_scan_stack_closure = scan_stack_closure; |
95 } | 89 } |
302 // Reset for contribution of "to-space". | 296 // Reset for contribution of "to-space". |
303 virtual void reset_scratch(); | 297 virtual void reset_scratch(); |
304 | 298 |
305 // GC support | 299 // GC support |
306 virtual void compute_new_size(); | 300 virtual void compute_new_size(); |
301 | |
302 // Returns true if the collection is likely to be safely | |
303 // completed. Even if this method returns true, a collection | |
304 // may not be guaranteed to succeed, and the system should be | |
305 // able to safely unwind and recover from that failure, albeit | |
306 // at some additional cost. Override superclass's implementation. | |
307 virtual bool collection_attempt_is_safe(); | |
308 | |
307 virtual void collect(bool full, | 309 virtual void collect(bool full, |
308 bool clear_all_soft_refs, | 310 bool clear_all_soft_refs, |
309 size_t size, | 311 size_t size, |
310 bool is_tlab); | 312 bool is_tlab); |
311 HeapWord* expand_and_allocate(size_t size, | 313 HeapWord* expand_and_allocate(size_t size, |