src/hotspot/share/gc/z/z_globals.hpp
changeset 50525 767cdb97f103
child 51394 8ed5f86b15aa
equal deleted inserted replaced
50524:04f4e983c2f7 50525:767cdb97f103
       
     1 /*
       
     2  * Copyright (c) 2018, 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 #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                    writeable)                                               \
       
    41                                                                             \
       
    42   product(ccstr, ZPath, NULL,                                               \
       
    43           "Filesystem path for Java heap backing storage "                  \
       
    44           "(must be a tmpfs or a hugetlbfs filesystem)")                    \
       
    45                                                                             \
       
    46   product(double, ZAllocationSpikeTolerance, 2.0,                           \
       
    47           "Allocation spike tolerance factor")                              \
       
    48                                                                             \
       
    49   product(double, ZFragmentationLimit, 25.0,                                \
       
    50           "Maximum allowed heap fragmentation")                             \
       
    51                                                                             \
       
    52   product(bool, ZStallOnOutOfMemory, true,                                  \
       
    53           "Allow Java threads to stall and wait for GC to complete "        \
       
    54           "instead of immediately throwing an OutOfMemoryError")            \
       
    55                                                                             \
       
    56   product(size_t, ZMarkStacksMax, NOT_LP64(512*M) LP64_ONLY(8*G),           \
       
    57           "Maximum number of bytes allocated for marking stacks")           \
       
    58           range(32*M, NOT_LP64(512*M) LP64_ONLY(1024*G))                    \
       
    59                                                                             \
       
    60   product(uint, ZCollectionInterval, 0,                                     \
       
    61           "Force GC at a fixed time interval (in seconds)")                 \
       
    62                                                                             \
       
    63   product(uint, ZStatisticsInterval, 10,                                    \
       
    64           "Time between statistics print outs (in seconds)")                \
       
    65           range(1, (uint)-1)                                                \
       
    66                                                                             \
       
    67   diagnostic(bool, ZStatisticsForceTrace, false,                            \
       
    68           "Force tracing of ZStats")                                        \
       
    69                                                                             \
       
    70   diagnostic(bool, ZProactive, true,                                        \
       
    71           "Enable proactive GC cycles")                                     \
       
    72                                                                             \
       
    73   diagnostic(bool, ZUnmapBadViews, false,                                   \
       
    74           "Unmap bad (inactive) heap views")                                \
       
    75                                                                             \
       
    76   diagnostic(bool, ZVerifyMarking, false,                                   \
       
    77           "Verify marking stacks")                                          \
       
    78                                                                             \
       
    79   diagnostic(bool, ZVerifyForwarding, false,                                \
       
    80           "Verify forwarding tables")                                       \
       
    81                                                                             \
       
    82   diagnostic(bool, ZSymbolTableUnloading, false,                            \
       
    83           "Unload unused VM symbols")                                       \
       
    84                                                                             \
       
    85   diagnostic(bool, ZWeakRoots, true,                                        \
       
    86           "Treat JNI WeakGlobalRefs and StringTable as weak roots")         \
       
    87                                                                             \
       
    88   diagnostic(bool, ZConcurrentStringTable, true,                            \
       
    89           "Clean StringTable concurrently")                                 \
       
    90                                                                             \
       
    91   diagnostic(bool, ZConcurrentVMWeakHandles, true,                          \
       
    92           "Clean VM WeakHandles concurrently")                              \
       
    93                                                                             \
       
    94   diagnostic(bool, ZConcurrentJNIWeakGlobalHandles, true,                   \
       
    95           "Clean JNI WeakGlobalRefs concurrently")                          \
       
    96                                                                             \
       
    97   diagnostic(bool, ZOptimizeLoadBarriers, true,                             \
       
    98           "Apply load barrier optimizations")                               \
       
    99                                                                             \
       
   100   develop(bool, ZVerifyLoadBarriers, false,                                 \
       
   101           "Verify that reference loads are followed by barriers")
       
   102 
       
   103 #endif // SHARE_GC_Z_Z_GLOBALS_HPP