src/hotspot/share/utilities/macros.hpp
branchepsilon-gc-branch
changeset 56533 28a4f284ad83
parent 49982 9042ffe5b7fe
child 56535 532bc255382f
equal deleted inserted replaced
56516:ad37b6a5cd76 56533:28a4f284ad83
   129 #else
   129 #else
   130 #define NOT_MANAGEMENT_RETURN        {}
   130 #define NOT_MANAGEMENT_RETURN        {}
   131 #define NOT_MANAGEMENT_RETURN_(code) { return code; }
   131 #define NOT_MANAGEMENT_RETURN_(code) { return code; }
   132 #endif // INCLUDE_MANAGEMENT
   132 #endif // INCLUDE_MANAGEMENT
   133 
   133 
   134 /*
   134 #ifndef INCLUDE_CMSGC
   135  * When INCLUDE_ALL_GCS is false the only garbage collectors
   135 #define INCLUDE_CMSGC 1
   136  * included in the JVM are defaultNewGeneration and markCompact.
   136 #endif // INCLUDE_CMSGC
   137  *
   137 
   138  * When INCLUDE_ALL_GCS is true all garbage collectors are
   138 #if INCLUDE_CMSGC
   139  * included in the JVM.
   139 #define CMSGC_ONLY(x) x
   140  */
   140 #define CMSGC_ONLY_ARG(arg) arg,
   141 #ifndef INCLUDE_ALL_GCS
   141 #define NOT_CMSGC(x)
   142 #define INCLUDE_ALL_GCS 1
   142 #define NOT_CMSGC_RETURN        /* next token must be ; */
   143 #endif // INCLUDE_ALL_GCS
   143 #define NOT_CMSGC_RETURN_(code) /* next token must be ; */
   144 
   144 #else
   145 #if INCLUDE_ALL_GCS
   145 #define CMSGC_ONLY(x)
   146 #define ALL_GCS_ONLY(x) x
   146 #define CMSGC_ONLY_ARG(x)
   147 #define NOT_ALL_GCS_RETURN        /* next token must be ; */
   147 #define NOT_CMSGC(x) x
   148 #define NOT_ALL_GCS_RETURN_(code) /* next token must be ; */
   148 #define NOT_CMSGC_RETURN        {}
   149 #else
   149 #define NOT_CMSGC_RETURN_(code) { return code; }
   150 #define ALL_GCS_ONLY(x)
   150 #endif // INCLUDE_CMSGC
   151 #define NOT_ALL_GCS_RETURN        {}
   151 
   152 #define NOT_ALL_GCS_RETURN_(code) { return code; }
   152 #ifndef INCLUDE_G1GC
   153 #endif // INCLUDE_ALL_GCS
   153 #define INCLUDE_G1GC 1
       
   154 #endif // INCLUDE_G1GC
       
   155 
       
   156 #if INCLUDE_G1GC
       
   157 #define G1GC_ONLY(x) x
       
   158 #define G1GC_ONLY_ARG(arg) arg,
       
   159 #define NOT_G1GC(x)
       
   160 #define NOT_G1GC_RETURN        /* next token must be ; */
       
   161 #define NOT_G1GC_RETURN_(code) /* next token must be ; */
       
   162 #else
       
   163 #define G1GC_ONLY(x)
       
   164 #define G1GC_ONLY_ARG(arg)
       
   165 #define NOT_G1GC(x) x
       
   166 #define NOT_G1GC_RETURN        {}
       
   167 #define NOT_G1GC_RETURN_(code) { return code; }
       
   168 #endif // INCLUDE_G1GC
       
   169 
       
   170 #ifndef INCLUDE_PARALLELGC
       
   171 #define INCLUDE_PARALLELGC 1
       
   172 #endif // INCLUDE_PARALLELGC
       
   173 
       
   174 #if INCLUDE_PARALLELGC
       
   175 #define PARALLELGC_ONLY(x) x
       
   176 #define PARALLELGC_ONLY_ARG(arg) arg,
       
   177 #define NOT_PARALLELGC(x)
       
   178 #define NOT_PARALLELGC_RETURN        /* next token must be ; */
       
   179 #define NOT_PARALLELGC_RETURN_(code) /* next token must be ; */
       
   180 #else
       
   181 #define PARALLELGC_ONLY(x)
       
   182 #define PARALLELGC_ONLY_ARG(arg)
       
   183 #define NOT_PARALLELGC(x) x
       
   184 #define NOT_PARALLELGC_RETURN        {}
       
   185 #define NOT_PARALLELGC_RETURN_(code) { return code; }
       
   186 #endif // INCLUDE_PARALLELGC
       
   187 
       
   188 #ifndef INCLUDE_SERIALGC
       
   189 #define INCLUDE_SERIALGC 1
       
   190 #endif // INCLUDE_SERIALGC
       
   191 
       
   192 #if INCLUDE_SERIALGC
       
   193 #define SERIALGC_ONLY(x) x
       
   194 #define SERIALGC_ONLY_ARG(arg) arg,
       
   195 #define NOT_SERIALGC(x)
       
   196 #define NOT_SERIALGC_RETURN        /* next token must be ; */
       
   197 #define NOT_SERIALGC_RETURN_(code) /* next token must be ; */
       
   198 #else
       
   199 #define SERIALGC_ONLY(x)
       
   200 #define SERIALGC_ONLY_ARG(arg)
       
   201 #define NOT_SERIALGC(x) x
       
   202 #define NOT_SERIALGC_RETURN        {}
       
   203 #define NOT_SERIALGC_RETURN_(code) { return code; }
       
   204 #endif // INCLUDE_SERIALGC
       
   205 
       
   206 #ifndef INCLUDE_EPSILONGC
       
   207 #define INCLUDE_EPSILONGC 1
       
   208 #endif // INCLUDE_EPSILONGC
       
   209 
       
   210 #if INCLUDE_EPSILONGC
       
   211 #define EPSILONGC_ONLY(x) x
       
   212 #define EPSILONGC_ONLY_ARG(arg) arg,
       
   213 #define NOT_EPSILONGC(x)
       
   214 #define NOT_EPSILONGC_RETURN        /* next token must be ; */
       
   215 #define NOT_EPSILONGC_RETURN_(code) /* next token must be ; */
       
   216 #else
       
   217 #define EPSILONGC_ONLY(x)
       
   218 #define EPSILONGC_ONLY_ARG(arg)
       
   219 #define NOT_EPSILONGC(x) x
       
   220 #define NOT_EPSILONGC_RETURN        {}
       
   221 #define NOT_EPSILONGC_RETURN_(code) { return code; }
       
   222 #endif // INCLUDE_EPSILONGC
       
   223 
       
   224 #if INCLUDE_CMSGC || INCLUDE_G1GC || INCLUDE_PARALLELGC || INCLUDE_EPSILONGC
       
   225 #define INCLUDE_NOT_ONLY_SERIALGC 1
       
   226 #else
       
   227 #define INCLUDE_NOT_ONLY_SERIALGC 0
       
   228 #endif
       
   229 
       
   230 #define INCLUDE_OOP_OOP_ITERATE_BACKWARDS INCLUDE_NOT_ONLY_SERIALGC
   154 
   231 
   155 #ifndef INCLUDE_NMT
   232 #ifndef INCLUDE_NMT
   156 #define INCLUDE_NMT 1
   233 #define INCLUDE_NMT 1
   157 #endif // INCLUDE_NMT
   234 #endif // INCLUDE_NMT
   158 
   235 
   170 
   247 
   171 #ifndef INCLUDE_JVMCI
   248 #ifndef INCLUDE_JVMCI
   172 #define INCLUDE_JVMCI 1
   249 #define INCLUDE_JVMCI 1
   173 #endif
   250 #endif
   174 
   251 
   175 #ifdef INCLUDE_AOT
   252 #ifndef INCLUDE_AOT
   176 # if INCLUDE_AOT && !(INCLUDE_JVMCI)
   253 #define INCLUDE_AOT 1
   177 #   error "Must have JVMCI for AOT"
   254 #endif
   178 # endif
   255 
   179 #else
   256 #if INCLUDE_AOT && !INCLUDE_JVMCI
   180 # define INCLUDE_AOT 0
   257 #  error "Must have JVMCI for AOT"
   181 #endif
   258 #endif
   182 
   259 
   183 #if INCLUDE_JVMCI
   260 #if INCLUDE_JVMCI
   184 #define JVMCI_ONLY(code) code
   261 #define JVMCI_ONLY(code) code
   185 #define NOT_JVMCI(code)
   262 #define NOT_JVMCI(code)
   522   #define ATOMIC_SHORT_PAIR(atomic_decl, non_atomic_decl)  \
   599   #define ATOMIC_SHORT_PAIR(atomic_decl, non_atomic_decl)  \
   523     atomic_decl;                                           \
   600     atomic_decl;                                           \
   524     non_atomic_decl
   601     non_atomic_decl
   525 #endif
   602 #endif
   526 
   603 
   527 #if INCLUDE_CDS && INCLUDE_ALL_GCS && defined(_LP64) && !defined(_WINDOWS)
   604 #if INCLUDE_CDS && INCLUDE_G1GC && defined(_LP64) && !defined(_WINDOWS)
   528 #define INCLUDE_CDS_JAVA_HEAP 1
   605 #define INCLUDE_CDS_JAVA_HEAP 1
   529 #define CDS_JAVA_HEAP_ONLY(x) x
   606 #define CDS_JAVA_HEAP_ONLY(x) x
   530 #define NOT_CDS_JAVA_HEAP(x)
   607 #define NOT_CDS_JAVA_HEAP(x)
   531 #define NOT_CDS_JAVA_HEAP_RETURN
   608 #define NOT_CDS_JAVA_HEAP_RETURN
   532 #define NOT_CDS_JAVA_HEAP_RETURN_(code)
   609 #define NOT_CDS_JAVA_HEAP_RETURN_(code)