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 #define GC_Z_FLAGS(develop, \ 28 develop_pd, \ 29 product, \ 30 product_pd, \ 31 diagnostic, \ 32 diagnostic_pd, \ 33 experimental, \ 34 notproduct, \ 35 manageable, \ 36 product_rw, \ 37 lp64_product, \ 38 range, \ 39 constraint) \ 40 \ 41 product(double, ZAllocationSpikeTolerance, 2.0, \ 42 "Allocation spike tolerance factor") \ 43 \ 44 product(double, ZFragmentationLimit, 25.0, \ 45 "Maximum allowed heap fragmentation") \ 46 \ 47 product(size_t, ZMarkStackSpaceLimit, 8*G, \ 48 "Maximum number of bytes allocated for mark stacks") \ 49 range(32*M, 1024*G) \ 50 \ 51 product(uint, ZCollectionInterval, 0, \ 52 "Force GC at a fixed time interval (in seconds)") \ 53 \ 54 product(bool, ZProactive, true, \ 55 "Enable proactive GC cycles") \ 56 \ 57 product(bool, ZUncommit, true, \ 58 "Uncommit unused memory") \ 59 \ 60 product(uintx, ZUncommitDelay, 5 * 60, \ 61 "Uncommit memory if it has been unused for the specified " \ 62 "amount of time (in seconds)") \ 63 \ 64 diagnostic(uint, ZStatisticsInterval, 10, \ 65 "Time between statistics print outs (in seconds)") \ 66 range(1, (uint)-1) \ 67 \ 68 diagnostic(bool, ZVerifyViews, false, \ 69 "Verify heap view accesses") \ 70 \ 71 diagnostic(bool, ZVerifyRoots, trueInDebug, \ 72 "Verify roots") \ 73 \ 74 diagnostic(bool, ZVerifyObjects, false, \ 75 "Verify objects") \ 76 \ 77 diagnostic(bool, ZVerifyMarking, trueInDebug, \ 78 "Verify marking stacks") \ 79 \ 80 diagnostic(bool, ZVerifyForwarding, false, \ 81 "Verify forwarding tables") 82 83 #endif // SHARE_GC_Z_Z_GLOBALS_HPP | 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 |