src/share/vm/memory/defNewGeneration.hpp

changeset 704
850fdf70db2b
parent 631
d1605aabd0a1
parent 698
12eea04c8b06
child 1907
c18cbe5936b8
     1.1 --- a/src/share/vm/memory/defNewGeneration.hpp	Fri Jul 25 11:29:03 2008 -0700
     1.2 +++ b/src/share/vm/memory/defNewGeneration.hpp	Mon Jul 28 15:30:23 2008 -0700
     1.3 @@ -279,6 +279,9 @@
     1.4    virtual void gc_prologue(bool full);
     1.5    virtual void gc_epilogue(bool full);
     1.6  
     1.7 +  // Save the tops for eden, from, and to
     1.8 +  virtual void record_spaces_top();
     1.9 +
    1.10    // Doesn't require additional work during GC prologue and epilogue
    1.11    virtual bool performs_in_place_marking() const { return false; }
    1.12  
    1.13 @@ -299,9 +302,12 @@
    1.14  
    1.15    // For non-youngest collection, the DefNewGeneration can contribute
    1.16    // "to-space".
    1.17 -  void contribute_scratch(ScratchBlock*& list, Generation* requestor,
    1.18 +  virtual void contribute_scratch(ScratchBlock*& list, Generation* requestor,
    1.19                            size_t max_alloc_words);
    1.20  
    1.21 +  // Reset for contribution of "to-space".
    1.22 +  virtual void reset_scratch();
    1.23 +
    1.24    // GC support
    1.25    virtual void compute_new_size();
    1.26    virtual void collect(bool   full,
    1.27 @@ -331,7 +337,12 @@
    1.28    void verify(bool allow_dirty);
    1.29  
    1.30   protected:
    1.31 -  void compute_space_boundaries(uintx minimum_eden_size);
    1.32 +  // If clear_space is true, clear the survivor spaces.  Eden is
    1.33 +  // cleared if the minimum size of eden is 0.  If mangle_space
    1.34 +  // is true, also mangle the space in debug mode.
    1.35 +  void compute_space_boundaries(uintx minimum_eden_size,
    1.36 +                                bool clear_space,
    1.37 +                                bool mangle_space);
    1.38    // Scavenge support
    1.39    void swap_spaces();
    1.40  };

mercurial