src/share/vm/gc_implementation/g1/concurrentMark.hpp

changeset 2910
69293e516993
parent 2848
cd8e33b2a8ad
child 2968
842b840e67db
     1.1 --- a/src/share/vm/gc_implementation/g1/concurrentMark.hpp	Tue May 03 10:30:34 2011 -0700
     1.2 +++ b/src/share/vm/gc_implementation/g1/concurrentMark.hpp	Tue May 17 00:56:01 2011 -0700
     1.3 @@ -809,10 +809,19 @@
     1.4  
     1.5    // It indicates that a new collection set is being chosen.
     1.6    void newCSet();
     1.7 +
     1.8    // It registers a collection set heap region with CM. This is used
     1.9    // to determine whether any heap regions are located above the finger.
    1.10    void registerCSetRegion(HeapRegion* hr);
    1.11  
    1.12 +  // Resets the region fields of any active CMTask whose region fields
    1.13 +  // are in the collection set (i.e. the region currently claimed by
    1.14 +  // the CMTask will be evacuated and may be used, subsequently, as
    1.15 +  // an alloc region). When this happens the region fields in the CMTask
    1.16 +  // are stale and, hence, should be cleared causing the worker thread
    1.17 +  // to claim a new region.
    1.18 +  void reset_active_task_region_fields_in_cset();
    1.19 +
    1.20    // Registers the maximum region-end associated with a set of
    1.21    // regions with CM. Again this is used to determine whether any
    1.22    // heap regions are located above the finger.
    1.23 @@ -1039,9 +1048,6 @@
    1.24    void setup_for_region(HeapRegion* hr);
    1.25    // it brings up-to-date the limit of the region
    1.26    void update_region_limit();
    1.27 -  // it resets the local fields after a task has finished scanning a
    1.28 -  // region
    1.29 -  void giveup_current_region();
    1.30  
    1.31    // called when either the words scanned or the refs visited limit
    1.32    // has been reached
    1.33 @@ -1094,6 +1100,11 @@
    1.34    // exit the termination protocol after it's entered it.
    1.35    virtual bool should_exit_termination();
    1.36  
    1.37 +  // Resets the local region fields after a task has finished scanning a
    1.38 +  // region; or when they have become stale as a result of the region
    1.39 +  // being evacuated.
    1.40 +  void giveup_current_region();
    1.41 +
    1.42    HeapWord* finger()            { return _finger; }
    1.43  
    1.44    bool has_aborted()            { return _has_aborted; }

mercurial