8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 * 23 */ 24 25 #ifndef SHARE_GC_SHARED_GC_GLOBALS_HPP 26 #define SHARE_GC_SHARED_GC_GLOBALS_HPP 27 28 #include "gc/serial/serial_globals.hpp" 29 #include "utilities/macros.hpp" 30 #if INCLUDE_ALL_GCS 31 #include "gc/cms/cms_globals.hpp" 32 #include "gc/g1/g1_globals.hpp" 33 #include "gc/parallel/parallel_globals.hpp" 34 #endif 35 36 #define GC_FLAGS(develop, \ 37 develop_pd, \ 38 product, \ 39 product_pd, \ 40 diagnostic, \ 41 diagnostic_pd, \ 42 experimental, \ 43 notproduct, \ 44 manageable, \ 45 product_rw, \ 46 lp64_product, \ 47 range, \ 48 constraint, \ 49 writeable) \ 50 \ 51 ALL_GCS_ONLY(GC_CMS_FLAGS( \ 52 develop, \ 53 develop_pd, \ 54 product, \ 55 product_pd, \ 56 diagnostic, \ 57 diagnostic_pd, \ 58 experimental, \ 59 notproduct, \ 60 manageable, \ 61 product_rw, \ 62 lp64_product, \ 63 range, \ 64 constraint, \ 65 writeable)) \ 66 \ 67 ALL_GCS_ONLY(GC_G1_FLAGS( \ 68 develop, \ 69 develop_pd, \ 70 product, \ 71 product_pd, \ 72 diagnostic, \ 73 diagnostic_pd, \ 74 experimental, \ 75 notproduct, \ 76 manageable, \ 77 product_rw, \ 78 lp64_product, \ 79 range, \ 80 constraint, \ 81 writeable)) \ 82 \ 83 ALL_GCS_ONLY(GC_PARALLEL_FLAGS( \ 84 develop, \ 85 develop_pd, \ 86 product, \ 87 product_pd, \ 88 diagnostic, \ 89 diagnostic_pd, \ 90 experimental, \ 91 notproduct, \ 92 manageable, \ 93 product_rw, \ 94 lp64_product, \ 95 range, \ 96 constraint, \ 97 writeable)) \ 98 \ 99 GC_SERIAL_FLAGS( \ 100 develop, \ 101 develop_pd, \ 102 product, \ 103 product_pd, \ 104 diagnostic, \ 105 diagnostic_pd, \ 106 experimental, \ 107 notproduct, \ 108 manageable, \ 109 product_rw, \ 110 lp64_product, \ 111 range, \ 112 constraint, \ 113 writeable) \ 114 \ 115 /* gc */ \ 116 \ 117 product(bool, UseConcMarkSweepGC, false, \ 118 "Use Concurrent Mark-Sweep GC in the old generation") \ 119 \ 120 product(bool, UseSerialGC, false, \ 121 "Use the Serial garbage collector") \ 122 \ 123 product(bool, UseG1GC, false, \ 124 "Use the Garbage-First garbage collector") \ 125 \ 126 product(bool, UseParallelGC, false, \ 127 "Use the Parallel Scavenge garbage collector") \ 128 \ 129 product(bool, UseParallelOldGC, false, \ 130 "Use the Parallel Old garbage collector") \ 131 \ 132 product(uint, ParallelGCThreads, 0, \ 133 "Number of parallel threads parallel gc will use") \ | 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 * 23 */ 24 25 #ifndef SHARE_GC_SHARED_GC_GLOBALS_HPP 26 #define SHARE_GC_SHARED_GC_GLOBALS_HPP 27 28 #include "utilities/macros.hpp" 29 #if INCLUDE_CMSGC 30 #include "gc/cms/cms_globals.hpp" 31 #endif 32 #if INCLUDE_G1GC 33 #include "gc/g1/g1_globals.hpp" 34 #endif 35 #if INCLUDE_PARALLELGC 36 #include "gc/parallel/parallel_globals.hpp" 37 #endif 38 #if INCLUDE_SERIALGC 39 #include "gc/serial/serial_globals.hpp" 40 #endif 41 42 #define GC_FLAGS(develop, \ 43 develop_pd, \ 44 product, \ 45 product_pd, \ 46 diagnostic, \ 47 diagnostic_pd, \ 48 experimental, \ 49 notproduct, \ 50 manageable, \ 51 product_rw, \ 52 lp64_product, \ 53 range, \ 54 constraint, \ 55 writeable) \ 56 \ 57 CMSGC_ONLY(GC_CMS_FLAGS( \ 58 develop, \ 59 develop_pd, \ 60 product, \ 61 product_pd, \ 62 diagnostic, \ 63 diagnostic_pd, \ 64 experimental, \ 65 notproduct, \ 66 manageable, \ 67 product_rw, \ 68 lp64_product, \ 69 range, \ 70 constraint, \ 71 writeable)) \ 72 \ 73 G1GC_ONLY(GC_G1_FLAGS( \ 74 develop, \ 75 develop_pd, \ 76 product, \ 77 product_pd, \ 78 diagnostic, \ 79 diagnostic_pd, \ 80 experimental, \ 81 notproduct, \ 82 manageable, \ 83 product_rw, \ 84 lp64_product, \ 85 range, \ 86 constraint, \ 87 writeable)) \ 88 \ 89 PARALLELGC_ONLY(GC_PARALLEL_FLAGS( \ 90 develop, \ 91 develop_pd, \ 92 product, \ 93 product_pd, \ 94 diagnostic, \ 95 diagnostic_pd, \ 96 experimental, \ 97 notproduct, \ 98 manageable, \ 99 product_rw, \ 100 lp64_product, \ 101 range, \ 102 constraint, \ 103 writeable)) \ 104 \ 105 SERIALGC_ONLY(GC_SERIAL_FLAGS( \ 106 develop, \ 107 develop_pd, \ 108 product, \ 109 product_pd, \ 110 diagnostic, \ 111 diagnostic_pd, \ 112 experimental, \ 113 notproduct, \ 114 manageable, \ 115 product_rw, \ 116 lp64_product, \ 117 range, \ 118 constraint, \ 119 writeable)) \ 120 \ 121 /* gc */ \ 122 \ 123 product(bool, UseConcMarkSweepGC, false, \ 124 "Use Concurrent Mark-Sweep GC in the old generation") \ 125 \ 126 product(bool, UseSerialGC, false, \ 127 "Use the Serial garbage collector") \ 128 \ 129 product(bool, UseG1GC, false, \ 130 "Use the Garbage-First garbage collector") \ 131 \ 132 product(bool, UseParallelGC, false, \ 133 "Use the Parallel Scavenge garbage collector") \ 134 \ 135 product(bool, UseParallelOldGC, false, \ 136 "Use the Parallel Old garbage collector") \ 137 \ 138 product(uint, ParallelGCThreads, 0, \ 139 "Number of parallel threads parallel gc will use") \ |