< prev index next >

src/hotspot/share/gc/shared/barrierSetConfig.hpp

8199604_cardtablemodrefbs_rename

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_VM_GC_SHARED_BARRIERSETCONFIG_HPP                                                                                      
25 #define SHARE_VM_GC_SHARED_BARRIERSETCONFIG_HPP                                                                                      
26 
27 #include "utilities/macros.hpp"                                                                                                      
28 
29 #if INCLUDE_ALL_GCS                                                                                                                  
30 #define FOR_EACH_CONCRETE_INCLUDE_ALL_GC_BARRIER_SET_DO(f) \                                                                         
31   f(G1BarrierSet)                                                                                                                    
32 #else                                                                                                                                
33 #define FOR_EACH_CONCRETE_INCLUDE_ALL_GC_BARRIER_SET_DO(f)                                                                           
34 #endif                                                                                                                               
35 
36 // Do something for each concrete barrier set part of the build.                                                                     
37 #define FOR_EACH_CONCRETE_BARRIER_SET_DO(f)          \                                                                               
38   f(CardTableModRef)                                 \                                                                               
39   FOR_EACH_CONCRETE_INCLUDE_ALL_GC_BARRIER_SET_DO(f)                                                                                 
40 
41 #define FOR_EACH_ABSTRACT_BARRIER_SET_DO(f)          \                                                                               
42   f(ModRef)                                                                                                                          
43 
44 // Do something for each known barrier set.                                                                                          
45 #define FOR_EACH_BARRIER_SET_DO(f)    \                                                                                              
46   FOR_EACH_ABSTRACT_BARRIER_SET_DO(f) \                                                                                              
47   FOR_EACH_CONCRETE_BARRIER_SET_DO(f)                                                                                                
48 
49 // To enable runtime-resolution of GC barriers on primitives, please                                                                 
50 // define SUPPORT_BARRIER_ON_PRIMITIVES.                                                                                             
51 #ifdef SUPPORT_BARRIER_ON_PRIMITIVES                                                                                                 
52 #define ACCESS_PRIMITIVE_SUPPORT INTERNAL_BT_BARRIER_ON_PRIMITIVES                                                                   
53 #else                                                                                                                                
54 #define ACCESS_PRIMITIVE_SUPPORT INTERNAL_EMPTY                                                                                      
55 #endif                                                                                                                               
56 
57 #ifdef SUPPORT_NOT_TO_SPACE_INVARIANT                                                                                                

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_VM_GC_SHARED_BARRIERSETCONFIG_HPP
25 #define SHARE_VM_GC_SHARED_BARRIERSETCONFIG_HPP
26 
27 #include "utilities/macros.hpp"
28 
29 #if INCLUDE_ALL_GCS
30 #define FOR_EACH_CONCRETE_INCLUDE_ALL_GC_BARRIER_SET_DO(f) \
31   f(G1BarrierSet)
32 #else
33 #define FOR_EACH_CONCRETE_INCLUDE_ALL_GC_BARRIER_SET_DO(f)
34 #endif
35 
36 // Do something for each concrete barrier set part of the build.
37 #define FOR_EACH_CONCRETE_BARRIER_SET_DO(f)          \
38   f(CardTableBarrierSet)                             \
39   FOR_EACH_CONCRETE_INCLUDE_ALL_GC_BARRIER_SET_DO(f)
40 
41 #define FOR_EACH_ABSTRACT_BARRIER_SET_DO(f)          \
42   f(ModRef)
43 
44 // Do something for each known barrier set.
45 #define FOR_EACH_BARRIER_SET_DO(f)    \
46   FOR_EACH_ABSTRACT_BARRIER_SET_DO(f) \
47   FOR_EACH_CONCRETE_BARRIER_SET_DO(f)
48 
49 // To enable runtime-resolution of GC barriers on primitives, please
50 // define SUPPORT_BARRIER_ON_PRIMITIVES.
51 #ifdef SUPPORT_BARRIER_ON_PRIMITIVES
52 #define ACCESS_PRIMITIVE_SUPPORT INTERNAL_BT_BARRIER_ON_PRIMITIVES
53 #else
54 #define ACCESS_PRIMITIVE_SUPPORT INTERNAL_EMPTY
55 #endif
56 
57 #ifdef SUPPORT_NOT_TO_SPACE_INVARIANT
< prev index next >