src/share/vm/memory/defNewGeneration.hpp

changeset 2191
894b1d7c7e01
parent 1907
c18cbe5936b8
child 2243
a7214d79fcf1
     1.1 --- a/src/share/vm/memory/defNewGeneration.hpp	Tue Sep 28 09:51:37 2010 -0700
     1.2 +++ b/src/share/vm/memory/defNewGeneration.hpp	Tue Sep 28 15:56:15 2010 -0700
     1.3 @@ -77,10 +77,10 @@
     1.4    // word being overwritten with a self-forwarding-pointer.
     1.5    void   preserve_mark_if_necessary(oop obj, markOop m);
     1.6  
     1.7 -  // When one is non-null, so is the other.  Together, they each pair is
     1.8 -  // an object with a preserved mark, and its mark value.
     1.9 -  GrowableArray<oop>*     _objs_with_preserved_marks;
    1.10 -  GrowableArray<markOop>* _preserved_marks_of_objs;
    1.11 +  // Together, these keep <object with a preserved mark, mark value> pairs.
    1.12 +  // They should always contain the same number of elements.
    1.13 +  Stack<oop>     _objs_with_preserved_marks;
    1.14 +  Stack<markOop> _preserved_marks_of_objs;
    1.15  
    1.16    // Returns true if the collection can be safely attempted.
    1.17    // If this method returns false, a collection is not
    1.18 @@ -94,11 +94,7 @@
    1.19      _promo_failure_scan_stack_closure = scan_stack_closure;
    1.20    }
    1.21  
    1.22 -  GrowableArray<oop>* _promo_failure_scan_stack;
    1.23 -  GrowableArray<oop>* promo_failure_scan_stack() const {
    1.24 -    return _promo_failure_scan_stack;
    1.25 -  }
    1.26 -  void push_on_promo_failure_scan_stack(oop);
    1.27 +  Stack<oop> _promo_failure_scan_stack;
    1.28    void drain_promo_failure_scan_stack(void);
    1.29    bool _promo_failure_drain_in_progress;
    1.30  
    1.31 @@ -184,8 +180,6 @@
    1.32      void do_void();
    1.33    };
    1.34  
    1.35 -  class FastEvacuateFollowersClosure;
    1.36 -  friend class FastEvacuateFollowersClosure;
    1.37    class FastEvacuateFollowersClosure: public VoidClosure {
    1.38      GenCollectedHeap* _gch;
    1.39      int _level;
    1.40 @@ -336,6 +330,10 @@
    1.41  
    1.42    void verify(bool allow_dirty);
    1.43  
    1.44 +  bool promo_failure_scan_is_complete() const {
    1.45 +    return _promo_failure_scan_stack.is_empty();
    1.46 +  }
    1.47 +
    1.48   protected:
    1.49    // If clear_space is true, clear the survivor spaces.  Eden is
    1.50    // cleared if the minimum size of eden is 0.  If mangle_space

mercurial