1 /* 2 * Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 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 #ifndef SHARE_GC_Z_Z_GLOBALS_HPP 25 #define SHARE_GC_Z_Z_GLOBALS_HPP 26 27 #include "utilities/macros.hpp" 28 #if INCLUDE_ZGC 29 #include "runtime/flags/jvmFlag.hpp" 30 PRODUCT_FLAG(double, ZAllocationSpikeTolerance, 2.0, JVMFlag::DEFAULT, 31 "Allocation spike tolerance factor"); 32 33 PRODUCT_FLAG(double, ZFragmentationLimit, 25.0, JVMFlag::DEFAULT, 34 "Maximum allowed heap fragmentation"); 35 36 PRODUCT_FLAG(size_t, ZMarkStackSpaceLimit, 8*G, JVMFlag::RANGE, 37 "Maximum number of bytes allocated for mark stacks"); 38 FLAG_RANGE( ZMarkStackSpaceLimit, 32*M, 1024*G); 39 40 PRODUCT_FLAG(uint, ZCollectionInterval, 0, JVMFlag::DEFAULT, 41 "Force GC at a fixed time interval (in seconds)"); 42 43 PRODUCT_FLAG(bool, ZProactive, true, JVMFlag::DEFAULT, 44 "Enable proactive GC cycles"); 45 46 PRODUCT_FLAG(bool, ZUncommit, true, JVMFlag::DEFAULT, 47 "Uncommit unused memory"); 48 49 PRODUCT_FLAG(uintx, ZUncommitDelay, 5 * 60, JVMFlag::DEFAULT, 50 "Uncommit memory if it has been unused for the specified " 51 "amount of time (in seconds)"); 52 53 PRODUCT_FLAG(uint, ZStatisticsInterval, 10, JVMFlag::DIAGNOSTIC | JVMFlag::RANGE, 54 "Time between statistics print outs (in seconds)"); 55 FLAG_RANGE( ZStatisticsInterval, 1, (uint)-1); 56 57 PRODUCT_FLAG(bool, ZVerifyViews, false, JVMFlag::DIAGNOSTIC, 58 "Verify heap view accesses"); 59 60 PRODUCT_FLAG(bool, ZVerifyRoots, trueInDebug, JVMFlag::DIAGNOSTIC, 61 "Verify roots"); 62 63 PRODUCT_FLAG(bool, ZVerifyObjects, false, JVMFlag::DIAGNOSTIC, 64 "Verify objects"); 65 66 PRODUCT_FLAG(bool, ZVerifyMarking, trueInDebug, JVMFlag::DIAGNOSTIC, 67 "Verify marking stacks"); 68 69 PRODUCT_FLAG(bool, ZVerifyForwarding, false, JVMFlag::DIAGNOSTIC, 70 "Verify forwarding tables"); 71 #endif // INCLUDE_ZGC 72 73 #endif // SHARE_GC_Z_Z_GLOBALS_HPP