< prev index next >

src/hotspot/share/gc/parallel/psCardTable.hpp

8224665: Parallel GC: Use WorkGang (7: remove task manager)

13  *                                                                                                                         
14  * You should have received a copy of the GNU General Public License version                                               
15  * 2 along with this work; if not, write to the Free Software Foundation,                                                  
16  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.                                                           
17  *                                                                                                                         
18  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA                                                 
19  * or visit www.oracle.com if you need additional information or have any                                                  
20  * questions.                                                                                                              
21  *                                                                                                                         
22  */                                                                                                                        
23 
24 #ifndef SHARE_GC_PARALLEL_PSCARDTABLE_HPP                                                                                  
25 #define SHARE_GC_PARALLEL_PSCARDTABLE_HPP                                                                                  
26 
27 #include "gc/shared/cardTable.hpp"                                                                                         
28 #include "oops/oop.hpp"                                                                                                    
29 
30 class MutableSpace;                                                                                                        
31 class ObjectStartArray;                                                                                                    
32 class PSPromotionManager;                                                                                                  
33 class GCTaskQueue;                                                                                                         
34 
35 class PSCardTable: public CardTable {                                                                                      
36  private:                                                                                                                  
37   // Support methods for resizing the card table.                                                                          
38   // resize_commit_uncommit() returns true if the pages were committed or                                                  
39   // uncommitted                                                                                                           
40   bool resize_commit_uncommit(int changed_region, MemRegion new_region);                                                   
41   void resize_update_card_table_entries(int changed_region,                                                                
42                                         MemRegion new_region);                                                             
43   void resize_update_committed_table(int changed_region, MemRegion new_region);                                            
44   void resize_update_covered_table(int changed_region, MemRegion new_region);                                              
45 
46   void verify_all_young_refs_precise_helper(MemRegion mr);                                                                 
47 
48   enum ExtendedCardValue {                                                                                                 
49     youngergen_card   = CT_MR_BS_last_reserved + 1,                                                                        
50     verify_card       = CT_MR_BS_last_reserved + 5                                                                         
51   };                                                                                                                       
52 

13  *
14  * You should have received a copy of the GNU General Public License version
15  * 2 along with this work; if not, write to the Free Software Foundation,
16  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
17  *
18  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
19  * or visit www.oracle.com if you need additional information or have any
20  * questions.
21  *
22  */
23 
24 #ifndef SHARE_GC_PARALLEL_PSCARDTABLE_HPP
25 #define SHARE_GC_PARALLEL_PSCARDTABLE_HPP
26 
27 #include "gc/shared/cardTable.hpp"
28 #include "oops/oop.hpp"
29 
30 class MutableSpace;
31 class ObjectStartArray;
32 class PSPromotionManager;

33 
34 class PSCardTable: public CardTable {
35  private:
36   // Support methods for resizing the card table.
37   // resize_commit_uncommit() returns true if the pages were committed or
38   // uncommitted
39   bool resize_commit_uncommit(int changed_region, MemRegion new_region);
40   void resize_update_card_table_entries(int changed_region,
41                                         MemRegion new_region);
42   void resize_update_committed_table(int changed_region, MemRegion new_region);
43   void resize_update_covered_table(int changed_region, MemRegion new_region);
44 
45   void verify_all_young_refs_precise_helper(MemRegion mr);
46 
47   enum ExtendedCardValue {
48     youngergen_card   = CT_MR_BS_last_reserved + 1,
49     verify_card       = CT_MR_BS_last_reserved + 5
50   };
51 
< prev index next >