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,