hotspot/src/share/vm/runtime/globals.hpp
author coleenp
Tue, 12 Aug 2014 10:48:55 -0400
changeset 25950 b5c40ed1d349
parent 25947 8f94ddc3729a
child 26135 82b516c550f7
child 25960 729cd80956ae
permissions -rw-r--r--
8003426: Remove UseFastAccessors and UseFastEmptyMethods except for zero Summary: These options have been long disabled in Xmixed mode because they prevent these small methods from being inlined and are subject to bit rot, and we don't need more macro assembler code to maintain and change if the constant pool cache format changes. Reviewed-by: simonis, kvn
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     1
/*
22750
a3c879b18f22 8033528: assert(0 <= i && i < length()) failed: index out of bounds
coleenp
parents: 22556
diff changeset
     2
 * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     4
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
489c9b5090e2 Initial load
duke
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
489c9b5090e2 Initial load
duke
parents:
diff changeset
     7
 * published by the Free Software Foundation.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     8
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
489c9b5090e2 Initial load
duke
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
489c9b5090e2 Initial load
duke
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
489c9b5090e2 Initial load
duke
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
489c9b5090e2 Initial load
duke
parents:
diff changeset
    13
 * accompanied this code).
489c9b5090e2 Initial load
duke
parents:
diff changeset
    14
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
489c9b5090e2 Initial load
duke
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    18
 *
5547
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 5539
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 5539
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 5539
diff changeset
    21
 * questions.
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    22
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
    23
 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
    24
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    25
#ifndef SHARE_VM_RUNTIME_GLOBALS_HPP
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    26
#define SHARE_VM_RUNTIME_GLOBALS_HPP
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    27
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    28
#include "utilities/debug.hpp"
11632
e369165faf7a 7141059: 7116795 broke pure c2 builds
iveresov
parents: 11566
diff changeset
    29
e369165faf7a 7141059: 7116795 broke pure c2 builds
iveresov
parents: 11566
diff changeset
    30
// use this for flags that are true per default in the tiered build
e369165faf7a 7141059: 7116795 broke pure c2 builds
iveresov
parents: 11566
diff changeset
    31
// but false in non-tiered builds, and vice versa
e369165faf7a 7141059: 7116795 broke pure c2 builds
iveresov
parents: 11566
diff changeset
    32
#ifdef TIERED
e369165faf7a 7141059: 7116795 broke pure c2 builds
iveresov
parents: 11566
diff changeset
    33
#define  trueInTiered true
e369165faf7a 7141059: 7116795 broke pure c2 builds
iveresov
parents: 11566
diff changeset
    34
#define falseInTiered false
e369165faf7a 7141059: 7116795 broke pure c2 builds
iveresov
parents: 11566
diff changeset
    35
#else
e369165faf7a 7141059: 7116795 broke pure c2 builds
iveresov
parents: 11566
diff changeset
    36
#define  trueInTiered false
e369165faf7a 7141059: 7116795 broke pure c2 builds
iveresov
parents: 11566
diff changeset
    37
#define falseInTiered true
e369165faf7a 7141059: 7116795 broke pure c2 builds
iveresov
parents: 11566
diff changeset
    38
#endif
e369165faf7a 7141059: 7116795 broke pure c2 builds
iveresov
parents: 11566
diff changeset
    39
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    40
#ifdef TARGET_ARCH_x86
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    41
# include "globals_x86.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    42
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    43
#ifdef TARGET_ARCH_sparc
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    44
# include "globals_sparc.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    45
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    46
#ifdef TARGET_ARCH_zero
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    47
# include "globals_zero.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    48
#endif
8107
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
    49
#ifdef TARGET_ARCH_arm
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
    50
# include "globals_arm.hpp"
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
    51
#endif
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
    52
#ifdef TARGET_ARCH_ppc
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
    53
# include "globals_ppc.hpp"
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
    54
#endif
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    55
#ifdef TARGET_OS_FAMILY_linux
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    56
# include "globals_linux.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    57
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    58
#ifdef TARGET_OS_FAMILY_solaris
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    59
# include "globals_solaris.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    60
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    61
#ifdef TARGET_OS_FAMILY_windows
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    62
# include "globals_windows.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    63
#endif
22827
07d991d45a51 8023033: PPC64 (part 13): basic changes for AIX
goetz
parents: 22825
diff changeset
    64
#ifdef TARGET_OS_FAMILY_aix
07d991d45a51 8023033: PPC64 (part 13): basic changes for AIX
goetz
parents: 22825
diff changeset
    65
# include "globals_aix.hpp"
07d991d45a51 8023033: PPC64 (part 13): basic changes for AIX
goetz
parents: 22825
diff changeset
    66
#endif
10565
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10519
diff changeset
    67
#ifdef TARGET_OS_FAMILY_bsd
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10519
diff changeset
    68
# include "globals_bsd.hpp"
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10519
diff changeset
    69
#endif
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    70
#ifdef TARGET_OS_ARCH_linux_x86
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    71
# include "globals_linux_x86.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    72
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    73
#ifdef TARGET_OS_ARCH_linux_sparc
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    74
# include "globals_linux_sparc.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    75
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    76
#ifdef TARGET_OS_ARCH_linux_zero
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    77
# include "globals_linux_zero.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    78
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    79
#ifdef TARGET_OS_ARCH_solaris_x86
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    80
# include "globals_solaris_x86.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    81
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    82
#ifdef TARGET_OS_ARCH_solaris_sparc
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    83
# include "globals_solaris_sparc.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    84
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    85
#ifdef TARGET_OS_ARCH_windows_x86
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    86
# include "globals_windows_x86.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
    87
#endif
8107
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
    88
#ifdef TARGET_OS_ARCH_linux_arm
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
    89
# include "globals_linux_arm.hpp"
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
    90
#endif
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
    91
#ifdef TARGET_OS_ARCH_linux_ppc
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
    92
# include "globals_linux_ppc.hpp"
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
    93
#endif
22827
07d991d45a51 8023033: PPC64 (part 13): basic changes for AIX
goetz
parents: 22825
diff changeset
    94
#ifdef TARGET_OS_ARCH_aix_ppc
07d991d45a51 8023033: PPC64 (part 13): basic changes for AIX
goetz
parents: 22825
diff changeset
    95
# include "globals_aix_ppc.hpp"
07d991d45a51 8023033: PPC64 (part 13): basic changes for AIX
goetz
parents: 22825
diff changeset
    96
#endif
10565
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10519
diff changeset
    97
#ifdef TARGET_OS_ARCH_bsd_x86
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10519
diff changeset
    98
# include "globals_bsd_x86.hpp"
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10519
diff changeset
    99
#endif
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10519
diff changeset
   100
#ifdef TARGET_OS_ARCH_bsd_zero
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10519
diff changeset
   101
# include "globals_bsd_zero.hpp"
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10519
diff changeset
   102
#endif
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   103
#ifdef COMPILER1
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   104
#ifdef TARGET_ARCH_x86
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   105
# include "c1_globals_x86.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   106
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   107
#ifdef TARGET_ARCH_sparc
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   108
# include "c1_globals_sparc.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   109
#endif
8107
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
   110
#ifdef TARGET_ARCH_arm
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
   111
# include "c1_globals_arm.hpp"
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
   112
#endif
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
   113
#ifdef TARGET_ARCH_ppc
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
   114
# include "c1_globals_ppc.hpp"
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
   115
#endif
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   116
#ifdef TARGET_OS_FAMILY_linux
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   117
# include "c1_globals_linux.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   118
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   119
#ifdef TARGET_OS_FAMILY_solaris
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   120
# include "c1_globals_solaris.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   121
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   122
#ifdef TARGET_OS_FAMILY_windows
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   123
# include "c1_globals_windows.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   124
#endif
22827
07d991d45a51 8023033: PPC64 (part 13): basic changes for AIX
goetz
parents: 22825
diff changeset
   125
#ifdef TARGET_OS_FAMILY_aix
07d991d45a51 8023033: PPC64 (part 13): basic changes for AIX
goetz
parents: 22825
diff changeset
   126
# include "c1_globals_aix.hpp"
07d991d45a51 8023033: PPC64 (part 13): basic changes for AIX
goetz
parents: 22825
diff changeset
   127
#endif
10565
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10519
diff changeset
   128
#ifdef TARGET_OS_FAMILY_bsd
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10519
diff changeset
   129
# include "c1_globals_bsd.hpp"
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10519
diff changeset
   130
#endif
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   131
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   132
#ifdef COMPILER2
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   133
#ifdef TARGET_ARCH_x86
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   134
# include "c2_globals_x86.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   135
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   136
#ifdef TARGET_ARCH_sparc
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   137
# include "c2_globals_sparc.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   138
#endif
8107
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
   139
#ifdef TARGET_ARCH_arm
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
   140
# include "c2_globals_arm.hpp"
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
   141
#endif
22827
07d991d45a51 8023033: PPC64 (part 13): basic changes for AIX
goetz
parents: 22825
diff changeset
   142
#ifdef TARGET_ARCH_ppc
07d991d45a51 8023033: PPC64 (part 13): basic changes for AIX
goetz
parents: 22825
diff changeset
   143
# include "c2_globals_ppc.hpp"
07d991d45a51 8023033: PPC64 (part 13): basic changes for AIX
goetz
parents: 22825
diff changeset
   144
#endif
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   145
#ifdef TARGET_OS_FAMILY_linux
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   146
# include "c2_globals_linux.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   147
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   148
#ifdef TARGET_OS_FAMILY_solaris
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   149
# include "c2_globals_solaris.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   150
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   151
#ifdef TARGET_OS_FAMILY_windows
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   152
# include "c2_globals_windows.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   153
#endif
22827
07d991d45a51 8023033: PPC64 (part 13): basic changes for AIX
goetz
parents: 22825
diff changeset
   154
#ifdef TARGET_OS_FAMILY_aix
07d991d45a51 8023033: PPC64 (part 13): basic changes for AIX
goetz
parents: 22825
diff changeset
   155
# include "c2_globals_aix.hpp"
07d991d45a51 8023033: PPC64 (part 13): basic changes for AIX
goetz
parents: 22825
diff changeset
   156
#endif
10565
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10519
diff changeset
   157
#ifdef TARGET_OS_FAMILY_bsd
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10519
diff changeset
   158
# include "c2_globals_bsd.hpp"
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10519
diff changeset
   159
#endif
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   160
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   161
#ifdef SHARK
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   162
#ifdef TARGET_ARCH_zero
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   163
# include "shark_globals_zero.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   164
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   165
#endif
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
   166
6187
4fa7845f7c14 6976186: integrate Shark HotSpot changes
twisti
parents: 6184
diff changeset
   167
#if !defined(COMPILER1) && !defined(COMPILER2) && !defined(SHARK)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   168
define_pd_global(bool, BackgroundCompilation,        false);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   169
define_pd_global(bool, UseTLAB,                      false);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   170
define_pd_global(bool, CICompileOSR,                 false);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   171
define_pd_global(bool, UseTypeProfile,               false);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   172
define_pd_global(bool, UseOnStackReplacement,        false);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   173
define_pd_global(bool, InlineIntrinsics,             false);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   174
define_pd_global(bool, PreferInterpreterNativeStubs, true);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   175
define_pd_global(bool, ProfileInterpreter,           false);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   176
define_pd_global(bool, ProfileTraps,                 false);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   177
define_pd_global(bool, TieredCompilation,            false);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   178
489c9b5090e2 Initial load
duke
parents:
diff changeset
   179
define_pd_global(intx, CompileThreshold,             0);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   180
489c9b5090e2 Initial load
duke
parents:
diff changeset
   181
define_pd_global(intx, OnStackReplacePercentage,     0);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   182
define_pd_global(bool, ResizeTLAB,                   false);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   183
define_pd_global(intx, FreqInlineSize,               0);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   184
define_pd_global(intx, NewSizeThreadIncrease,        4*K);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   185
define_pd_global(intx, InlineClassNatives,           true);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   186
define_pd_global(intx, InlineUnsafeOps,              true);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   187
define_pd_global(intx, InitialCodeCacheSize,         160*K);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   188
define_pd_global(intx, ReservedCodeCacheSize,        32*M);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   189
define_pd_global(intx, CodeCacheExpansionSize,       32*K);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   190
define_pd_global(intx, CodeCacheMinBlockLength,      1);
18697
bb36f3118c9d 8020059: The flag introduced by 8014972 is not defined if Hotspot is built without a compiler (zero, ppc64 core build).
goetz
parents: 18510
diff changeset
   191
define_pd_global(intx, CodeCacheMinimumUseSpace,     200*K);
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
   192
define_pd_global(uintx,MetaspaceSize,    ScaleForWordSize(4*M));
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   193
define_pd_global(bool, NeverActAsServerClassMachine, true);
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
   194
define_pd_global(uint64_t,MaxRAM,                    1ULL*G);
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   195
#define CI_COMPILER_COUNT 0
489c9b5090e2 Initial load
duke
parents:
diff changeset
   196
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   197
489c9b5090e2 Initial load
duke
parents:
diff changeset
   198
#ifdef COMPILER2
489c9b5090e2 Initial load
duke
parents:
diff changeset
   199
#define CI_COMPILER_COUNT 2
489c9b5090e2 Initial load
duke
parents:
diff changeset
   200
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   201
#define CI_COMPILER_COUNT 1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   202
#endif // COMPILER2
489c9b5090e2 Initial load
duke
parents:
diff changeset
   203
489c9b5090e2 Initial load
duke
parents:
diff changeset
   204
#endif // no compilers
489c9b5090e2 Initial load
duke
parents:
diff changeset
   205
489c9b5090e2 Initial load
duke
parents:
diff changeset
   206
// string type aliases used only in this file
489c9b5090e2 Initial load
duke
parents:
diff changeset
   207
typedef const char* ccstr;
489c9b5090e2 Initial load
duke
parents:
diff changeset
   208
typedef const char* ccstrlist;   // represents string arguments which accumulate
489c9b5090e2 Initial load
duke
parents:
diff changeset
   209
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   210
struct Flag {
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   211
  enum Flags {
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   212
    // value origin
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   213
    DEFAULT          = 0,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   214
    COMMAND_LINE     = 1,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   215
    ENVIRON_VAR      = 2,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   216
    CONFIG_FILE      = 3,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   217
    MANAGEMENT       = 4,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   218
    ERGONOMIC        = 5,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   219
    ATTACH_ON_DEMAND = 6,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   220
    INTERNAL         = 7,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   221
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   222
    LAST_VALUE_ORIGIN = INTERNAL,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   223
    VALUE_ORIGIN_BITS = 4,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   224
    VALUE_ORIGIN_MASK = right_n_bits(VALUE_ORIGIN_BITS),
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   225
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   226
    // flag kind
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   227
    KIND_PRODUCT            = 1 << 4,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   228
    KIND_MANAGEABLE         = 1 << 5,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   229
    KIND_DIAGNOSTIC         = 1 << 6,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   230
    KIND_EXPERIMENTAL       = 1 << 7,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   231
    KIND_NOT_PRODUCT        = 1 << 8,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   232
    KIND_DEVELOP            = 1 << 9,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   233
    KIND_PLATFORM_DEPENDENT = 1 << 10,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   234
    KIND_READ_WRITE         = 1 << 11,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   235
    KIND_C1                 = 1 << 12,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   236
    KIND_C2                 = 1 << 13,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   237
    KIND_ARCH               = 1 << 14,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   238
    KIND_SHARK              = 1 << 15,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   239
    KIND_LP64_PRODUCT       = 1 << 16,
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   240
    KIND_COMMERCIAL         = 1 << 17,
6438
ace4f8100e90 6979444: add command line option to print command line flags descriptions
ikrylov
parents: 6419
diff changeset
   241
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   242
    KIND_MASK = ~VALUE_ORIGIN_MASK
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   243
  };
6438
ace4f8100e90 6979444: add command line option to print command line flags descriptions
ikrylov
parents: 6419
diff changeset
   244
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   245
  const char* _type;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   246
  const char* _name;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   247
  void* _addr;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   248
  NOT_PRODUCT(const char* _doc;)
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   249
  Flags _flags;
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   250
489c9b5090e2 Initial load
duke
parents:
diff changeset
   251
  // points to all Flags static array
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   252
  static Flag* flags;
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   253
489c9b5090e2 Initial load
duke
parents:
diff changeset
   254
  // number of flags
489c9b5090e2 Initial load
duke
parents:
diff changeset
   255
  static size_t numFlags;
489c9b5090e2 Initial load
duke
parents:
diff changeset
   256
22518
e23c5545e376 8027314: Java should recognize Diagnostic options if -XX:+UnlockDiagnosticVMOptions is not specified and print an informative message
ccheung
parents: 22248
diff changeset
   257
  static Flag* find_flag(const char* name, size_t length, bool allow_locked = false, bool return_flag = false);
18497
9ff60555fcd3 8017611: Auto corrector for mistyped vm options
tamao
parents: 18025
diff changeset
   258
  static Flag* fuzzy_match(const char* name, size_t length, bool allow_locked = false);
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   259
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   260
  void check_writable();
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   261
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   262
  bool is_bool() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   263
  bool get_bool() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   264
  void set_bool(bool value);
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   265
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   266
  bool is_intx() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   267
  intx get_intx() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   268
  void set_intx(intx value);
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   269
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   270
  bool is_uintx() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   271
  uintx get_uintx() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   272
  void set_uintx(uintx value);
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   273
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   274
  bool is_uint64_t() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   275
  uint64_t get_uint64_t() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   276
  void set_uint64_t(uint64_t value);
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   277
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   278
  bool is_double() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   279
  double get_double() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   280
  void set_double(double value);
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   281
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   282
  bool is_ccstr() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   283
  bool ccstr_accumulates() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   284
  ccstr get_ccstr() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   285
  void set_ccstr(ccstr value);
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   286
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   287
  Flags get_origin();
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   288
  void set_origin(Flags origin);
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
   289
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   290
  bool is_default();
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   291
  bool is_ergonomic();
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   292
  bool is_command_line();
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   293
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   294
  bool is_product() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   295
  bool is_manageable() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   296
  bool is_diagnostic() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   297
  bool is_experimental() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   298
  bool is_notproduct() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   299
  bool is_develop() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   300
  bool is_read_write() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   301
  bool is_commercial() const;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   302
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   303
  bool is_constant_in_binary() const;
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   304
489c9b5090e2 Initial load
duke
parents:
diff changeset
   305
  bool is_unlocker() const;
489c9b5090e2 Initial load
duke
parents:
diff changeset
   306
  bool is_unlocked() const;
489c9b5090e2 Initial load
duke
parents:
diff changeset
   307
  bool is_writeable() const;
489c9b5090e2 Initial load
duke
parents:
diff changeset
   308
  bool is_external() const;
489c9b5090e2 Initial load
duke
parents:
diff changeset
   309
11183
a81bb5c041d3 7117389: Add a framework for vendor-specific command line switch extensions to Hotspot
phh
parents: 11167
diff changeset
   310
  bool is_unlocker_ext() const;
a81bb5c041d3 7117389: Add a framework for vendor-specific command line switch extensions to Hotspot
phh
parents: 11167
diff changeset
   311
  bool is_unlocked_ext() const;
11254
e2dd3c32a7cb 7122880: Extend vendor-specific command interface to include manageable switches
phh
parents: 11201
diff changeset
   312
  bool is_writeable_ext() const;
e2dd3c32a7cb 7122880: Extend vendor-specific command interface to include manageable switches
phh
parents: 11201
diff changeset
   313
  bool is_external_ext() const;
11183
a81bb5c041d3 7117389: Add a framework for vendor-specific command line switch extensions to Hotspot
phh
parents: 11167
diff changeset
   314
12157
439a7166bf0f 7144328: Improper commandlines for -XX:+-UnlockCommercialFeatures require proper warning/error messages
jmelvin
parents: 12095
diff changeset
   315
  void get_locked_message(char*, int) const;
439a7166bf0f 7144328: Improper commandlines for -XX:+-UnlockCommercialFeatures require proper warning/error messages
jmelvin
parents: 12095
diff changeset
   316
  void get_locked_message_ext(char*, int) const;
439a7166bf0f 7144328: Improper commandlines for -XX:+-UnlockCommercialFeatures require proper warning/error messages
jmelvin
parents: 12095
diff changeset
   317
6438
ace4f8100e90 6979444: add command line option to print command line flags descriptions
ikrylov
parents: 6419
diff changeset
   318
  void print_on(outputStream* st, bool withComments = false );
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
   319
  void print_kind(outputStream* st);
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   320
  void print_as_flag(outputStream* st);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   321
};
489c9b5090e2 Initial load
duke
parents:
diff changeset
   322
489c9b5090e2 Initial load
duke
parents:
diff changeset
   323
// debug flags control various aspects of the VM and are global accessible
489c9b5090e2 Initial load
duke
parents:
diff changeset
   324
489c9b5090e2 Initial load
duke
parents:
diff changeset
   325
// use FlagSetting to temporarily change some debug flag
489c9b5090e2 Initial load
duke
parents:
diff changeset
   326
// e.g. FlagSetting fs(DebugThisAndThat, true);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   327
// restored to previous value upon leaving scope
489c9b5090e2 Initial load
duke
parents:
diff changeset
   328
class FlagSetting {
489c9b5090e2 Initial load
duke
parents:
diff changeset
   329
  bool val;
489c9b5090e2 Initial load
duke
parents:
diff changeset
   330
  bool* flag;
489c9b5090e2 Initial load
duke
parents:
diff changeset
   331
 public:
489c9b5090e2 Initial load
duke
parents:
diff changeset
   332
  FlagSetting(bool& fl, bool newValue) { flag = &fl; val = fl; fl = newValue; }
489c9b5090e2 Initial load
duke
parents:
diff changeset
   333
  ~FlagSetting()                       { *flag = val; }
489c9b5090e2 Initial load
duke
parents:
diff changeset
   334
};
489c9b5090e2 Initial load
duke
parents:
diff changeset
   335
489c9b5090e2 Initial load
duke
parents:
diff changeset
   336
489c9b5090e2 Initial load
duke
parents:
diff changeset
   337
class CounterSetting {
489c9b5090e2 Initial load
duke
parents:
diff changeset
   338
  intx* counter;
489c9b5090e2 Initial load
duke
parents:
diff changeset
   339
 public:
489c9b5090e2 Initial load
duke
parents:
diff changeset
   340
  CounterSetting(intx* cnt) { counter = cnt; (*counter)++; }
489c9b5090e2 Initial load
duke
parents:
diff changeset
   341
  ~CounterSetting()         { (*counter)--; }
489c9b5090e2 Initial load
duke
parents:
diff changeset
   342
};
489c9b5090e2 Initial load
duke
parents:
diff changeset
   343
489c9b5090e2 Initial load
duke
parents:
diff changeset
   344
17392
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
   345
class UIntFlagSetting {
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
   346
  uintx val;
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
   347
  uintx* flag;
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   348
 public:
17392
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
   349
  UIntFlagSetting(uintx& fl, uintx newValue) { flag = &fl; val = fl; fl = newValue; }
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
   350
  ~UIntFlagSetting()                         { *flag = val; }
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   351
};
489c9b5090e2 Initial load
duke
parents:
diff changeset
   352
489c9b5090e2 Initial load
duke
parents:
diff changeset
   353
489c9b5090e2 Initial load
duke
parents:
diff changeset
   354
class DoubleFlagSetting {
489c9b5090e2 Initial load
duke
parents:
diff changeset
   355
  double val;
489c9b5090e2 Initial load
duke
parents:
diff changeset
   356
  double* flag;
489c9b5090e2 Initial load
duke
parents:
diff changeset
   357
 public:
489c9b5090e2 Initial load
duke
parents:
diff changeset
   358
  DoubleFlagSetting(double& fl, double newValue) { flag = &fl; val = fl; fl = newValue; }
489c9b5090e2 Initial load
duke
parents:
diff changeset
   359
  ~DoubleFlagSetting()                           { *flag = val; }
489c9b5090e2 Initial load
duke
parents:
diff changeset
   360
};
489c9b5090e2 Initial load
duke
parents:
diff changeset
   361
489c9b5090e2 Initial load
duke
parents:
diff changeset
   362
489c9b5090e2 Initial load
duke
parents:
diff changeset
   363
class CommandLineFlags {
489c9b5090e2 Initial load
duke
parents:
diff changeset
   364
 public:
24921
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   365
  static bool boolAt(const char* name, size_t len, bool* value);
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   366
  static bool boolAt(const char* name, bool* value)      { return boolAt(name, strlen(name), value); }
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   367
  static bool boolAtPut(const char* name, size_t len, bool* value, Flag::Flags origin);
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   368
  static bool boolAtPut(const char* name, bool* value, Flag::Flags origin)   { return boolAtPut(name, strlen(name), value, origin); }
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   369
24921
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   370
  static bool intxAt(const char* name, size_t len, intx* value);
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   371
  static bool intxAt(const char* name, intx* value)      { return intxAt(name, strlen(name), value); }
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   372
  static bool intxAtPut(const char* name, size_t len, intx* value, Flag::Flags origin);
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   373
  static bool intxAtPut(const char* name, intx* value, Flag::Flags origin)   { return intxAtPut(name, strlen(name), value, origin); }
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   374
24921
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   375
  static bool uintxAt(const char* name, size_t len, uintx* value);
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   376
  static bool uintxAt(const char* name, uintx* value)    { return uintxAt(name, strlen(name), value); }
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   377
  static bool uintxAtPut(const char* name, size_t len, uintx* value, Flag::Flags origin);
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   378
  static bool uintxAtPut(const char* name, uintx* value, Flag::Flags origin) { return uintxAtPut(name, strlen(name), value, origin); }
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   379
24921
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   380
  static bool uint64_tAt(const char* name, size_t len, uint64_t* value);
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   381
  static bool uint64_tAt(const char* name, uint64_t* value) { return uint64_tAt(name, strlen(name), value); }
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   382
  static bool uint64_tAtPut(const char* name, size_t len, uint64_t* value, Flag::Flags origin);
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   383
  static bool uint64_tAtPut(const char* name, uint64_t* value, Flag::Flags origin) { return uint64_tAtPut(name, strlen(name), value, origin); }
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
   384
24921
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   385
  static bool doubleAt(const char* name, size_t len, double* value);
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   386
  static bool doubleAt(const char* name, double* value)    { return doubleAt(name, strlen(name), value); }
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   387
  static bool doubleAtPut(const char* name, size_t len, double* value, Flag::Flags origin);
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   388
  static bool doubleAtPut(const char* name, double* value, Flag::Flags origin) { return doubleAtPut(name, strlen(name), value, origin); }
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   389
24921
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   390
  static bool ccstrAt(const char* name, size_t len, ccstr* value);
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   391
  static bool ccstrAt(const char* name, ccstr* value)    { return ccstrAt(name, strlen(name), value); }
22194
e4bef4b8cdb4 8029070: memory leak in jmm_SetVMGlobal
iignatyev
parents: 21733
diff changeset
   392
  // Contract:  Flag will make private copy of the incoming value.
e4bef4b8cdb4 8029070: memory leak in jmm_SetVMGlobal
iignatyev
parents: 21733
diff changeset
   393
  // Outgoing value is always malloc-ed, and caller MUST call free.
24921
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   394
  static bool ccstrAtPut(const char* name, size_t len, ccstr* value, Flag::Flags origin);
3b73ef0b62d1 8038756: new WB API :: get/setVMFlag
iignatyev
parents: 24461
diff changeset
   395
  static bool ccstrAtPut(const char* name, ccstr* value, Flag::Flags origin) { return ccstrAtPut(name, strlen(name), value, origin); }
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   396
489c9b5090e2 Initial load
duke
parents:
diff changeset
   397
  // Returns false if name is not a command line flag.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   398
  static bool wasSetOnCmdline(const char* name, bool* value);
11441
a89f443814cd 7120511: Add diagnostic commands
fparain
parents: 11254
diff changeset
   399
  static void printSetFlags(outputStream* out);
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   400
11441
a89f443814cd 7120511: Add diagnostic commands
fparain
parents: 11254
diff changeset
   401
  static void printFlags(outputStream* out, bool withComments);
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   402
489c9b5090e2 Initial load
duke
parents:
diff changeset
   403
  static void verify() PRODUCT_RETURN;
489c9b5090e2 Initial load
duke
parents:
diff changeset
   404
};
489c9b5090e2 Initial load
duke
parents:
diff changeset
   405
489c9b5090e2 Initial load
duke
parents:
diff changeset
   406
// use this for flags that are true by default in the debug version but
489c9b5090e2 Initial load
duke
parents:
diff changeset
   407
// false in the optimized version, and vice versa
489c9b5090e2 Initial load
duke
parents:
diff changeset
   408
#ifdef ASSERT
489c9b5090e2 Initial load
duke
parents:
diff changeset
   409
#define trueInDebug  true
489c9b5090e2 Initial load
duke
parents:
diff changeset
   410
#define falseInDebug false
489c9b5090e2 Initial load
duke
parents:
diff changeset
   411
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   412
#define trueInDebug  false
489c9b5090e2 Initial load
duke
parents:
diff changeset
   413
#define falseInDebug true
489c9b5090e2 Initial load
duke
parents:
diff changeset
   414
#endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   415
489c9b5090e2 Initial load
duke
parents:
diff changeset
   416
// use this for flags that are true per default in the product build
489c9b5090e2 Initial load
duke
parents:
diff changeset
   417
// but false in development builds, and vice versa
489c9b5090e2 Initial load
duke
parents:
diff changeset
   418
#ifdef PRODUCT
489c9b5090e2 Initial load
duke
parents:
diff changeset
   419
#define trueInProduct  true
489c9b5090e2 Initial load
duke
parents:
diff changeset
   420
#define falseInProduct false
489c9b5090e2 Initial load
duke
parents:
diff changeset
   421
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   422
#define trueInProduct  false
489c9b5090e2 Initial load
duke
parents:
diff changeset
   423
#define falseInProduct true
489c9b5090e2 Initial load
duke
parents:
diff changeset
   424
#endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   425
10020
9325b4244ec4 7061192: option handling adjustments for oracle and embedded builds
jcoomes
parents: 10003
diff changeset
   426
#ifdef JAVASE_EMBEDDED
9325b4244ec4 7061192: option handling adjustments for oracle and embedded builds
jcoomes
parents: 10003
diff changeset
   427
#define falseInEmbedded false
9325b4244ec4 7061192: option handling adjustments for oracle and embedded builds
jcoomes
parents: 10003
diff changeset
   428
#else
9325b4244ec4 7061192: option handling adjustments for oracle and embedded builds
jcoomes
parents: 10003
diff changeset
   429
#define falseInEmbedded true
9325b4244ec4 7061192: option handling adjustments for oracle and embedded builds
jcoomes
parents: 10003
diff changeset
   430
#endif
9325b4244ec4 7061192: option handling adjustments for oracle and embedded builds
jcoomes
parents: 10003
diff changeset
   431
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   432
// develop flags are settable / visible only during development and are constant in the PRODUCT version
489c9b5090e2 Initial load
duke
parents:
diff changeset
   433
// product flags are always settable / visible
489c9b5090e2 Initial load
duke
parents:
diff changeset
   434
// notproduct flags are settable / visible only during development and are not declared in the PRODUCT version
489c9b5090e2 Initial load
duke
parents:
diff changeset
   435
489c9b5090e2 Initial load
duke
parents:
diff changeset
   436
// A flag must be declared with one of the following types:
489c9b5090e2 Initial load
duke
parents:
diff changeset
   437
// bool, intx, uintx, ccstr.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   438
// The type "ccstr" is an alias for "const char*" and is used
489c9b5090e2 Initial load
duke
parents:
diff changeset
   439
// only in this file, because the macrology requires single-token type names.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   440
489c9b5090e2 Initial load
duke
parents:
diff changeset
   441
// Note: Diagnostic options not meant for VM tuning or for product modes.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   442
// They are to be used for VM quality assurance or field diagnosis
489c9b5090e2 Initial load
duke
parents:
diff changeset
   443
// of VM bugs.  They are hidden so that users will not be encouraged to
489c9b5090e2 Initial load
duke
parents:
diff changeset
   444
// try them as if they were VM ordinary execution options.  However, they
489c9b5090e2 Initial load
duke
parents:
diff changeset
   445
// are available in the product version of the VM.  Under instruction
489c9b5090e2 Initial load
duke
parents:
diff changeset
   446
// from support engineers, VM customers can turn them on to collect
489c9b5090e2 Initial load
duke
parents:
diff changeset
   447
// diagnostic information about VM problems.  To use a VM diagnostic
489c9b5090e2 Initial load
duke
parents:
diff changeset
   448
// option, you must first specify +UnlockDiagnosticVMOptions.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   449
// (This master switch also affects the behavior of -Xprintflags.)
1382
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
   450
//
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
   451
// experimental flags are in support of features that are not
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
   452
//    part of the officially supported product, but are available
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
   453
//    for experimenting with. They could, for example, be performance
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
   454
//    features that may not have undergone full or rigorous QA, but which may
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
   455
//    help performance in some cases and released for experimentation
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
   456
//    by the community of users and developers. This flag also allows one to
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
   457
//    be able to build a fully supported product that nonetheless also
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
   458
//    ships with some unsupported, lightly tested, experimental features.
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
   459
//    Like the UnlockDiagnosticVMOptions flag above, there is a corresponding
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
   460
//    UnlockExperimentalVMOptions flag, which allows the control and
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
   461
//    modification of the experimental flags.
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
   462
//
6763
711b8a44c4dd 6692906: CMS: parallel concurrent marking may be prone to hanging or stalling mutators for periods of time
ysr
parents: 6762
diff changeset
   463
// Nota bene: neither diagnostic nor experimental options should be used casually,
711b8a44c4dd 6692906: CMS: parallel concurrent marking may be prone to hanging or stalling mutators for periods of time
ysr
parents: 6762
diff changeset
   464
//    and they are not supported on production loads, except under explicit
711b8a44c4dd 6692906: CMS: parallel concurrent marking may be prone to hanging or stalling mutators for periods of time
ysr
parents: 6762
diff changeset
   465
//    direction from support engineers.
711b8a44c4dd 6692906: CMS: parallel concurrent marking may be prone to hanging or stalling mutators for periods of time
ysr
parents: 6762
diff changeset
   466
//
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   467
// manageable flags are writeable external product flags.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   468
//    They are dynamically writeable through the JDK management interface
489c9b5090e2 Initial load
duke
parents:
diff changeset
   469
//    (com.sun.management.HotSpotDiagnosticMXBean API) and also through JConsole.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   470
//    These flags are external exported interface (see CCC).  The list of
489c9b5090e2 Initial load
duke
parents:
diff changeset
   471
//    manageable flags can be queried programmatically through the management
489c9b5090e2 Initial load
duke
parents:
diff changeset
   472
//    interface.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   473
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
   474
//    A flag can be made as "manageable" only if
489c9b5090e2 Initial load
duke
parents:
diff changeset
   475
//    - the flag is defined in a CCC as an external exported interface.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   476
//    - the VM implementation supports dynamic setting of the flag.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   477
//      This implies that the VM must *always* query the flag variable
489c9b5090e2 Initial load
duke
parents:
diff changeset
   478
//      and not reuse state related to the flag state at any given time.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   479
//    - you want the flag to be queried programmatically by the customers.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   480
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
   481
// product_rw flags are writeable internal product flags.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   482
//    They are like "manageable" flags but for internal/private use.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   483
//    The list of product_rw flags are internal/private flags which
489c9b5090e2 Initial load
duke
parents:
diff changeset
   484
//    may be changed/removed in a future release.  It can be set
489c9b5090e2 Initial load
duke
parents:
diff changeset
   485
//    through the management interface to get/set value
489c9b5090e2 Initial load
duke
parents:
diff changeset
   486
//    when the name of flag is supplied.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   487
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
   488
//    A flag can be made as "product_rw" only if
489c9b5090e2 Initial load
duke
parents:
diff changeset
   489
//    - the VM implementation supports dynamic setting of the flag.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   490
//      This implies that the VM must *always* query the flag variable
489c9b5090e2 Initial load
duke
parents:
diff changeset
   491
//      and not reuse state related to the flag state at any given time.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   492
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
   493
// Note that when there is a need to support develop flags to be writeable,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   494
// it can be done in the same way as product_rw.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   495
1382
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
   496
#define RUNTIME_FLAGS(develop, develop_pd, product, product_pd, diagnostic, experimental, notproduct, manageable, product_rw, lp64_product) \
360
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 356
diff changeset
   497
                                                                            \
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 356
diff changeset
   498
  lp64_product(bool, UseCompressedOops, false,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   499
          "Use 32-bit object references in 64-bit VM. "                     \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   500
          "lp64_product means flag is always constant in 32 bit VM")        \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
   501
                                                                            \
19979
ebe1dbb6e1aa 8015107: NPG: Use consistent naming for metaspace concepts
ehelin
parents: 19704
diff changeset
   502
  lp64_product(bool, UseCompressedClassPointers, false,                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   503
          "Use 32-bit class pointers in 64-bit VM. "                        \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   504
          "lp64_product means flag is always constant in 32 bit VM")        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   505
                                                                            \
2254
f13dda645a4b 6791178: Specialize for zero as the compressed oop vm heap base
kvn
parents: 2141
diff changeset
   506
  notproduct(bool, CheckCompressedOops, true,                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   507
          "Generate checks in encoding/decoding code in debug VM")          \
2254
f13dda645a4b 6791178: Specialize for zero as the compressed oop vm heap base
kvn
parents: 2141
diff changeset
   508
                                                                            \
f13dda645a4b 6791178: Specialize for zero as the compressed oop vm heap base
kvn
parents: 2141
diff changeset
   509
  product_pd(uintx, HeapBaseMinAddress,                                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   510
          "OS specific low limit for heap base address")                    \
2254
f13dda645a4b 6791178: Specialize for zero as the compressed oop vm heap base
kvn
parents: 2141
diff changeset
   511
                                                                            \
f13dda645a4b 6791178: Specialize for zero as the compressed oop vm heap base
kvn
parents: 2141
diff changeset
   512
  diagnostic(bool, PrintCompressedOopsMode, false,                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   513
          "Print compressed oops base address and encoding mode")           \
1129
ec4dfac10759 6741004: UseLargePages + UseCompressedOops breaks implicit null checking guard page
coleenp
parents: 1062
diff changeset
   514
                                                                            \
5694
1e0532a6abff 6916623: Align object to 16 bytes to use Compressed Oops with java heap up to 64Gb
kvn
parents: 5539
diff changeset
   515
  lp64_product(intx, ObjectAlignmentInBytes, 8,                             \
1e0532a6abff 6916623: Align object to 16 bytes to use Compressed Oops with java heap up to 64Gb
kvn
parents: 5539
diff changeset
   516
          "Default object alignment in bytes, 8 is minimum")                \
1e0532a6abff 6916623: Align object to 16 bytes to use Compressed Oops with java heap up to 64Gb
kvn
parents: 5539
diff changeset
   517
                                                                            \
16596
905d4419a089 2178143: JVM crashes if the number of bound CPUs changed during runtime
minqi
parents: 16445
diff changeset
   518
  product(bool, AssumeMP, false,                                            \
905d4419a089 2178143: JVM crashes if the number of bound CPUs changed during runtime
minqi
parents: 16445
diff changeset
   519
          "Instruct the VM to assume multiple processors are available")    \
905d4419a089 2178143: JVM crashes if the number of bound CPUs changed during runtime
minqi
parents: 16445
diff changeset
   520
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   521
  /* UseMembar is theoretically a temp flag used for memory barrier         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   522
   * removal testing.  It was supposed to be removed before FCS but has     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   523
   * been re-added (see 6401008) */                                         \
6965
4ef36b2a6a3a 6989297: Integrate additional portability improvements
bobv
parents: 6466
diff changeset
   524
  product_pd(bool, UseMembar,                                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   525
          "(Unstable) Issues membars on thread state transitions")          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   526
                                                                            \
10022
377345fb5fb5 7061204: clean the chunk table synchronously in embedded builds
jcoomes
parents: 10020
diff changeset
   527
  develop(bool, CleanChunkPoolAsync, falseInEmbedded,                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   528
          "Clean the chunk pool asynchronously")                            \
10022
377345fb5fb5 7061204: clean the chunk table synchronously in embedded builds
jcoomes
parents: 10020
diff changeset
   529
                                                                            \
23190
e8bbf9cd711e 8031818: Experimental VM flag for enforcing safe object construction
shade
parents: 23189
diff changeset
   530
  experimental(bool, AlwaysSafeConstructors, false,                         \
e8bbf9cd711e 8031818: Experimental VM flag for enforcing safe object construction
shade
parents: 23189
diff changeset
   531
          "Force safe construction, as if all fields are final.")           \
e8bbf9cd711e 8031818: Experimental VM flag for enforcing safe object construction
shade
parents: 23189
diff changeset
   532
                                                                            \
13925
37f75ba502b1 8000351: Tenuring threshold should be unsigned
jwilhelm
parents: 13924
diff changeset
   533
  /* Temporary: See 6948537 */                                              \
5431
5c4054a50dbb 6948537: CMS: BOT walkers observe out-of-thin-air zeros on sun4v sparc/CMT
ysr
parents: 5403
diff changeset
   534
  experimental(bool, UseMemSetInBOT, true,                                  \
5c4054a50dbb 6948537: CMS: BOT walkers observe out-of-thin-air zeros on sun4v sparc/CMT
ysr
parents: 5403
diff changeset
   535
          "(Unstable) uses memset in BOT updates in GC code")               \
5c4054a50dbb 6948537: CMS: BOT walkers observe out-of-thin-air zeros on sun4v sparc/CMT
ysr
parents: 5403
diff changeset
   536
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   537
  diagnostic(bool, UnlockDiagnosticVMOptions, trueInDebug,                  \
1382
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
   538
          "Enable normal processing of flags relating to field diagnostics")\
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
   539
                                                                            \
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
   540
  experimental(bool, UnlockExperimentalVMOptions, false,                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   541
          "Enable normal processing of flags relating to experimental "     \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   542
          "features")                                                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   543
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   544
  product(bool, JavaMonitorsInStackTrace, true,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   545
          "Print information about Java monitor locks when the stacks are"  \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   546
          "dumped")                                                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   547
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   548
  product_pd(bool, UseLargePages,                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   549
          "Use large page memory")                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   550
                                                                            \
1421
a7ef1a3b2644 6660681: Incrementally reserve pages on win server 2003 for better large page affinity
jmasa
parents: 1409
diff changeset
   551
  product_pd(bool, UseLargePagesIndividualAllocation,                       \
a7ef1a3b2644 6660681: Incrementally reserve pages on win server 2003 for better large page affinity
jmasa
parents: 1409
diff changeset
   552
          "Allocate large pages individually for better affinity")          \
a7ef1a3b2644 6660681: Incrementally reserve pages on win server 2003 for better large page affinity
jmasa
parents: 1409
diff changeset
   553
                                                                            \
a7ef1a3b2644 6660681: Incrementally reserve pages on win server 2003 for better large page affinity
jmasa
parents: 1409
diff changeset
   554
  develop(bool, LargePagesIndividualAllocationInjectError, false,           \
a7ef1a3b2644 6660681: Incrementally reserve pages on win server 2003 for better large page affinity
jmasa
parents: 1409
diff changeset
   555
          "Fail large pages individual allocation")                         \
a7ef1a3b2644 6660681: Incrementally reserve pages on win server 2003 for better large page affinity
jmasa
parents: 1409
diff changeset
   556
                                                                            \
20406
934f0b12daa9 8024547: MaxMetaspaceSize should limit the committed memory used by the metaspaces
stefank
parents: 20404
diff changeset
   557
  product(bool, UseLargePagesInMetaspace, false,                            \
934f0b12daa9 8024547: MaxMetaspaceSize should limit the committed memory used by the metaspaces
stefank
parents: 20404
diff changeset
   558
          "Use large page memory in metaspace. "                            \
934f0b12daa9 8024547: MaxMetaspaceSize should limit the committed memory used by the metaspaces
stefank
parents: 20404
diff changeset
   559
          "Only used if UseLargePages is enabled.")                         \
934f0b12daa9 8024547: MaxMetaspaceSize should limit the committed memory used by the metaspaces
stefank
parents: 20404
diff changeset
   560
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   561
  develop(bool, TracePageSizes, false,                                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   562
          "Trace page size selection and usage")                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   563
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   564
  product(bool, UseNUMA, false,                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   565
          "Use NUMA if available")                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   566
                                                                            \
10494
3f347ed8bd3c 7082969: NUMA interleaving
iveresov
parents: 10267
diff changeset
   567
  product(bool, UseNUMAInterleaving, false,                                 \
3f347ed8bd3c 7082969: NUMA interleaving
iveresov
parents: 10267
diff changeset
   568
          "Interleave memory across NUMA nodes if available")               \
3f347ed8bd3c 7082969: NUMA interleaving
iveresov
parents: 10267
diff changeset
   569
                                                                            \
3f347ed8bd3c 7082969: NUMA interleaving
iveresov
parents: 10267
diff changeset
   570
  product(uintx, NUMAInterleaveGranularity, 2*M,                            \
3f347ed8bd3c 7082969: NUMA interleaving
iveresov
parents: 10267
diff changeset
   571
          "Granularity to use for NUMA interleaving on Windows OS")         \
3f347ed8bd3c 7082969: NUMA interleaving
iveresov
parents: 10267
diff changeset
   572
                                                                            \
1615
b46d9f19bde2 6779436: NUMA allocator: libnuma expects certain size of the buffer in numa_node_to_cpus()
iveresov
parents: 1608
diff changeset
   573
  product(bool, ForceNUMA, false,                                           \
b46d9f19bde2 6779436: NUMA allocator: libnuma expects certain size of the buffer in numa_node_to_cpus()
iveresov
parents: 1608
diff changeset
   574
          "Force NUMA optimizations on single-node/UMA systems")            \
b46d9f19bde2 6779436: NUMA allocator: libnuma expects certain size of the buffer in numa_node_to_cpus()
iveresov
parents: 1608
diff changeset
   575
                                                                            \
17392
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
   576
  product(uintx, NUMAChunkResizeWeight, 20,                                 \
22775
52bc5222f5f1 8026849: Fix typos in the GC code, part 2
jwilhelm
parents: 22556
diff changeset
   577
          "Percentage (0-100) used to weight the current sample when "      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   578
          "computing exponentially decaying average for "                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   579
          "AdaptiveNUMAChunkSizing")                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   580
                                                                            \
17392
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
   581
  product(uintx, NUMASpaceResizeRate, 1*G,                                  \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   582
          "Do not reallocate more than this amount per collection")         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   583
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   584
  product(bool, UseAdaptiveNUMAChunkSizing, true,                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   585
          "Enable adaptive chunk sizing for NUMA")                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   586
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   587
  product(bool, NUMAStats, false,                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   588
          "Print NUMA stats in detailed heap information")                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   589
                                                                            \
17392
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
   590
  product(uintx, NUMAPageScanRate, 256,                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   591
          "Maximum number of pages to include in the page scan procedure")  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   592
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   593
  product_pd(bool, NeedsDeoptSuspend,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   594
          "True for register window machines (sparc/ia64)")                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   595
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   596
  product(intx, UseSSE, 99,                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   597
          "Highest supported SSE instructions set on x86/x64")              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   598
                                                                            \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   599
  product(bool, UseAES, false,                                              \
14132
3c1437abcefd 7184394: add intrinsics to use AES instructions
kvn
parents: 13974
diff changeset
   600
          "Control whether AES instructions can be used on x86/x64")        \
3c1437abcefd 7184394: add intrinsics to use AES instructions
kvn
parents: 13974
diff changeset
   601
                                                                            \
24953
9680119572be 8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC
kvn
parents: 24931
diff changeset
   602
  product(bool, UseSHA, false,                                              \
9680119572be 8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC
kvn
parents: 24931
diff changeset
   603
          "Control whether SHA instructions can be used on SPARC")          \
9680119572be 8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC
kvn
parents: 24931
diff changeset
   604
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   605
  product(uintx, LargePageSizeInBytes, 0,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   606
          "Large page size (0 to let VM choose the page size)")             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   607
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   608
  product(uintx, LargePageHeapSizeThreshold, 128*M,                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   609
          "Use large pages if maximum heap is at least this big")           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   610
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   611
  product(bool, ForceTimeHighResolution, false,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   612
          "Using high time resolution (for Win32 only)")                    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   613
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   614
  develop(bool, TraceItables, false,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   615
          "Trace initialization and use of itables")                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   616
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   617
  develop(bool, TracePcPatching, false,                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   618
          "Trace usage of frame::patch_pc")                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   619
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   620
  develop(bool, TraceJumps, false,                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   621
          "Trace assembly jumps in thread ring buffer")                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   622
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   623
  develop(bool, TraceRelocator, false,                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   624
          "Trace the bytecode relocator")                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   625
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   626
  develop(bool, TraceLongCompiles, false,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   627
          "Print out every time compilation is longer than "                \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   628
          "a given threshold")                                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   629
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   630
  develop(bool, SafepointALot, false,                                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   631
          "Generate a lot of safepoints. This works with "                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   632
          "GuaranteedSafepointInterval")                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   633
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   634
  product_pd(bool, BackgroundCompilation,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   635
          "A thread requesting compilation is not blocked during "          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   636
          "compilation")                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   637
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   638
  product(bool, PrintVMQWaitTime, false,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   639
          "Print out the waiting time in VM operation queue")               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   640
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   641
  develop(bool, NoYieldsInMicrolock, false,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   642
          "Disable yields in microlock")                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   643
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   644
  develop(bool, TraceOopMapGeneration, false,                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   645
          "Show OopMapGeneration")                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   646
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   647
  product(bool, MethodFlushing, true,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   648
          "Reclamation of zombie and not-entrant methods")                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   649
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   650
  develop(bool, VerifyStack, false,                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   651
          "Verify stack of each thread when it is entering a runtime call") \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   652
                                                                            \
10983
9ab65f4cec18 7104960: JSR 292: +VerifyMethodHandles in product JVM can overflow buffer
never
parents: 10963
diff changeset
   653
  diagnostic(bool, ForceUnreachable, false,                                 \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   654
          "Make all non code cache addresses to be unreachable by "         \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   655
          "forcing use of 64bit literal fixups")                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   656
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   657
  notproduct(bool, StressDerivedPointers, false,                            \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   658
          "Force scavenge when a derived pointer is detected on stack "     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   659
          "after rtm call")                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   660
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   661
  develop(bool, TraceDerivedPointers, false,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   662
          "Trace traversal of derived pointers on stack")                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   663
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   664
  notproduct(bool, TraceCodeBlobStacks, false,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   665
          "Trace stack-walk of codeblobs")                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   666
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   667
  product(bool, PrintJNIResolving, false,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   668
          "Used to implement -v:jni")                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   669
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   670
  notproduct(bool, PrintRewrites, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   671
          "Print methods that are being rewritten")                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   672
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   673
  product(bool, UseInlineCaches, true,                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   674
          "Use Inline Caches for virtual calls ")                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   675
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   676
  develop(bool, InlineArrayCopy, true,                                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   677
          "Inline arraycopy native that is known to be part of "            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   678
          "base library DLL")                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   679
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   680
  develop(bool, InlineObjectHash, true,                                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   681
          "Inline Object::hashCode() native that is known to be part "      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   682
          "of base library DLL")                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   683
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   684
  develop(bool, InlineNatives, true,                                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   685
          "Inline natives that are known to be part of base library DLL")   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   686
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   687
  develop(bool, InlineMathNatives, true,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   688
          "Inline SinD, CosD, etc.")                                        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   689
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   690
  develop(bool, InlineClassNatives, true,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   691
          "Inline Class.isInstance, etc")                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   692
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   693
  develop(bool, InlineThreadNatives, true,                                  \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   694
          "Inline Thread.currentThread, etc")                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   695
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   696
  develop(bool, InlineUnsafeOps, true,                                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   697
          "Inline memory ops (native methods) from sun.misc.Unsafe")        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   698
                                                                            \
11637
030466036615 7013347: allow crypto functions to be called inline to enhance performance
never
parents: 11636
diff changeset
   699
  product(bool, CriticalJNINatives, true,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   700
          "Check for critical JNI entry points")                            \
11637
030466036615 7013347: allow crypto functions to be called inline to enhance performance
never
parents: 11636
diff changeset
   701
                                                                            \
030466036615 7013347: allow crypto functions to be called inline to enhance performance
never
parents: 11636
diff changeset
   702
  notproduct(bool, StressCriticalJNINatives, false,                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   703
          "Exercise register saving code in critical natives")              \
11637
030466036615 7013347: allow crypto functions to be called inline to enhance performance
never
parents: 11636
diff changeset
   704
                                                                            \
2348
4e71ed4c2709 6761600: Use sse 4.2 in intrinsics
cfang
parents: 2342
diff changeset
   705
  product(bool, UseSSE42Intrinsics, false,                                  \
4e71ed4c2709 6761600: Use sse 4.2 in intrinsics
cfang
parents: 2342
diff changeset
   706
          "SSE4.2 versions of intrinsics")                                  \
4e71ed4c2709 6761600: Use sse 4.2 in intrinsics
cfang
parents: 2342
diff changeset
   707
                                                                            \
14132
3c1437abcefd 7184394: add intrinsics to use AES instructions
kvn
parents: 13974
diff changeset
   708
  product(bool, UseAESIntrinsics, false,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   709
          "Use intrinsics for AES versions of crypto")                      \
14132
3c1437abcefd 7184394: add intrinsics to use AES instructions
kvn
parents: 13974
diff changeset
   710
                                                                            \
24953
9680119572be 8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC
kvn
parents: 24931
diff changeset
   711
  product(bool, UseSHA1Intrinsics, false,                                   \
9680119572be 8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC
kvn
parents: 24931
diff changeset
   712
          "Use intrinsics for SHA-1 crypto hash function")                  \
9680119572be 8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC
kvn
parents: 24931
diff changeset
   713
                                                                            \
9680119572be 8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC
kvn
parents: 24931
diff changeset
   714
  product(bool, UseSHA256Intrinsics, false,                                 \
9680119572be 8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC
kvn
parents: 24931
diff changeset
   715
          "Use intrinsics for SHA-224 and SHA-256 crypto hash functions")   \
9680119572be 8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC
kvn
parents: 24931
diff changeset
   716
                                                                            \
9680119572be 8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC
kvn
parents: 24931
diff changeset
   717
  product(bool, UseSHA512Intrinsics, false,                                 \
9680119572be 8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC
kvn
parents: 24931
diff changeset
   718
          "Use intrinsics for SHA-384 and SHA-512 crypto hash functions")   \
9680119572be 8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC
kvn
parents: 24931
diff changeset
   719
                                                                            \
18507
61bfc8995bb3 7088419: Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32
drchase
parents: 18506
diff changeset
   720
  product(bool, UseCRC32Intrinsics, false,                                  \
61bfc8995bb3 7088419: Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32
drchase
parents: 18506
diff changeset
   721
          "use intrinsics for java.util.zip.CRC32")                         \
61bfc8995bb3 7088419: Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32
drchase
parents: 18506
diff changeset
   722
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   723
  develop(bool, TraceCallFixup, false,                                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   724
          "Trace all call fixups")                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   725
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   726
  develop(bool, DeoptimizeALot, false,                                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   727
          "Deoptimize at every exit from the runtime system")               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   728
                                                                            \
1553
fc10c169d15d 6772413: code cleanup
kvn
parents: 1550
diff changeset
   729
  notproduct(ccstrlist, DeoptimizeOnlyAt, "",                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   730
          "A comma separated list of bcis to deoptimize at")                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   731
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   732
  product(bool, DeoptimizeRandom, false,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   733
          "Deoptimize random frames on random exit from the runtime system")\
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   734
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   735
  notproduct(bool, ZombieALot, false,                                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   736
          "Create zombies (non-entrant) at exit from the runtime system")   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   737
                                                                            \
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7896
diff changeset
   738
  product(bool, UnlinkSymbolsALot, false,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   739
          "Unlink unreferenced symbols from the symbol table at safepoints")\
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7896
diff changeset
   740
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   741
  notproduct(bool, WalkStackALot, false,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   742
          "Trace stack (no print) at every exit from the runtime system")   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   743
                                                                            \
10739
91935236600e 7098194: integrate macosx-port changes
dcubed
parents: 10569
diff changeset
   744
  product(bool, Debugging, false,                                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   745
          "Set when executing debug methods in debug.cpp "                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   746
          "(to prevent triggering assertions)")                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   747
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   748
  notproduct(bool, StrictSafepointChecks, trueInDebug,                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   749
          "Enable strict checks that safepoints cannot happen for threads " \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   750
          "that use No_Safepoint_Verifier")                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   751
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   752
  notproduct(bool, VerifyLastFrame, false,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   753
          "Verify oops on last frame on entry to VM")                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   754
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   755
  develop(bool, TraceHandleAllocation, false,                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   756
          "Print out warnings when suspiciously many handles are allocated")\
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   757
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   758
  product(bool, UseCompilerSafepoints, true,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   759
          "Stop at safepoints in compiled code")                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   760
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   761
  product(bool, FailOverToOldVerifier, true,                                \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   762
          "Fail over to old verifier when split verifier fails")            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   763
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   764
  develop(bool, ShowSafepointMsgs, false,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   765
          "Show message about safepoint synchronization")                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   766
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   767
  product(bool, SafepointTimeout, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   768
          "Time out and warn or fail after SafepointTimeoutDelay "          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   769
          "milliseconds if failed to reach safepoint")                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   770
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   771
  develop(bool, DieOnSafepointTimeout, false,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   772
          "Die upon failure to reach safepoint (see SafepointTimeout)")     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   773
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   774
  /* 50 retries * (5 * current_retry_count) millis = ~6.375 seconds */      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   775
  /* typically, at most a few retries are needed */                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   776
  product(intx, SuspendRetryCount, 50,                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   777
          "Maximum retry count for an external suspend request")            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   778
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   779
  product(intx, SuspendRetryDelay, 5,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   780
          "Milliseconds to delay per retry (* current_retry_count)")        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   781
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   782
  product(bool, AssertOnSuspendWaitFailure, false,                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   783
          "Assert/Guarantee on external suspend wait failure")              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   784
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   785
  product(bool, TraceSuspendWaitFailures, false,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   786
          "Trace external suspend wait failures")                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   787
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   788
  product(bool, MaxFDLimit, true,                                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   789
          "Bump the number of file descriptors to maximum in Solaris")      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   790
                                                                            \
11636
3c07b54482a5 7141200: log some interesting information in ring buffers for crashes
never
parents: 11632
diff changeset
   791
  diagnostic(bool, LogEvents, true,                                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   792
          "Enable the various ring buffer event logs")                      \
11636
3c07b54482a5 7141200: log some interesting information in ring buffers for crashes
never
parents: 11632
diff changeset
   793
                                                                            \
17392
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
   794
  diagnostic(uintx, LogEventsBufferEntries, 10,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   795
          "Number of ring buffer event logs")                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   796
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   797
  product(bool, BytecodeVerificationRemote, true,                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   798
          "Enable the Java bytecode verifier for remote classes")           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   799
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   800
  product(bool, BytecodeVerificationLocal, false,                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   801
          "Enable the Java bytecode verifier for local classes")            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   802
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   803
  develop(bool, ForceFloatExceptions, trueInDebug,                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   804
          "Force exceptions on FP stack under/overflow")                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   805
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   806
  develop(bool, VerifyStackAtCalls, false,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   807
          "Verify that the stack pointer is unchanged after calls")         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   808
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   809
  develop(bool, TraceJavaAssertions, false,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   810
          "Trace java language assertions")                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   811
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   812
  notproduct(bool, CheckAssertionStatusDirectives, false,                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   813
          "Temporary - see javaClasses.cpp")                                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   814
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   815
  notproduct(bool, PrintMallocFree, false,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   816
          "Trace calls to C heap malloc/free allocation")                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   817
                                                                            \
6176
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 6062
diff changeset
   818
  product(bool, PrintOopAddress, false,                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   819
          "Always print the location of the oop")                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   820
                                                                            \
23214
b6426873cb37 8029799: vm/mlvm/anonloader/stress/oome prints warning: CodeHeap: # of free blocks > 10000
anoll
parents: 23192
diff changeset
   821
  notproduct(bool, VerifyCodeCache, false,                                  \
b6426873cb37 8029799: vm/mlvm/anonloader/stress/oome prints warning: CodeHeap: # of free blocks > 10000
anoll
parents: 23192
diff changeset
   822
          "Verify code cache on memory allocation/deallocation")            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   823
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   824
  develop(bool, ZapDeadCompiledLocals, false,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   825
          "Zap dead locals in compiler frames")                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   826
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   827
  notproduct(bool, ZapDeadLocalsOld, false,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   828
          "Zap dead locals (old version, zaps all frames when "             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   829
          "entering the VM")                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   830
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   831
  notproduct(bool, CheckOopishValues, false,                                \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   832
          "Warn if value contains oop (requires ZapDeadLocals)")            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   833
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   834
  develop(bool, UseMallocOnly, false,                                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   835
          "Use only malloc/free for allocation (no resource area/arena)")   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   836
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   837
  develop(bool, PrintMalloc, false,                                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   838
          "Print all malloc/free calls")                                    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   839
                                                                            \
8320
544210b4dd48 7017124: Fix some VM stats to avoid 32-bit overflow
kvn
parents: 8076
diff changeset
   840
  develop(bool, PrintMallocStatistics, false,                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   841
          "Print malloc/free statistics")                                   \
8320
544210b4dd48 7017124: Fix some VM stats to avoid 32-bit overflow
kvn
parents: 8076
diff changeset
   842
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   843
  develop(bool, ZapResourceArea, trueInDebug,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   844
          "Zap freed resource/arena space with 0xABABABAB")                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   845
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   846
  notproduct(bool, ZapVMHandleArea, trueInDebug,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   847
          "Zap freed VM handle space with 0xBCBCBCBC")                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   848
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   849
  develop(bool, ZapJNIHandleArea, trueInDebug,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   850
          "Zap freed JNI handle space with 0xFEFEFEFE")                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   851
                                                                            \
6762
f8d1b560700e 6423256: GC stacks should use a better data structure
jcoomes
parents: 6448
diff changeset
   852
  notproduct(bool, ZapStackSegments, trueInDebug,                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   853
          "Zap allocated/freed stack segments with 0xFADFADED")             \
6762
f8d1b560700e 6423256: GC stacks should use a better data structure
jcoomes
parents: 6448
diff changeset
   854
                                                                            \
971
f0b20be4165d 6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents: 765
diff changeset
   855
  develop(bool, ZapUnusedHeapArea, trueInDebug,                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   856
          "Zap unused heap space with 0xBAADBABE")                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   857
                                                                            \
971
f0b20be4165d 6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents: 765
diff changeset
   858
  develop(bool, TraceZapUnusedHeapArea, false,                              \
f0b20be4165d 6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents: 765
diff changeset
   859
          "Trace zapping of unused heap space")                             \
f0b20be4165d 6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents: 765
diff changeset
   860
                                                                            \
f0b20be4165d 6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents: 765
diff changeset
   861
  develop(bool, CheckZapUnusedHeapArea, false,                              \
f0b20be4165d 6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents: 765
diff changeset
   862
          "Check zapping of unused heap space")                             \
f0b20be4165d 6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents: 765
diff changeset
   863
                                                                            \
1668
8ec481b8f514 6578152: fill_region_with_object has usability and safety issues
jcoomes
parents: 1615
diff changeset
   864
  develop(bool, ZapFillerObjects, trueInDebug,                              \
8ec481b8f514 6578152: fill_region_with_object has usability and safety issues
jcoomes
parents: 1615
diff changeset
   865
          "Zap filler objects with 0xDEAFBABE")                             \
8ec481b8f514 6578152: fill_region_with_object has usability and safety issues
jcoomes
parents: 1615
diff changeset
   866
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   867
  develop(bool, PrintVMMessages, true,                                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   868
          "Print VM messages on console")                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   869
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   870
  product(bool, PrintGCApplicationConcurrentTime, false,                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   871
          "Print the time the application has been running")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   872
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   873
  product(bool, PrintGCApplicationStoppedTime, false,                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   874
          "Print the time the application has been stopped")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   875
                                                                            \
13476
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents: 13197
diff changeset
   876
  diagnostic(bool, VerboseVerification, false,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   877
          "Display detailed verification details")                          \
13476
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents: 13197
diff changeset
   878
                                                                            \
5403
6b0dd9c75dde 6888954: argument formatting for assert() and friends
jcoomes
parents: 5251
diff changeset
   879
  notproduct(uintx, ErrorHandlerTest, 0,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   880
          "If > 0, provokes an error after VM initialization; the value "   \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   881
          "determines which error to provoke. See test_error_handler() "    \
5403
6b0dd9c75dde 6888954: argument formatting for assert() and friends
jcoomes
parents: 5251
diff changeset
   882
          "in debug.cpp.")                                                  \
6b0dd9c75dde 6888954: argument formatting for assert() and friends
jcoomes
parents: 5251
diff changeset
   883
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   884
  develop(bool, Verbose, false,                                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   885
          "Print additional debugging information from other modes")        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   886
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   887
  develop(bool, PrintMiscellaneous, false,                                  \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   888
          "Print uncategorized debugging information (requires +Verbose)")  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   889
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   890
  develop(bool, WizardMode, false,                                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   891
          "Print much more debugging information")                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   892
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   893
  product(bool, ShowMessageBoxOnError, false,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   894
          "Keep process alive on VM fatal error")                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   895
                                                                            \
8119
81eef1b06988 7014918: Improve core/minidump handling in Hotspot
ctornqvi
parents: 8114
diff changeset
   896
  product(bool, CreateMinidumpOnCrash, false,                               \
81eef1b06988 7014918: Improve core/minidump handling in Hotspot
ctornqvi
parents: 8114
diff changeset
   897
          "Create minidump on VM fatal error")                              \
81eef1b06988 7014918: Improve core/minidump handling in Hotspot
ctornqvi
parents: 8114
diff changeset
   898
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   899
  product_pd(bool, UseOSErrorReporting,                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   900
          "Let VM fatal error propagate to the OS (ie. WER on Windows)")    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   901
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   902
  product(bool, SuppressFatalErrorMessage, false,                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   903
          "Report NO fatal error message (avoid deadlock)")                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   904
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   905
  product(ccstrlist, OnError, "",                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   906
          "Run user-defined commands on fatal error; see VMError.cpp "      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   907
          "for examples")                                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   908
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   909
  product(ccstrlist, OnOutOfMemoryError, "",                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   910
          "Run user-defined commands on first java.lang.OutOfMemoryError")  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   911
                                                                            \
2141
e9a644aaff87 6797870: Add -XX:+{HeapDump,PrintClassHistogram}{Before,After}FullGC
ysr
parents: 2034
diff changeset
   912
  manageable(bool, HeapDumpBeforeFullGC, false,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   913
          "Dump heap to file before any major stop-the-world GC")           \
2141
e9a644aaff87 6797870: Add -XX:+{HeapDump,PrintClassHistogram}{Before,After}FullGC
ysr
parents: 2034
diff changeset
   914
                                                                            \
e9a644aaff87 6797870: Add -XX:+{HeapDump,PrintClassHistogram}{Before,After}FullGC
ysr
parents: 2034
diff changeset
   915
  manageable(bool, HeapDumpAfterFullGC, false,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   916
          "Dump heap to file after any major stop-the-world GC")            \
2141
e9a644aaff87 6797870: Add -XX:+{HeapDump,PrintClassHistogram}{Before,After}FullGC
ysr
parents: 2034
diff changeset
   917
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   918
  manageable(bool, HeapDumpOnOutOfMemoryError, false,                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   919
          "Dump heap to file when java.lang.OutOfMemoryError is thrown")    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   920
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   921
  manageable(ccstr, HeapDumpPath, NULL,                                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   922
          "When HeapDumpOnOutOfMemoryError is on, the path (filename or "   \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   923
          "directory) of the dump file (defaults to java_pid<pid>.hprof "   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   924
          "in the working directory)")                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   925
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   926
  develop(uintx, SegmentedHeapDumpThreshold, 2*G,                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   927
          "Generate a segmented heap dump (JAVA PROFILE 1.0.2 format) "     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   928
          "when the heap usage is larger than this")                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   929
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   930
  develop(uintx, HeapDumpSegmentSize, 1*G,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   931
          "Approximate segment size when generating a segmented heap dump") \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   932
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   933
  develop(bool, BreakAtWarning, false,                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   934
          "Execute breakpoint upon encountering VM warning")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   935
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   936
  develop(bool, TraceVMOperation, false,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   937
          "Trace VM operations")                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   938
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   939
  develop(bool, UseFakeTimers, false,                                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   940
          "Tell whether the VM should use system time or a fake timer")     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   941
                                                                            \
13195
be27e1b6a4b9 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 13091
diff changeset
   942
  product(ccstr, NativeMemoryTracking, "off",                               \
be27e1b6a4b9 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 13091
diff changeset
   943
          "Native memory tracking options")                                 \
be27e1b6a4b9 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 13091
diff changeset
   944
                                                                            \
13861
619cff4bfb8b 7188594: Print statistic collected by NMT with VM flag
zgu
parents: 13739
diff changeset
   945
  diagnostic(bool, PrintNMTStatistics, false,                               \
619cff4bfb8b 7188594: Print statistic collected by NMT with VM flag
zgu
parents: 13739
diff changeset
   946
          "Print native memory tracking summary data if it is on")          \
619cff4bfb8b 7188594: Print statistic collected by NMT with VM flag
zgu
parents: 13739
diff changeset
   947
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   948
  diagnostic(bool, LogCompilation, false,                                   \
20010
c66a7254680c 8023134: Rename VM LogFile to hotspot_pid{pid}.log (was hotspot.log)
vlivanov
parents: 19770
diff changeset
   949
          "Log compilation activity in detail to LogFile")                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   950
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   951
  product(bool, PrintCompilation, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   952
          "Print compilations")                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   953
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   954
  diagnostic(bool, TraceNMethodInstalls, false,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   955
          "Trace nmethod installation")                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   956
                                                                            \
11195
48e0d7ae1378 7110058: change default for ScavengeRootsInCode to 2
twisti
parents: 10989
diff changeset
   957
  diagnostic(intx, ScavengeRootsInCode, 2,                                  \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   958
          "0: do not allow scavengable oops in the code cache; "            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   959
          "1: allow scavenging from the code cache; "                       \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   960
          "2: emit as many constants as the compiler can see")              \
3908
24b55ad4c228 6863023: need non-perm oops in code cache for JSR 292
jrose
parents: 3610
diff changeset
   961
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   962
  product(bool, AlwaysRestoreFPU, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   963
          "Restore the FPU control word after every JNI call (expensive)")  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   964
                                                                            \
10988
a3b2bd43ef4f 7107042: assert(no_dead_loop) failed: dead loop detected
kvn
parents: 10983
diff changeset
   965
  diagnostic(bool, PrintCompilation2, false,                                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   966
          "Print additional statistics per compilation")                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   967
                                                                            \
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents: 249
diff changeset
   968
  diagnostic(bool, PrintAdapterHandlers, false,                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   969
          "Print code generated for i2c/c2i adapters")                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   970
                                                                            \
13391
30245956af37 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 13197
diff changeset
   971
  diagnostic(bool, VerifyAdapterCalls, trueInDebug,                         \
30245956af37 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 13197
diff changeset
   972
          "Verify that i2c/c2i adapters are called properly")               \
30245956af37 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 13197
diff changeset
   973
                                                                            \
4755
eee57ea6d910 6921922: fix for 6911204 breaks tagged stack interpreter
never
parents: 4754
diff changeset
   974
  develop(bool, VerifyAdapterSharing, false,                                \
eee57ea6d910 6921922: fix for 6911204 breaks tagged stack interpreter
never
parents: 4754
diff changeset
   975
          "Verify that the code for shared adapters is the equivalent")     \
eee57ea6d910 6921922: fix for 6911204 breaks tagged stack interpreter
never
parents: 4754
diff changeset
   976
                                                                            \
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents: 249
diff changeset
   977
  diagnostic(bool, PrintAssembly, false,                                    \
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents: 249
diff changeset
   978
          "Print assembly code (using external disassembler.so)")           \
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents: 249
diff changeset
   979
                                                                            \
1402
ccb40ce62b79 6744783: HotSpot segfaults if given -XX options with an empty string argument
never
parents: 1129
diff changeset
   980
  diagnostic(ccstr, PrintAssemblyOptions, NULL,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
   981
          "Print options string passed to disassembler.so")                 \
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents: 249
diff changeset
   982
                                                                            \
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents: 249
diff changeset
   983
  diagnostic(bool, PrintNMethods, false,                                    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   984
          "Print assembly code for nmethods when generated")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   985
                                                                            \
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents: 249
diff changeset
   986
  diagnostic(bool, PrintNativeNMethods, false,                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   987
          "Print assembly code for native nmethods when generated")         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   988
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   989
  develop(bool, PrintDebugInfo, false,                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   990
          "Print debug information for all nmethods when generated")        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   991
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   992
  develop(bool, PrintRelocations, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   993
          "Print relocation information for all nmethods when generated")   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   994
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   995
  develop(bool, PrintDependencies, false,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   996
          "Print dependency information for all nmethods when generated")   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   997
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   998
  develop(bool, PrintExceptionHandlers, false,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   999
          "Print exception handler tables for all nmethods when generated") \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1000
                                                                            \
14835
70896cb93c35 8004741: Missing compiled exception handle table entry for multidimensional array allocation
kvn
parents: 14490
diff changeset
  1001
  develop(bool, StressCompiledExceptionHandlers, false,                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1002
          "Exercise compiled exception handlers")                           \
14835
70896cb93c35 8004741: Missing compiled exception handle table entry for multidimensional array allocation
kvn
parents: 14490
diff changeset
  1003
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1004
  develop(bool, InterceptOSException, false,                                \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1005
          "Start debugger when an implicit OS (e.g. NULL) "                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1006
          "exception happens")                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1007
                                                                            \
15201
f3d755b11424 8005204: Code Cache Reduction: command line options implementation
vladidan
parents: 15107
diff changeset
  1008
  product(bool, PrintCodeCache, false,                                      \
f3d755b11424 8005204: Code Cache Reduction: command line options implementation
vladidan
parents: 15107
diff changeset
  1009
          "Print the code cache memory usage when exiting")                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1010
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1011
  develop(bool, PrintCodeCache2, false,                                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1012
          "Print detailed usage information on the code cache when exiting")\
15201
f3d755b11424 8005204: Code Cache Reduction: command line options implementation
vladidan
parents: 15107
diff changeset
  1013
                                                                            \
f3d755b11424 8005204: Code Cache Reduction: command line options implementation
vladidan
parents: 15107
diff changeset
  1014
  product(bool, PrintCodeCacheOnCompilation, false,                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1015
          "Print the code cache memory usage each time a method is "        \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1016
          "compiled")                                                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1017
                                                                            \
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents: 249
diff changeset
  1018
  diagnostic(bool, PrintStubCode, false,                                    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1019
          "Print generated stub code")                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1020
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1021
  product(bool, StackTraceInThrowable, true,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1022
          "Collect backtrace in throwable when exception happens")          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1023
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1024
  product(bool, OmitStackTraceInFastThrow, true,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1025
          "Omit backtraces for some 'hot' exceptions in optimized code")    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1026
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1027
  product(bool, ProfilerPrintByteCodeStatistics, false,                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1028
          "Print bytecode statistics when dumping profiler output")         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1029
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1030
  product(bool, ProfilerRecordPC, false,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1031
          "Collect ticks for each 16 byte interval of compiled code")       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1032
                                                                            \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1033
  product(bool, ProfileVM, false,                                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1034
          "Profile ticks that fall within VM (either in the VM Thread "     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1035
          "or VM code called through stubs)")                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1036
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1037
  product(bool, ProfileIntervals, false,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1038
          "Print profiles for each interval (see ProfileIntervalsTicks)")   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1039
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1040
  notproduct(bool, ProfilerCheckIntervals, false,                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1041
          "Collect and print information on spacing of profiler ticks")     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1042
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1043
  develop(bool, PrintJVMWarnings, false,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1044
          "Print warnings for unimplemented JVM functions")                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1045
                                                                            \
6967
c5ebdcf8372e 6392697: Additional flag needed to supress Hotspot warning messages
kamg
parents: 6965
diff changeset
  1046
  product(bool, PrintWarnings, true,                                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1047
          "Print JVM warnings to output stream")                            \
6967
c5ebdcf8372e 6392697: Additional flag needed to supress Hotspot warning messages
kamg
parents: 6965
diff changeset
  1048
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1049
  notproduct(uintx, WarnOnStalledSpinLock, 0,                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1050
          "Print warnings for stalled SpinLocks")                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1051
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1052
  product(bool, RegisterFinalizersAtInit, true,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1053
          "Register finalizable objects at end of Object.<init> or "        \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1054
          "after allocation")                                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1055
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1056
  develop(bool, RegisterReferences, true,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1057
          "Tell whether the VM should register soft/weak/final/phantom "    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1058
          "references")                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1059
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1060
  develop(bool, IgnoreRewrites, false,                                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1061
          "Suppress rewrites of bytecodes in the oopmap generator. "        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1062
          "This is unsafe!")                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1063
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1064
  develop(bool, PrintCodeCacheExtension, false,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1065
          "Print extension of code cache")                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1066
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1067
  develop(bool, UsePrivilegedStack, true,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1068
          "Enable the security JVM functions")                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1069
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1070
  develop(bool, ProtectionDomainVerification, true,                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1071
          "Verify protection domain before resolution in system dictionary")\
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1072
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1073
  product(bool, ClassUnloading, true,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1074
          "Do unloading of classes")                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1075
                                                                            \
25908
8adb2fb6fc3c 8048269: Add flag to turn off class unloading after G1 concurrent mark
stefank
parents: 25905
diff changeset
  1076
  product(bool, ClassUnloadingWithConcurrentMark, true,                     \
8adb2fb6fc3c 8048269: Add flag to turn off class unloading after G1 concurrent mark
stefank
parents: 25905
diff changeset
  1077
          "Do unloading of classes with a concurrent marking cycle")        \
8adb2fb6fc3c 8048269: Add flag to turn off class unloading after G1 concurrent mark
stefank
parents: 25905
diff changeset
  1078
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1079
  develop(bool, DisableStartThread, false,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1080
          "Disable starting of additional Java threads "                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1081
          "(for debugging only)")                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1082
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1083
  develop(bool, MemProfiling, false,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1084
          "Write memory usage profiling to log file")                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1085
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1086
  notproduct(bool, PrintSystemDictionaryAtExit, false,                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1087
          "Print the system dictionary at exit")                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1088
                                                                            \
11628
13155c0c00b4 7114376: Make system dictionary hashtable bucket array size configurable
acorn
parents: 11601
diff changeset
  1089
  experimental(intx, PredictedLoadedClassCount, 0,                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1090
          "Experimental: Tune loaded class cache starting size")            \
11628
13155c0c00b4 7114376: Make system dictionary hashtable bucket array size configurable
acorn
parents: 11601
diff changeset
  1091
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1092
  diagnostic(bool, UnsyncloadClass, false,                                  \
1890
9ce941df84eb 4670071: loadClassInternal is too restrictive.
acorn
parents: 1671
diff changeset
  1093
          "Unstable: VM calls loadClass unsynchronized. Custom "            \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1094
          "class loader must call VM synchronized for findClass "           \
1890
9ce941df84eb 4670071: loadClassInternal is too restrictive.
acorn
parents: 1671
diff changeset
  1095
          "and defineClass.")                                               \
9ce941df84eb 4670071: loadClassInternal is too restrictive.
acorn
parents: 1671
diff changeset
  1096
                                                                            \
9ce941df84eb 4670071: loadClassInternal is too restrictive.
acorn
parents: 1671
diff changeset
  1097
  product(bool, AlwaysLockClassLoader, false,                               \
9ce941df84eb 4670071: loadClassInternal is too restrictive.
acorn
parents: 1671
diff changeset
  1098
          "Require the VM to acquire the class loader lock before calling " \
9ce941df84eb 4670071: loadClassInternal is too restrictive.
acorn
parents: 1671
diff changeset
  1099
          "loadClass() even for class loaders registering "                 \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1100
          "as parallel capable")                                            \
1890
9ce941df84eb 4670071: loadClassInternal is too restrictive.
acorn
parents: 1671
diff changeset
  1101
                                                                            \
9ce941df84eb 4670071: loadClassInternal is too restrictive.
acorn
parents: 1671
diff changeset
  1102
  product(bool, AllowParallelDefineClass, false,                            \
9ce941df84eb 4670071: loadClassInternal is too restrictive.
acorn
parents: 1671
diff changeset
  1103
          "Allow parallel defineClass requests for class loaders "          \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1104
          "registering as parallel capable")                                \
1890
9ce941df84eb 4670071: loadClassInternal is too restrictive.
acorn
parents: 1671
diff changeset
  1105
                                                                            \
9ce941df84eb 4670071: loadClassInternal is too restrictive.
acorn
parents: 1671
diff changeset
  1106
  product(bool, MustCallLoadClassInternal, false,                           \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1107
          "Call loadClassInternal() rather than loadClass()")               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1108
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1109
  product_pd(bool, DontYieldALot,                                           \
24931
4bba680186bd 8044339: Update FilterSpuriousWakeups documentation. Review "Solaris only" vm options descriptions
iignatyev
parents: 24921
diff changeset
  1110
          "Throw away obvious excess yield calls")                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1111
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1112
  product_pd(bool, ConvertSleepToYield,                                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1113
          "Convert sleep(0) to thread yield "                               \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1114
          "(may be off for Solaris to improve GUI)")                        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1115
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1116
  product(bool, ConvertYieldToSleep, false,                                 \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1117
          "Convert yield to a sleep of MinSleepInterval to simulate Win32 " \
24931
4bba680186bd 8044339: Update FilterSpuriousWakeups documentation. Review "Solaris only" vm options descriptions
iignatyev
parents: 24921
diff changeset
  1118
          "behavior")                                                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1119
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1120
  product(bool, UseBoundThreads, true,                                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1121
          "Bind user level threads to kernel threads (for Solaris only)")   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1122
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1123
  develop(bool, UseDetachedThreads, true,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1124
          "Use detached threads that are recycled upon termination "        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1125
          "(for Solaris only)")                                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1126
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1127
  product(bool, UseLWPSynchronization, true,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1128
          "Use LWP-based instead of libthread-based synchronization "       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1129
          "(SPARC only)")                                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1130
                                                                            \
25472
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1131
  experimental(ccstr, SyncKnobs, NULL,                                      \
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1132
               "(Unstable) Various monitor synchronization tunables")       \
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1133
                                                                            \
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1134
  experimental(intx, EmitSync, 0,                                           \
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1135
               "(Unsafe, Unstable) "                                        \
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1136
               "Control emission of inline sync fast-path code")            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1137
                                                                            \
5710
d664086c0add 6852873: Reduce safepoint cleanup time
acorn
parents: 5539
diff changeset
  1138
  product(intx, MonitorBound, 0, "Bound Monitor population")                \
d664086c0add 6852873: Reduce safepoint cleanup time
acorn
parents: 5539
diff changeset
  1139
                                                                            \
d664086c0add 6852873: Reduce safepoint cleanup time
acorn
parents: 5539
diff changeset
  1140
  product(bool, MonitorInUseLists, false, "Track Monitors for Deflation")   \
d664086c0add 6852873: Reduce safepoint cleanup time
acorn
parents: 5539
diff changeset
  1141
                                                                            \
25472
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1142
  experimental(intx, SyncFlags, 0, "(Unsafe, Unstable) "                    \
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1143
               "Experimental Sync flags")                                   \
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1144
                                                                            \
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1145
  experimental(intx, SyncVerbose, 0, "(Unstable)")                          \
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1146
                                                                            \
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1147
  experimental(intx, ClearFPUAtPark, 0, "(Unsafe, Unstable)")               \
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1148
                                                                            \
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1149
  experimental(intx, hashCode, 5,                                           \
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1150
               "(Unstable) select hashCode generation algorithm")           \
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1151
                                                                            \
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1152
  experimental(intx, WorkAroundNPTLTimedWaitHang, 1,                        \
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1153
               "(Unstable, Linux-specific) "                                \
381638db28e6 8047104: cleanup misc issues prior to Contended Locking reorder and cache
dcubed
parents: 25350
diff changeset
  1154
               "avoid NPTL-FUTEX hang pthread_cond_timedwait")              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1155
                                                                            \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1156
  product(bool, FilterSpuriousWakeups, true,                                \
24931
4bba680186bd 8044339: Update FilterSpuriousWakeups documentation. Review "Solaris only" vm options descriptions
iignatyev
parents: 24921
diff changeset
  1157
          "When true prevents OS-level spurious, or premature, wakeups "    \
4bba680186bd 8044339: Update FilterSpuriousWakeups documentation. Review "Solaris only" vm options descriptions
iignatyev
parents: 24921
diff changeset
  1158
          "from Object.wait (Ignored for Windows)")                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1159
                                                                            \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1160
  product(intx, NativeMonitorTimeout, -1, "(Unstable)")                     \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1161
                                                                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1162
  product(intx, NativeMonitorFlags, 0, "(Unstable)")                        \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1163
                                                                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1164
  product(intx, NativeMonitorSpinLimit, 20, "(Unstable)")                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1165
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1166
  develop(bool, UsePthreads, false,                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1167
          "Use pthread-based instead of libthread-based synchronization "   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1168
          "(SPARC only)")                                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1169
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1170
  product(bool, AdjustConcurrency, false,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1171
          "Call thr_setconcurrency at thread creation time to avoid "       \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1172
          "LWP starvation on MP systems (for Solaris Only)")                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1173
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1174
  product(bool, ReduceSignalUsage, false,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1175
          "Reduce the use of OS signals in Java and/or the VM")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1176
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1177
  develop_pd(bool, ShareVtableStubs,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1178
          "Share vtable stubs (smaller code but worse branch prediction")   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1179
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1180
  develop(bool, LoadLineNumberTables, true,                                 \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1181
          "Tell whether the class file parser loads line number tables")    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1182
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1183
  develop(bool, LoadLocalVariableTables, true,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1184
          "Tell whether the class file parser loads local variable tables") \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1185
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1186
  develop(bool, LoadLocalVariableTypeTables, true,                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1187
          "Tell whether the class file parser loads local variable type"    \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1188
          "tables")                                                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1189
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1190
  product(bool, AllowUserSignalHandlers, false,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1191
          "Do not complain if the application installs signal handlers "    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1192
          "(Solaris & Linux only)")                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1193
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1194
  product(bool, UseSignalChaining, true,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1195
          "Use signal-chaining to invoke signal handlers installed "        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1196
          "by the application (Solaris & Linux only)")                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1197
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1198
  product(bool, UseAltSigs, false,                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1199
          "Use alternate signals instead of SIGUSR1 & SIGUSR2 for VM "      \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1200
          "internal signals (Solaris only)")                                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1201
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1202
  product(bool, AllowJNIEnvProxy, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1203
          "Allow JNIEnv proxies for jdbx")                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1204
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1205
  product(bool, JNIDetachReleasesMonitors, true,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1206
          "JNI DetachCurrentThread releases monitors owned by thread")      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1207
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1208
  product(bool, RestoreMXCSROnJNICalls, false,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1209
          "Restore MXCSR when returning from JNI calls")                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1210
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1211
  product(bool, CheckJNICalls, false,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1212
          "Verify all arguments to JNI calls")                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1213
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1214
  product(bool, UseFastJNIAccessors, true,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1215
          "Use optimized versions of Get<Primitive>Field")                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1216
                                                                            \
25630
ff281ea14d41 8046919: jni_PushLocalFrame OOM - increase MAX_REASONABLE_LOCAL_CAPACITY
dsimms
parents: 25472
diff changeset
  1217
  product(intx, MaxJNILocalCapacity, 65536,                                 \
ff281ea14d41 8046919: jni_PushLocalFrame OOM - increase MAX_REASONABLE_LOCAL_CAPACITY
dsimms
parents: 25472
diff changeset
  1218
          "Maximum allowable local JNI handle capacity to "                 \
ff281ea14d41 8046919: jni_PushLocalFrame OOM - increase MAX_REASONABLE_LOCAL_CAPACITY
dsimms
parents: 25472
diff changeset
  1219
          "EnsureLocalCapacity() and PushLocalFrame(), "                    \
ff281ea14d41 8046919: jni_PushLocalFrame OOM - increase MAX_REASONABLE_LOCAL_CAPACITY
dsimms
parents: 25472
diff changeset
  1220
          "where <= 0 is unlimited, default: 65536")                        \
ff281ea14d41 8046919: jni_PushLocalFrame OOM - increase MAX_REASONABLE_LOCAL_CAPACITY
dsimms
parents: 25472
diff changeset
  1221
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1222
  product(bool, EagerXrunInit, false,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1223
          "Eagerly initialize -Xrun libraries; allows startup profiling, "  \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1224
          "but not all -Xrun libraries may support the state of the VM "    \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1225
          "at this time")                                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1226
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1227
  product(bool, PreserveAllAnnotations, false,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1228
          "Preserve RuntimeInvisibleAnnotations as well "                   \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1229
          "as RuntimeVisibleAnnotations")                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1230
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1231
  develop(uintx, PreallocatedOutOfMemoryErrorCount, 4,                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1232
          "Number of OutOfMemoryErrors preallocated with backtrace")        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1233
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1234
  product(bool, LazyBootClassLoader, true,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1235
          "Enable/disable lazy opening of boot class path entries")         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1236
                                                                            \
1437
d1846c1c04c4 6532536: Optimize arraycopy stubs for Intel cpus
kvn
parents: 1434
diff changeset
  1237
  product(bool, UseXMMForArrayCopy, false,                                  \
d1846c1c04c4 6532536: Optimize arraycopy stubs for Intel cpus
kvn
parents: 1434
diff changeset
  1238
          "Use SSE2 MOVQ instruction for Arraycopy")                        \
d1846c1c04c4 6532536: Optimize arraycopy stubs for Intel cpus
kvn
parents: 1434
diff changeset
  1239
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1240
  product(intx, FieldsAllocationStyle, 1,                                   \
5250
ea743ca75cd9 6940733: allocate non static oop fields in super and sub classes together
kvn
parents: 5249
diff changeset
  1241
          "0 - type based with oops first, 1 - with oops last, "            \
ea743ca75cd9 6940733: allocate non static oop fields in super and sub classes together
kvn
parents: 5249
diff changeset
  1242
          "2 - oops in super and sub classes are together")                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1243
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1244
  product(bool, CompactFields, true,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1245
          "Allocate nonstatic fields in gaps between previous fields")      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1246
                                                                            \
15193
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15101
diff changeset
  1247
  notproduct(bool, PrintFieldLayout, false,                                 \
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15101
diff changeset
  1248
          "Print field layout for each class")                              \
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15101
diff changeset
  1249
                                                                            \
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15101
diff changeset
  1250
  product(intx, ContendedPaddingWidth, 128,                                 \
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15101
diff changeset
  1251
          "How many bytes to pad the fields/classes marked @Contended with")\
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15101
diff changeset
  1252
                                                                            \
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15101
diff changeset
  1253
  product(bool, EnableContended, true,                                      \
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15101
diff changeset
  1254
          "Enable @Contended annotation support")                           \
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15101
diff changeset
  1255
                                                                            \
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15101
diff changeset
  1256
  product(bool, RestrictContended, true,                                    \
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15101
diff changeset
  1257
          "Restrict @Contended to trusted classes")                         \
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15101
diff changeset
  1258
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1259
  product(bool, UseBiasedLocking, true,                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1260
          "Enable biased locking in JVM")                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1261
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1262
  product(intx, BiasedLockingStartupDelay, 4000,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1263
          "Number of milliseconds to wait before enabling biased locking")  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1264
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1265
  diagnostic(bool, PrintBiasedLockingStatistics, false,                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1266
          "Print statistics of biased locking in JVM")                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1267
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1268
  product(intx, BiasedLockingBulkRebiasThreshold, 20,                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1269
          "Threshold of number of revocations per type to try to "          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1270
          "rebias all objects in the heap of that type")                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1271
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1272
  product(intx, BiasedLockingBulkRevokeThreshold, 40,                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1273
          "Threshold of number of revocations per type to permanently "     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1274
          "revoke biases of all objects in the heap of that type")          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1275
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1276
  product(intx, BiasedLockingDecayTime, 25000,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1277
          "Decay time (in milliseconds) to re-enable bulk rebiasing of a "  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1278
          "type after previous bulk rebias")                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1279
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1280
  /* tracing */                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1281
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1282
  notproduct(bool, TraceRuntimeCalls, false,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1283
          "Trace run-time calls")                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1284
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1285
  develop(bool, TraceJNICalls, false,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1286
          "Trace JNI calls")                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1287
                                                                            \
22750
a3c879b18f22 8033528: assert(0 <= i && i < length()) failed: index out of bounds
coleenp
parents: 22556
diff changeset
  1288
  develop(bool, StressRewriter, false,                                      \
a3c879b18f22 8033528: assert(0 <= i && i < length()) failed: index out of bounds
coleenp
parents: 22556
diff changeset
  1289
          "Stress linktime bytecode rewriting")                             \
a3c879b18f22 8033528: assert(0 <= i && i < length()) failed: index out of bounds
coleenp
parents: 22556
diff changeset
  1290
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1291
  notproduct(bool, TraceJVMCalls, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1292
          "Trace JVM calls")                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1293
                                                                            \
1402
ccb40ce62b79 6744783: HotSpot segfaults if given -XX options with an empty string argument
never
parents: 1129
diff changeset
  1294
  product(ccstr, TraceJVMTI, NULL,                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1295
          "Trace flags for JVMTI functions and events")                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1296
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1297
  /* This option can change an EMCP method into an obsolete method. */      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1298
  /* This can affect tests that except specific methods to be EMCP. */      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1299
  /* This option should be used with caution. */                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1300
  product(bool, StressLdcRewrite, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1301
          "Force ldc -> ldc_w rewrite during RedefineClasses")              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1302
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1303
  product(intx, TraceRedefineClasses, 0,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1304
          "Trace level for JVMTI RedefineClasses")                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1305
                                                                            \
5697
0cf7190475ee 6957080: MethodComparator needs stress testing
jrose
parents: 5694
diff changeset
  1306
  develop(bool, StressMethodComparator, false,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1307
          "Run the MethodComparator on all loaded methods")                 \
5697
0cf7190475ee 6957080: MethodComparator needs stress testing
jrose
parents: 5694
diff changeset
  1308
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1309
  /* change to false by default sometime after Mustang */                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1310
  product(bool, VerifyMergedCPBytecodes, true,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1311
          "Verify bytecodes after RedefineClasses constant pool merging")   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1312
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1313
  develop(bool, TraceJNIHandleAllocation, false,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1314
          "Trace allocation/deallocation of JNI handle blocks")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1315
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1316
  develop(bool, TraceThreadEvents, false,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1317
          "Trace all thread events")                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1318
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1319
  develop(bool, TraceBytecodes, false,                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1320
          "Trace bytecode execution")                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1321
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1322
  develop(bool, TraceClassInitialization, false,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1323
          "Trace class initialization")                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1324
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1325
  develop(bool, TraceExceptions, false,                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1326
          "Trace exceptions")                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1327
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1328
  develop(bool, TraceICs, false,                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1329
          "Trace inline cache changes")                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1330
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1331
  notproduct(bool, TraceInvocationCounterOverflow, false,                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1332
          "Trace method invocation counter overflow")                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1333
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1334
  develop(bool, TraceInlineCacheClearing, false,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1335
          "Trace clearing of inline caches in nmethods")                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1336
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1337
  develop(bool, TraceDependencies, false,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1338
          "Trace dependencies")                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1339
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1340
  develop(bool, VerifyDependencies, trueInDebug,                            \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1341
          "Exercise and verify the compilation dependency mechanism")       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1342
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1343
  develop(bool, TraceNewOopMapGeneration, false,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1344
          "Trace OopMapGeneration")                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1345
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1346
  develop(bool, TraceNewOopMapGenerationDetailed, false,                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1347
          "Trace OopMapGeneration: print detailed cell states")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1348
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1349
  develop(bool, TimeOopMap, false,                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1350
          "Time calls to GenerateOopMap::compute_map() in sum")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1351
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1352
  develop(bool, TimeOopMap2, false,                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1353
          "Time calls to GenerateOopMap::compute_map() individually")       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1354
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1355
  develop(bool, TraceMonitorMismatch, false,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1356
          "Trace monitor matching failures during OopMapGeneration")        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1357
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1358
  develop(bool, TraceOopMapRewrites, false,                                 \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1359
          "Trace rewriting of method oops during oop map generation")       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1360
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1361
  develop(bool, TraceSafepoint, false,                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1362
          "Trace safepoint operations")                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1363
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1364
  develop(bool, TraceICBuffer, false,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1365
          "Trace usage of IC buffer")                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1366
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1367
  develop(bool, TraceCompiledIC, false,                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1368
          "Trace changes of compiled IC")                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1369
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1370
  notproduct(bool, TraceZapDeadLocals, false,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1371
          "Trace zapping dead locals")                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1372
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1373
  develop(bool, TraceStartupTime, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1374
          "Trace setup time")                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1375
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1376
  develop(bool, TraceProtectionDomainVerification, false,                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1377
          "Trace protection domain verification")                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1378
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1379
  develop(bool, TraceClearedExceptions, false,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1380
          "Print when an exception is forcibly cleared")                    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1381
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1382
  product(bool, TraceClassResolution, false,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1383
          "Trace all constant pool resolutions (for debugging)")            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1384
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1385
  product(bool, TraceBiasedLocking, false,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1386
          "Trace biased locking in JVM")                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1387
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1388
  product(bool, TraceMonitorInflation, false,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1389
          "Trace monitor inflation in JVM")                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1390
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1391
  /* gc */                                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1392
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1393
  product(bool, UseSerialGC, false,                                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1394
          "Use the Serial garbage collector")                               \
1374
4c24294029a9 6711316: Open source the Garbage-First garbage collector
ysr
parents: 389
diff changeset
  1395
                                                                            \
4741
3b1373d466d2 6919980: G1: remove +UseG1GC from under experimental options (second attempt)
tonyp
parents: 4650
diff changeset
  1396
  product(bool, UseG1GC, false,                                             \
1374
4c24294029a9 6711316: Open source the Garbage-First garbage collector
ysr
parents: 389
diff changeset
  1397
          "Use the Garbage-First garbage collector")                        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1398
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1399
  product(bool, UseParallelGC, false,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1400
          "Use the Parallel Scavenge garbage collector")                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1401
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1402
  product(bool, UseParallelOldGC, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1403
          "Use the Parallel Old garbage collector")                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1404
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1405
  product(uintx, HeapMaximumCompactionInterval, 20,                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1406
          "How often should we maximally compact the heap (not allowing "   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1407
          "any dead space)")                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1408
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1409
  product(uintx, HeapFirstMaximumCompactionCount, 3,                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1410
          "The collection count for the first maximum compaction")          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1411
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1412
  product(bool, UseMaximumCompactionOnSystemGC, true,                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1413
          "Use maximum compaction in the Parallel Old garbage collector "   \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1414
          "for a system GC")                                                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1415
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1416
  product(uintx, ParallelOldDeadWoodLimiterMean, 50,                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1417
          "The mean used by the parallel compact dead wood "                \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1418
          "limiter (a number between 0-100)")                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1419
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1420
  product(uintx, ParallelOldDeadWoodLimiterStdDev, 80,                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1421
          "The standard deviation used by the parallel compact dead wood "  \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1422
          "limiter (a number between 0-100)")                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1423
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1424
  product(uintx, ParallelGCThreads, 0,                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1425
          "Number of parallel threads parallel gc will use")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1426
                                                                            \
11174
fccee5238e70 6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
jmasa
parents: 10991
diff changeset
  1427
  product(bool, UseDynamicNumberOfGCThreads, false,                         \
fccee5238e70 6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
jmasa
parents: 10991
diff changeset
  1428
          "Dynamically choose the number of parallel threads "              \
fccee5238e70 6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
jmasa
parents: 10991
diff changeset
  1429
          "parallel gc will use")                                           \
fccee5238e70 6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
jmasa
parents: 10991
diff changeset
  1430
                                                                            \
fccee5238e70 6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
jmasa
parents: 10991
diff changeset
  1431
  diagnostic(bool, ForceDynamicNumberOfGCThreads, false,                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1432
          "Force dynamic selection of the number of "                       \
11174
fccee5238e70 6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
jmasa
parents: 10991
diff changeset
  1433
          "parallel threads parallel gc will use to aid debugging")         \
fccee5238e70 6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
jmasa
parents: 10991
diff changeset
  1434
                                                                            \
fccee5238e70 6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
jmasa
parents: 10991
diff changeset
  1435
  product(uintx, HeapSizePerGCThread, ScaleForWordSize(64*M),               \
fccee5238e70 6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
jmasa
parents: 10991
diff changeset
  1436
          "Size of heap (bytes) per GC thread used in calculating the "     \
fccee5238e70 6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
jmasa
parents: 10991
diff changeset
  1437
          "number of GC threads")                                           \
fccee5238e70 6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
jmasa
parents: 10991
diff changeset
  1438
                                                                            \
fccee5238e70 6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
jmasa
parents: 10991
diff changeset
  1439
  product(bool, TraceDynamicGCThreads, false,                               \
fccee5238e70 6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
jmasa
parents: 10991
diff changeset
  1440
          "Trace the dynamic GC thread usage")                              \
fccee5238e70 6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
jmasa
parents: 10991
diff changeset
  1441
                                                                            \
1670
0deb85ea62d5 6765954: par compact - stress mode for splitting young gen spaces
jcoomes
parents: 1668
diff changeset
  1442
  develop(bool, ParallelOldGCSplitALot, false,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1443
          "Provoke splitting (copying data from a young gen space to "      \
1670
0deb85ea62d5 6765954: par compact - stress mode for splitting young gen spaces
jcoomes
parents: 1668
diff changeset
  1444
          "multiple destination spaces)")                                   \
0deb85ea62d5 6765954: par compact - stress mode for splitting young gen spaces
jcoomes
parents: 1668
diff changeset
  1445
                                                                            \
0deb85ea62d5 6765954: par compact - stress mode for splitting young gen spaces
jcoomes
parents: 1668
diff changeset
  1446
  develop(uintx, ParallelOldGCSplitInterval, 3,                             \
0deb85ea62d5 6765954: par compact - stress mode for splitting young gen spaces
jcoomes
parents: 1668
diff changeset
  1447
          "How often to provoke splitting a young gen space")               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1448
                                                                            \
5035
0e498c4df637 6928081: G1: rename parameters common with CMS
jmasa
parents: 5034
diff changeset
  1449
  product(uintx, ConcGCThreads, 0,                                          \
0e498c4df637 6928081: G1: rename parameters common with CMS
jmasa
parents: 5034
diff changeset
  1450
          "Number of threads concurrent gc will use")                       \
1374
4c24294029a9 6711316: Open source the Garbage-First garbage collector
ysr
parents: 389
diff changeset
  1451
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1452
  product(uintx, YoungPLABSize, 4096,                                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1453
          "Size of young gen promotion LAB's (in HeapWords)")               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1454
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1455
  product(uintx, OldPLABSize, 1024,                                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1456
          "Size of old gen promotion LAB's (in HeapWords)")                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1457
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1458
  product(uintx, GCTaskTimeStampEntries, 200,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1459
          "Number of time stamp entries per gc worker thread")              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1460
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1461
  product(bool, AlwaysTenure, false,                                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1462
          "Always tenure objects in eden (ParallelGC only)")                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1463
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1464
  product(bool, NeverTenure, false,                                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1465
          "Never tenure objects in eden, may tenure on overflow "           \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1466
          "(ParallelGC only)")                                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1467
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1468
  product(bool, ScavengeBeforeFullGC, true,                                 \
24941
4ebbe176a7b1 8042298: Remove the names gen0 and gen1 from the GC code
jwilhelm
parents: 24461
diff changeset
  1469
          "Scavenge youngest generation before each full GC.")              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1470
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1471
  develop(bool, ScavengeWithObjectsInToSpace, false,                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1472
          "Allow scavenges to occur when to-space contains objects")        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1473
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1474
  product(bool, UseConcMarkSweepGC, false,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1475
          "Use Concurrent Mark-Sweep GC in the old generation")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1476
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1477
  product(bool, ExplicitGCInvokesConcurrent, false,                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1478
          "A System.gc() request invokes a concurrent collection; "         \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1479
          "(effective only when UseConcMarkSweepGC)")                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1480
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1481
  product(bool, ExplicitGCInvokesConcurrentAndUnloadsClasses, false,        \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1482
          "A System.gc() request invokes a concurrent collection and "      \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1483
          "also unloads classes during such a concurrent gc cycle "         \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1484
          "(effective only when UseConcMarkSweepGC)")                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1485
                                                                            \
5433
c182d4c3039e 6919638: CMS: ExplicitGCInvokesConcurrent misinteracts with gc locker
ysr
parents: 5431
diff changeset
  1486
  product(bool, GCLockerInvokesConcurrent, false,                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1487
          "The exit of a JNI critical section necessitating a scavenge, "   \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1488
          "also kicks off a background concurrent collection")              \
5433
c182d4c3039e 6919638: CMS: ExplicitGCInvokesConcurrent misinteracts with gc locker
ysr
parents: 5431
diff changeset
  1489
                                                                            \
7416
cfe3bfab7d48 6994056: G1: when GC locker is active, extend the Eden instead of allocating into the old gen
tonyp
parents: 7397
diff changeset
  1490
  product(uintx, GCLockerEdenExpansionPercent, 5,                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1491
          "How much the GC can expand the eden by while the GC locker "     \
7416
cfe3bfab7d48 6994056: G1: when GC locker is active, extend the Eden instead of allocating into the old gen
tonyp
parents: 7397
diff changeset
  1492
          "is active (as a percentage)")                                    \
cfe3bfab7d48 6994056: G1: when GC locker is active, extend the Eden instead of allocating into the old gen
tonyp
parents: 7397
diff changeset
  1493
                                                                            \
16604
800a65bfe347 7014552: gc/lock/jni/jnilockXXX works too slow on 1-processor machine
mgerdin
parents: 15922
diff changeset
  1494
  diagnostic(intx, GCLockerRetryAllocationCount, 2,                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1495
          "Number of times to retry allocations when "                      \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1496
          "blocked by the GC locker")                                       \
16604
800a65bfe347 7014552: gc/lock/jni/jnilockXXX works too slow on 1-processor machine
mgerdin
parents: 15922
diff changeset
  1497
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1498
  develop(bool, UseCMSAdaptiveFreeLists, true,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1499
          "Use adaptive free lists in the CMS generation")                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1500
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1501
  develop(bool, UseAsyncConcMarkSweepGC, true,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1502
          "Use Asynchronous Concurrent Mark-Sweep GC in the old generation")\
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1503
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1504
  develop(bool, RotateCMSCollectionTypes, false,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1505
          "Rotate the CMS collections among concurrent and STW")            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1506
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1507
  product(bool, UseCMSBestFit, true,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1508
          "Use CMS best fit allocation strategy")                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1509
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1510
  product(bool, UseCMSCollectionPassing, true,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1511
          "Use passing of collection from background to foreground")        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1512
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1513
  product(bool, UseParNewGC, false,                                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1514
          "Use parallel threads in the new generation")                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1515
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1516
  product(bool, ParallelGCVerbose, false,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1517
          "Verbose output for parallel gc")                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1518
                                                                            \
17392
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
  1519
  product(uintx, ParallelGCBufferWastePct, 10,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1520
          "Wasted fraction of parallel allocation buffer")                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1521
                                                                            \
9624
c3657c3324ee 6883834: ParNew: assert(!_g->to()->is_in_reserved(obj),"Scanning field twice?") with LargeObjects tests
ysr
parents: 9426
diff changeset
  1522
  diagnostic(bool, ParallelGCRetainPLAB, false,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1523
          "Retain parallel allocation buffers across scavenges; "           \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1524
          "it is disabled because this currently conflicts with "           \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1525
          "parallel card scanning under certain conditions.")               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1526
                                                                            \
17392
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
  1527
  product(uintx, TargetPLABWastePct, 10,                                    \
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
  1528
          "Target wasted space in last buffer as percent of overall "       \
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
  1529
          "allocation")                                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1530
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1531
  product(uintx, PLABWeight, 75,                                            \
22775
52bc5222f5f1 8026849: Fix typos in the GC code, part 2
jwilhelm
parents: 22556
diff changeset
  1532
          "Percentage (0-100) used to weight the current sample when "      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1533
          "computing exponentially decaying average for ResizePLAB")        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1534
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1535
  product(bool, ResizePLAB, true,                                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1536
          "Dynamically resize (survivor space) promotion LAB's")            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1537
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1538
  product(bool, PrintPLAB, false,                                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1539
          "Print (survivor space) promotion LAB's sizing decisions")        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1540
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1541
  product(intx, ParGCArrayScanChunk, 50,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1542
          "Scan a subset of object array and push remainder, if array is "  \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1543
          "bigger than this")                                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1544
                                                                            \
2362
5e1bfddf919e 6824570: ParNew: Fix memory leak introduced in 6819891
ysr
parents: 2346
diff changeset
  1545
  product(bool, ParGCUseLocalOverflow, false,                               \
5e1bfddf919e 6824570: ParNew: Fix memory leak introduced in 6819891
ysr
parents: 2346
diff changeset
  1546
          "Instead of a global overflow list, use local overflow stacks")   \
5e1bfddf919e 6824570: ParNew: Fix memory leak introduced in 6819891
ysr
parents: 2346
diff changeset
  1547
                                                                            \
2346
3aa355016e90 6819891: ParNew: Fix work queue overflow code to deal correctly with +UseCompressedOops
ysr
parents: 2259
diff changeset
  1548
  product(bool, ParGCTrimOverflow, true,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1549
          "Eagerly trim the local overflow lists "                          \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1550
          "(when ParGCUseLocalOverflow)")                                   \
2346
3aa355016e90 6819891: ParNew: Fix work queue overflow code to deal correctly with +UseCompressedOops
ysr
parents: 2259
diff changeset
  1551
                                                                            \
1910
386106352d02 6786503: Overflow list performance can be improved
ysr
parents: 1890
diff changeset
  1552
  notproduct(bool, ParGCWorkQueueOverflowALot, false,                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1553
          "Simulate work queue overflow in ParNew")                         \
1910
386106352d02 6786503: Overflow list performance can be improved
ysr
parents: 1890
diff changeset
  1554
                                                                            \
386106352d02 6786503: Overflow list performance can be improved
ysr
parents: 1890
diff changeset
  1555
  notproduct(uintx, ParGCWorkQueueOverflowInterval, 1000,                   \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1556
          "An `interval' counter that determines how frequently "           \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1557
          "we simulate overflow; a smaller number increases frequency")     \
1910
386106352d02 6786503: Overflow list performance can be improved
ysr
parents: 1890
diff changeset
  1558
                                                                            \
386106352d02 6786503: Overflow list performance can be improved
ysr
parents: 1890
diff changeset
  1559
  product(uintx, ParGCDesiredObjsFromOverflowList, 20,                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1560
          "The desired number of objects to claim from the overflow list")  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1561
                                                                            \
11396
917d8673b5ef 7121618: Change type of number of GC workers to unsigned int.
jmasa
parents: 11201
diff changeset
  1562
  diagnostic(uintx, ParGCStridesPerThread, 2,                               \
9624
c3657c3324ee 6883834: ParNew: assert(!_g->to()->is_in_reserved(obj),"Scanning field twice?") with LargeObjects tests
ysr
parents: 9426
diff changeset
  1563
          "The number of strides per worker thread that we divide up the "  \
c3657c3324ee 6883834: ParNew: assert(!_g->to()->is_in_reserved(obj),"Scanning field twice?") with LargeObjects tests
ysr
parents: 9426
diff changeset
  1564
          "card table scanning work into")                                  \
c3657c3324ee 6883834: ParNew: assert(!_g->to()->is_in_reserved(obj),"Scanning field twice?") with LargeObjects tests
ysr
parents: 9426
diff changeset
  1565
                                                                            \
c3657c3324ee 6883834: ParNew: assert(!_g->to()->is_in_reserved(obj),"Scanning field twice?") with LargeObjects tests
ysr
parents: 9426
diff changeset
  1566
  diagnostic(intx, ParGCCardsPerStrideChunk, 256,                           \
c3657c3324ee 6883834: ParNew: assert(!_g->to()->is_in_reserved(obj),"Scanning field twice?") with LargeObjects tests
ysr
parents: 9426
diff changeset
  1567
          "The number of cards in each chunk of the parallel chunks used "  \
c3657c3324ee 6883834: ParNew: assert(!_g->to()->is_in_reserved(obj),"Scanning field twice?") with LargeObjects tests
ysr
parents: 9426
diff changeset
  1568
          "during card table scanning")                                     \
c3657c3324ee 6883834: ParNew: assert(!_g->to()->is_in_reserved(obj),"Scanning field twice?") with LargeObjects tests
ysr
parents: 9426
diff changeset
  1569
                                                                            \
c3657c3324ee 6883834: ParNew: assert(!_g->to()->is_in_reserved(obj),"Scanning field twice?") with LargeObjects tests
ysr
parents: 9426
diff changeset
  1570
  product(uintx, CMSParPromoteBlocksToClaim, 16,                            \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1571
          "Number of blocks to attempt to claim when refilling CMS LAB's "  \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1572
          "for parallel GC")                                                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1573
                                                                            \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1574
  product(uintx, OldPLABWeight, 50,                                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1575
          "Percentage (0-100) used to weight the current sample when "      \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1576
          "computing exponentially decaying average for resizing "          \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1577
          "CMSParPromoteBlocksToClaim")                                     \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1578
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1579
  product(bool, ResizeOldPLAB, true,                                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1580
          "Dynamically resize (old gen) promotion LAB's")                   \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1581
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1582
  product(bool, PrintOldPLAB, false,                                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1583
          "Print (old gen) promotion LAB's sizing decisions")               \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1584
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1585
  product(uintx, CMSOldPLABMin, 16,                                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1586
          "Minimum size of CMS gen promotion LAB caches per worker "        \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1587
          "per block size")                                                 \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1588
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1589
  product(uintx, CMSOldPLABMax, 1024,                                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1590
          "Maximum size of CMS gen promotion LAB caches per worker "        \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1591
          "per block size")                                                 \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1592
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1593
  product(uintx, CMSOldPLABNumRefills, 4,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1594
          "Nominal number of refills of CMS gen promotion LAB cache "       \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1595
          "per worker per block size")                                      \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1596
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1597
  product(bool, CMSOldPLABResizeQuicker, false,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1598
          "React on-the-fly during a scavenge to a sudden "                 \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1599
          "change in block demand rate")                                    \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1600
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1601
  product(uintx, CMSOldPLABToleranceFactor, 4,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1602
          "The tolerance of the phase-change detector for on-the-fly "      \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1603
          "PLAB resizing during a scavenge")                                \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1604
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1605
  product(uintx, CMSOldPLABReactivityFactor, 2,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1606
          "The gain in the feedback loop for on-the-fly PLAB resizing "     \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1607
          "during a scavenge")                                              \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1608
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1609
  product(bool, AlwaysPreTouch, false,                                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1610
          "Force all freshly committed pages to be pre-touched")            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1611
                                                                            \
17392
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
  1612
  product_pd(uintx, CMSYoungGenPerWorker,                                   \
8687
264727307495 6896099: Integrate CMS heap ergo with default heap sizing ergo
ysr
parents: 8681
diff changeset
  1613
          "The maximum size of young gen chosen by default per GC worker "  \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1614
          "thread available")                                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1615
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1616
  product(bool, CMSIncrementalMode, false,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1617
          "Whether CMS GC should operate in \"incremental\" mode")          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1618
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1619
  product(uintx, CMSIncrementalDutyCycle, 10,                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1620
          "Percentage (0-100) of CMS incremental mode duty cycle. If "      \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1621
          "CMSIncrementalPacing is enabled, then this is just the initial " \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1622
          "value.")                                                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1623
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1624
  product(bool, CMSIncrementalPacing, true,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1625
          "Whether the CMS incremental mode duty cycle should be "          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1626
          "automatically adjusted")                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1627
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1628
  product(uintx, CMSIncrementalDutyCycleMin, 0,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1629
          "Minimum percentage (0-100) of the CMS incremental duty cycle "   \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1630
          "used when CMSIncrementalPacing is enabled")                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1631
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1632
  product(uintx, CMSIncrementalSafetyFactor, 10,                            \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1633
          "Percentage (0-100) used to add conservatism when computing the " \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1634
          "duty cycle")                                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1635
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1636
  product(uintx, CMSIncrementalOffset, 0,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1637
          "Percentage (0-100) by which the CMS incremental mode duty cycle "\
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1638
          "is shifted to the right within the period between young GCs")    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1639
                                                                            \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1640
  product(uintx, CMSExpAvgFactor, 50,                                       \
22775
52bc5222f5f1 8026849: Fix typos in the GC code, part 2
jwilhelm
parents: 22556
diff changeset
  1641
          "Percentage (0-100) used to weight the current sample when "      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1642
          "computing exponential averages for CMS statistics")              \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1643
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1644
  product(uintx, CMS_FLSWeight, 75,                                         \
22775
52bc5222f5f1 8026849: Fix typos in the GC code, part 2
jwilhelm
parents: 22556
diff changeset
  1645
          "Percentage (0-100) used to weight the current sample when "      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1646
          "computing exponentially decaying averages for CMS FLS "          \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1647
          "statistics")                                                     \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1648
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1649
  product(uintx, CMS_FLSPadding, 1,                                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1650
          "The multiple of deviation from mean to use for buffering "       \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1651
          "against volatility in free list demand")                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1652
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1653
  product(uintx, FLSCoalescePolicy, 2,                                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1654
          "CMS: aggressiveness level for coalescing, increasing "           \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1655
          "from 0 to 4")                                                    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1656
                                                                            \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1657
  product(bool, FLSAlwaysCoalesceLarge, false,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1658
          "CMS: larger free blocks are always available for coalescing")    \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1659
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1660
  product(double, FLSLargestBlockCoalesceProximity, 0.99,                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1661
          "CMS: the smaller the percentage the greater the coalescing "     \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1662
          "force")                                                          \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1663
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1664
  product(double, CMSSmallCoalSurplusPercent, 1.05,                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1665
          "CMS: the factor by which to inflate estimated demand of small "  \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1666
          "block sizes to prevent coalescing with an adjoining block")      \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1667
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1668
  product(double, CMSLargeCoalSurplusPercent, 0.95,                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1669
          "CMS: the factor by which to inflate estimated demand of large "  \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1670
          "block sizes to prevent coalescing with an adjoining block")      \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1671
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1672
  product(double, CMSSmallSplitSurplusPercent, 1.10,                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1673
          "CMS: the factor by which to inflate estimated demand of small "  \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1674
          "block sizes to prevent splitting to supply demand for smaller "  \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1675
          "blocks")                                                         \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1676
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1677
  product(double, CMSLargeSplitSurplusPercent, 1.00,                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1678
          "CMS: the factor by which to inflate estimated demand of large "  \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1679
          "block sizes to prevent splitting to supply demand for smaller "  \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1680
          "blocks")                                                         \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1681
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1682
  product(bool, CMSExtrapolateSweep, false,                                 \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1683
          "CMS: cushion for block demand during sweep")                     \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1684
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1685
  product(uintx, CMS_SweepWeight, 75,                                       \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1686
          "Percentage (0-100) used to weight the current sample when "      \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1687
          "computing exponentially decaying average for inter-sweep "       \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1688
          "duration")                                                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1689
                                                                            \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1690
  product(uintx, CMS_SweepPadding, 1,                                       \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1691
          "The multiple of deviation from mean to use for buffering "       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1692
          "against volatility in inter-sweep duration")                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1693
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1694
  product(uintx, CMS_SweepTimerThresholdMillis, 10,                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1695
          "Skip block flux-rate sampling for an epoch unless inter-sweep "  \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1696
          "duration exceeds this threshold in milliseconds")                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1697
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1698
  develop(bool, CMSTraceIncrementalMode, false,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1699
          "Trace CMS incremental mode")                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1700
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1701
  develop(bool, CMSTraceIncrementalPacing, false,                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1702
          "Trace CMS incremental mode pacing computation")                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1703
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1704
  develop(bool, CMSTraceThreadState, false,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1705
          "Trace the CMS thread state (enable the trace_state() method)")   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1706
                                                                            \
15094
80724d2b6f25 8000325: Change default for CMSClassUnloadingEnabled to true
jmasa
parents: 15088
diff changeset
  1707
  product(bool, CMSClassUnloadingEnabled, true,                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1708
          "Whether class unloading enabled when using CMS GC")              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1709
                                                                            \
341
6578aad59716 6634032: CMS: Need CMSInitiatingPermOccupancyFraction for perm, divorcing from CMSInitiatingOccupancyFraction
ysr
parents: 188
diff changeset
  1710
  product(uintx, CMSClassUnloadingMaxInterval, 0,                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1711
          "When CMS class unloading is enabled, the maximum CMS cycle "     \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1712
          "count for which classes may not be unloaded")                    \
341
6578aad59716 6634032: CMS: Need CMSInitiatingPermOccupancyFraction for perm, divorcing from CMSInitiatingOccupancyFraction
ysr
parents: 188
diff changeset
  1713
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1714
  product(bool, CMSCompactWhenClearAllSoftRefs, true,                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1715
          "Compact when asked to collect CMS gen with "                     \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1716
          "clear_all_soft_refs()")                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1717
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1718
  product(bool, UseCMSCompactAtFullCollection, true,                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1719
          "Use Mark-Sweep-Compact algorithm at full collections")           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1720
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1721
  product(uintx, CMSFullGCsBeforeCompaction, 0,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1722
          "Number of CMS full collection done before compaction if > 0")    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1723
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1724
  develop(intx, CMSDictionaryChoice, 0,                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1725
          "Use BinaryTreeDictionary as default in the CMS generation")      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1726
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1727
  product(uintx, CMSIndexedFreeListReplenish, 4,                            \
13925
37f75ba502b1 8000351: Tenuring threshold should be unsigned
jwilhelm
parents: 13924
diff changeset
  1728
          "Replenish an indexed free list with this number of chunks")      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1729
                                                                            \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1730
  product(bool, CMSReplenishIntermediate, true,                             \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1731
          "Replenish all intermediate free-list caches")                    \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1732
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1733
  product(bool, CMSSplitIndexedFreeListBlocks, true,                        \
6447
32cc5cad7fa6 6983930: CMS: Various small cleanups ca September 2010
ysr
parents: 6419
diff changeset
  1734
          "When satisfying batched demand, split blocks from the "          \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1735
          "IndexedFreeList whose size is a multiple of requested size")     \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1736
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1737
  product(bool, CMSLoopWarn, false,                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1738
          "Warn in case of excessive CMS looping")                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1739
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1740
  develop(bool, CMSOverflowEarlyRestoration, false,                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1741
          "Restore preserved marks early")                                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1742
                                                                            \
5035
0e498c4df637 6928081: G1: rename parameters common with CMS
jmasa
parents: 5034
diff changeset
  1743
  product(uintx, MarkStackSize, NOT_LP64(32*K) LP64_ONLY(4*M),              \
0e498c4df637 6928081: G1: rename parameters common with CMS
jmasa
parents: 5034
diff changeset
  1744
          "Size of marking stack")                                          \
0e498c4df637 6928081: G1: rename parameters common with CMS
jmasa
parents: 5034
diff changeset
  1745
                                                                            \
0e498c4df637 6928081: G1: rename parameters common with CMS
jmasa
parents: 5034
diff changeset
  1746
  product(uintx, MarkStackSizeMax, NOT_LP64(4*M) LP64_ONLY(512*M),          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1747
          "Maximum size of marking stack")                                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1748
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1749
  notproduct(bool, CMSMarkStackOverflowALot, false,                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1750
          "Simulate frequent marking stack / work queue overflow")          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1751
                                                                            \
1910
386106352d02 6786503: Overflow list performance can be improved
ysr
parents: 1890
diff changeset
  1752
  notproduct(uintx, CMSMarkStackOverflowInterval, 1000,                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1753
          "An \"interval\" counter that determines how frequently "         \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1754
          "to simulate overflow; a smaller number increases frequency")     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1755
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1756
  product(uintx, CMSMaxAbortablePrecleanLoops, 0,                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1757
          "Maximum number of abortable preclean iterations, if > 0")        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1758
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1759
  product(intx, CMSMaxAbortablePrecleanTime, 5000,                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1760
          "Maximum time in abortable preclean (in milliseconds)")           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1761
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1762
  product(uintx, CMSAbortablePrecleanMinWorkPerIteration, 100,              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1763
          "Nominal minimum work per abortable preclean iteration")          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1764
                                                                            \
6984
c6718f921eb6 6992998: CMSWaitDuration=0 causes hangs with +ExplicitGCInvokesConcurrent
ysr
parents: 6769
diff changeset
  1765
  manageable(intx, CMSAbortablePrecleanWaitMillis, 100,                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1766
          "Time that we sleep between iterations when not given "           \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1767
          "enough work per iteration")                                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1768
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1769
  product(uintx, CMSRescanMultiple, 32,                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1770
          "Size (in cards) of CMS parallel rescan task")                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1771
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1772
  product(uintx, CMSConcMarkMultiple, 32,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1773
          "Size (in cards) of CMS concurrent MT marking task")              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1774
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1775
  product(bool, CMSAbortSemantics, false,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1776
          "Whether abort-on-overflow semantics is implemented")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1777
                                                                            \
18996
05c86e558c94 6412968: CMS Long initial mark pauses
jmasa
parents: 18994
diff changeset
  1778
  product(bool, CMSParallelInitialMarkEnabled, true,                        \
05c86e558c94 6412968: CMS Long initial mark pauses
jmasa
parents: 18994
diff changeset
  1779
          "Use the parallel initial mark.")                                 \
05c86e558c94 6412968: CMS Long initial mark pauses
jmasa
parents: 18994
diff changeset
  1780
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1781
  product(bool, CMSParallelRemarkEnabled, true,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1782
          "Whether parallel remark enabled (only if ParNewGC)")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1783
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1784
  product(bool, CMSParallelSurvivorRemarkEnabled, true,                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1785
          "Whether parallel remark of survivor space "                      \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1786
          "enabled (effective only if CMSParallelRemarkEnabled)")           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1787
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1788
  product(bool, CMSPLABRecordAlways, true,                                  \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1789
          "Always record survivor space PLAB boundaries (effective only "   \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1790
          "if CMSParallelSurvivorRemarkEnabled)")                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1791
                                                                            \
18994
d32a17b7502c 6990419: CMS Remaining work for 6572569: consistently skewed work distribution in (long) re-mark pauses
jmasa
parents: 18703
diff changeset
  1792
  product(bool, CMSEdenChunksRecordAlways, true,                            \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1793
          "Always record eden chunks used for the parallel initial mark "   \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1794
          "or remark of eden")                                              \
18994
d32a17b7502c 6990419: CMS Remaining work for 6572569: consistently skewed work distribution in (long) re-mark pauses
jmasa
parents: 18703
diff changeset
  1795
                                                                            \
d32a17b7502c 6990419: CMS Remaining work for 6572569: consistently skewed work distribution in (long) re-mark pauses
jmasa
parents: 18703
diff changeset
  1796
  product(bool, CMSPrintEdenSurvivorChunks, false,                          \
d32a17b7502c 6990419: CMS Remaining work for 6572569: consistently skewed work distribution in (long) re-mark pauses
jmasa
parents: 18703
diff changeset
  1797
          "Print the eden and the survivor chunks used for the parallel "   \
d32a17b7502c 6990419: CMS Remaining work for 6572569: consistently skewed work distribution in (long) re-mark pauses
jmasa
parents: 18703
diff changeset
  1798
          "initial mark or remark of the eden/survivor spaces")             \
d32a17b7502c 6990419: CMS Remaining work for 6572569: consistently skewed work distribution in (long) re-mark pauses
jmasa
parents: 18703
diff changeset
  1799
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1800
  product(bool, CMSConcurrentMTEnabled, true,                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1801
          "Whether multi-threaded concurrent work enabled "                 \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1802
          "(effective only if ParNewGC)")                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1803
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1804
  product(bool, CMSPrecleaningEnabled, true,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1805
          "Whether concurrent precleaning enabled")                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1806
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1807
  product(uintx, CMSPrecleanIter, 3,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1808
          "Maximum number of precleaning iteration passes")                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1809
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1810
  product(uintx, CMSPrecleanNumerator, 2,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1811
          "CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence " \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1812
          "ratio")                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1813
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1814
  product(uintx, CMSPrecleanDenominator, 3,                                 \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1815
          "CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence " \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1816
          "ratio")                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1817
                                                                            \
1605
6b43d186eb8d 6722113: CMS: Incorrect overflow handling during precleaning of Reference lists
ysr
parents: 1562
diff changeset
  1818
  product(bool, CMSPrecleanRefLists1, true,                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1819
          "Preclean ref lists during (initial) preclean phase")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1820
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1821
  product(bool, CMSPrecleanRefLists2, false,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1822
          "Preclean ref lists during abortable preclean phase")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1823
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1824
  product(bool, CMSPrecleanSurvivors1, false,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1825
          "Preclean survivors during (initial) preclean phase")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1826
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1827
  product(bool, CMSPrecleanSurvivors2, true,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1828
          "Preclean survivors during abortable preclean phase")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1829
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1830
  product(uintx, CMSPrecleanThreshold, 1000,                                \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1831
          "Do not iterate again if number of dirty cards is less than this")\
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1832
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1833
  product(bool, CMSCleanOnEnter, true,                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1834
          "Clean-on-enter optimization for reducing number of dirty cards") \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1835
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1836
  product(uintx, CMSRemarkVerifyVariant, 1,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1837
          "Choose variant (1,2) of verification following remark")          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1838
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1839
  product(uintx, CMSScheduleRemarkEdenSizeThreshold, 2*M,                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1840
          "If Eden size is below this, do not try to schedule remark")      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1841
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1842
  product(uintx, CMSScheduleRemarkEdenPenetration, 50,                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1843
          "The Eden occupancy percentage (0-100) at which "                 \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1844
          "to try and schedule remark pause")                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1845
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1846
  product(uintx, CMSScheduleRemarkSamplingRatio, 5,                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1847
          "Start sampling eden top at least before young gen "              \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1848
          "occupancy reaches 1/<ratio> of the size at which "               \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1849
          "we plan to schedule remark")                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1850
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1851
  product(uintx, CMSSamplingGrain, 16*K,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1852
          "The minimum distance between eden samples for CMS (see above)")  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1853
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1854
  product(bool, CMSScavengeBeforeRemark, false,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1855
          "Attempt scavenge before the CMS remark step")                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1856
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1857
  develop(bool, CMSTraceSweeper, false,                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1858
          "Trace some actions of the CMS sweeper")                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1859
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1860
  product(uintx, CMSWorkQueueDrainThreshold, 10,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1861
          "Don't drain below this size per parallel worker/thief")          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1862
                                                                            \
6984
c6718f921eb6 6992998: CMSWaitDuration=0 causes hangs with +ExplicitGCInvokesConcurrent
ysr
parents: 6769
diff changeset
  1863
  manageable(intx, CMSWaitDuration, 2000,                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1864
          "Time in milliseconds that CMS thread waits for young GC")        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1865
                                                                            \
15859
b8d7620fb179 7189971: Implement CMSWaitDuration for non-incremental mode of CMS
jmasa
parents: 15610
diff changeset
  1866
  develop(uintx, CMSCheckInterval, 1000,                                    \
b8d7620fb179 7189971: Implement CMSWaitDuration for non-incremental mode of CMS
jmasa
parents: 15610
diff changeset
  1867
          "Interval in milliseconds that CMS thread checks if it "          \
b8d7620fb179 7189971: Implement CMSWaitDuration for non-incremental mode of CMS
jmasa
parents: 15610
diff changeset
  1868
          "should start a collection cycle")                                \
b8d7620fb179 7189971: Implement CMSWaitDuration for non-incremental mode of CMS
jmasa
parents: 15610
diff changeset
  1869
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1870
  product(bool, CMSYield, true,                                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1871
          "Yield between steps of CMS")                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1872
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1873
  product(uintx, CMSBitMapYieldQuantum, 10*M,                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1874
          "Bitmap operations should process at most this many bits "        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1875
          "between yields")                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1876
                                                                            \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1877
  product(bool, CMSDumpAtPromotionFailure, false,                           \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1878
          "Dump useful information about the state of the CMS old "         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1879
          "generation upon a promotion failure")                            \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1880
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1881
  product(bool, CMSPrintChunksInDump, false,                                \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1882
          "In a dump enabled by CMSDumpAtPromotionFailure, include "        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1883
          "more detailed information about the free chunks")                \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1884
                                                                            \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1885
  product(bool, CMSPrintObjectsInDump, false,                               \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1886
          "In a dump enabled by CMSDumpAtPromotionFailure, include "        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1887
          "more detailed information about the allocated objects")          \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1888
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1889
  diagnostic(bool, FLSVerifyAllHeapReferences, false,                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1890
          "Verify that all references across the FLS boundary "             \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1891
          "are to valid objects")                                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1892
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1893
  diagnostic(bool, FLSVerifyLists, false,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1894
          "Do lots of (expensive) FreeListSpace verification")              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1895
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1896
  diagnostic(bool, FLSVerifyIndexTable, false,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1897
          "Do lots of (expensive) FLS index table verification")            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1898
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1899
  develop(bool, FLSVerifyDictionary, false,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1900
          "Do lots of (expensive) FLS dictionary verification")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1901
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1902
  develop(bool, VerifyBlockOffsetArray, false,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1903
          "Do (expensive) block offset array verification")                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1904
                                                                            \
9422
e3c824172b61 7040068: CMS: Possibly unsafe initialization of BlockOffsetArrayUseUnallocatedBlock
brutisso
parents: 9182
diff changeset
  1905
  diagnostic(bool, BlockOffsetArrayUseUnallocatedBlock, false,              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1906
          "Maintain _unallocated_block in BlockOffsetArray "                \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1907
          "(currently applicable only to CMS collector)")                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1908
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1909
  develop(bool, TraceCMSState, false,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1910
          "Trace the state of the CMS collection")                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1911
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1912
  product(intx, RefDiscoveryPolicy, 0,                                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1913
          "Select type of reference discovery policy: "                     \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1914
          "reference-based(0) or referent-based(1)")                        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1915
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1916
  product(bool, ParallelRefProcEnabled, false,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1917
          "Enable parallel reference processing whenever possible")         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1918
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1919
  product(bool, ParallelRefProcBalancingEnabled, true,                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1920
          "Enable balancing of reference processing queues")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1921
                                                                            \
15605
bf7de87bbe3a 8006432: Ratio flags should be unsigned
jwilhelm
parents: 15604
diff changeset
  1922
  product(uintx, CMSTriggerRatio, 80,                                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1923
          "Percentage of MinHeapFreeRatio in CMS generation that is "       \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1924
          "allocated before a CMS collection cycle commences")              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1925
                                                                            \
341
6578aad59716 6634032: CMS: Need CMSInitiatingPermOccupancyFraction for perm, divorcing from CMSInitiatingOccupancyFraction
ysr
parents: 188
diff changeset
  1926
  product(uintx, CMSBootstrapOccupancy, 50,                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1927
          "Percentage CMS generation occupancy at which to "                \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1928
          "initiate CMS collection for bootstrapping collection stats")     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1929
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1930
  product(intx, CMSInitiatingOccupancyFraction, -1,                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1931
          "Percentage CMS generation occupancy to start a CMS collection "  \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1932
          "cycle. A negative value means that CMSTriggerRatio is used")     \
341
6578aad59716 6634032: CMS: Need CMSInitiatingPermOccupancyFraction for perm, divorcing from CMSInitiatingOccupancyFraction
ysr
parents: 188
diff changeset
  1933
                                                                            \
5034
a1cec6310394 6928073: G1: use existing command line parameters for marking cycle initiation
tonyp
parents: 4759
diff changeset
  1934
  product(uintx, InitiatingHeapOccupancyPercent, 45,                        \
a1cec6310394 6928073: G1: use existing command line parameters for marking cycle initiation
tonyp
parents: 4759
diff changeset
  1935
          "Percentage of the (entire) heap occupancy to start a "           \
15604
0209977cd9c4 7052429: G1: Avoid unnecessary scanning of humongous regions during concurrent marking
johnc
parents: 15221
diff changeset
  1936
          "concurrent GC cycle. It is used by GCs that trigger a "          \
5034
a1cec6310394 6928073: G1: use existing command line parameters for marking cycle initiation
tonyp
parents: 4759
diff changeset
  1937
          "concurrent GC cycle based on the occupancy of the entire heap, " \
a1cec6310394 6928073: G1: use existing command line parameters for marking cycle initiation
tonyp
parents: 4759
diff changeset
  1938
          "not just one of the generations (e.g., G1). A value of 0 "       \
a1cec6310394 6928073: G1: use existing command line parameters for marking cycle initiation
tonyp
parents: 4759
diff changeset
  1939
          "denotes 'do constant GC cycles'.")                               \
a1cec6310394 6928073: G1: use existing command line parameters for marking cycle initiation
tonyp
parents: 4759
diff changeset
  1940
                                                                            \
24110
aa442e0427f5 8038265: CMS: enable time based triggering of concurrent cycles
brutisso
parents: 23534
diff changeset
  1941
  manageable(intx, CMSTriggerInterval, -1,                                  \
aa442e0427f5 8038265: CMS: enable time based triggering of concurrent cycles
brutisso
parents: 23534
diff changeset
  1942
          "Commence a CMS collection cycle (at least) every so many "       \
aa442e0427f5 8038265: CMS: enable time based triggering of concurrent cycles
brutisso
parents: 23534
diff changeset
  1943
          "milliseconds (0 permanently, -1 disabled)")                      \
aa442e0427f5 8038265: CMS: enable time based triggering of concurrent cycles
brutisso
parents: 23534
diff changeset
  1944
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1945
  product(bool, UseCMSInitiatingOccupancyOnly, false,                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1946
          "Only use occupancy as a criterion for starting a CMS collection")\
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1947
                                                                            \
17392
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
  1948
  product(uintx, CMSIsTooFullPercentage, 98,                                \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1949
          "An absolute ceiling above which CMS will always consider the "   \
15101
58d43bf04c45 8005076: Creating a CDS archive with one alignment and running another causes a crash.
hseigel
parents: 14835
diff changeset
  1950
          "unloading of classes when class unloading is enabled")           \
341
6578aad59716 6634032: CMS: Need CMSInitiatingPermOccupancyFraction for perm, divorcing from CMSInitiatingOccupancyFraction
ysr
parents: 188
diff changeset
  1951
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1952
  develop(bool, CMSTestInFreeList, false,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1953
          "Check if the coalesced range is already in the "                 \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  1954
          "free lists as claimed")                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1955
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1956
  notproduct(bool, CMSVerifyReturnedBytes, false,                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1957
          "Check that all the garbage collected was returned to the "       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1958
          "free lists")                                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1959
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1960
  notproduct(bool, ScavengeALot, false,                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1961
          "Force scavenge at every Nth exit from the runtime system "       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1962
          "(N=ScavengeALotInterval)")                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1963
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1964
  develop(bool, FullGCALot, false,                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1965
          "Force full gc at every Nth exit from the runtime system "        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1966
          "(N=FullGCALotInterval)")                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1967
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1968
  notproduct(bool, GCALotAtAllSafepoints, false,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1969
          "Enforce ScavengeALot/GCALot at all potential safepoints")        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1970
                                                                            \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1971
  product(bool, PrintPromotionFailure, false,                               \
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1972
          "Print additional diagnostic information following "              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1973
          "promotion failure")                                              \
4574
b2d5b0975515 6631166: CMS: better heuristics when combatting fragmentation
ysr
parents: 4434
diff changeset
  1974
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1975
  notproduct(bool, PromotionFailureALot, false,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1976
          "Use promotion failure handling on every youngest generation "    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1977
          "collection")                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1978
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1979
  develop(uintx, PromotionFailureALotCount, 1000,                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1980
          "Number of promotion failures occurring at ParGCAllocBuffer "     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1981
          "refill attempts (ParNew) or promotion attempts "                 \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  1982
          "(other young collectors)")                                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1983
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1984
  develop(uintx, PromotionFailureALotInterval, 5,                           \
22775
52bc5222f5f1 8026849: Fix typos in the GC code, part 2
jwilhelm
parents: 22556
diff changeset
  1985
          "Total collections between promotion failures a lot")             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1986
                                                                            \
17392
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
  1987
  experimental(uintx, WorkStealingSleepMillis, 1,                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1988
          "Sleep time when sleep is used for yields")                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1989
                                                                            \
8925
5fdd1d28e7ef 6948149: G1: Imbalance in termination times
brutisso
parents: 8728
diff changeset
  1990
  experimental(uintx, WorkStealingYieldsBeforeSleep, 5000,                  \
22775
52bc5222f5f1 8026849: Fix typos in the GC code, part 2
jwilhelm
parents: 22556
diff changeset
  1991
          "Number of yields before a sleep is done during work stealing")   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1992
                                                                            \
6763
711b8a44c4dd 6692906: CMS: parallel concurrent marking may be prone to hanging or stalling mutators for periods of time
ysr
parents: 6762
diff changeset
  1993
  experimental(uintx, WorkStealingHardSpins, 4096,                          \
2010
c13462bbad17 6690928: Use spinning in combination with yields for workstealing termination.
jmasa
parents: 2005
diff changeset
  1994
          "Number of iterations in a spin loop between checks on "          \
c13462bbad17 6690928: Use spinning in combination with yields for workstealing termination.
jmasa
parents: 2005
diff changeset
  1995
          "time out of hard spin")                                          \
c13462bbad17 6690928: Use spinning in combination with yields for workstealing termination.
jmasa
parents: 2005
diff changeset
  1996
                                                                            \
6763
711b8a44c4dd 6692906: CMS: parallel concurrent marking may be prone to hanging or stalling mutators for periods of time
ysr
parents: 6762
diff changeset
  1997
  experimental(uintx, WorkStealingSpinToYieldRatio, 10,                     \
2010
c13462bbad17 6690928: Use spinning in combination with yields for workstealing termination.
jmasa
parents: 2005
diff changeset
  1998
          "Ratio of hard spins to calls to yield")                          \
c13462bbad17 6690928: Use spinning in combination with yields for workstealing termination.
jmasa
parents: 2005
diff changeset
  1999
                                                                            \
5076
8b74a4b60b31 4396719: Mark Sweep stack overflow on deeply nested Object arrays
jcoomes
parents: 5039
diff changeset
  2000
  develop(uintx, ObjArrayMarkingStride, 512,                                \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2001
          "Number of object array elements to push onto the marking stack " \
5076
8b74a4b60b31 4396719: Mark Sweep stack overflow on deeply nested Object arrays
jcoomes
parents: 5039
diff changeset
  2002
          "before pushing a continuation entry")                            \
8b74a4b60b31 4396719: Mark Sweep stack overflow on deeply nested Object arrays
jcoomes
parents: 5039
diff changeset
  2003
                                                                            \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2004
  develop(bool, MetadataAllocationFailALot, false,                          \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2005
          "Fail metadata allocations at intervals controlled by "           \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2006
          "MetadataAllocationFailALotInterval")                             \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2007
                                                                            \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2008
  develop(uintx, MetadataAllocationFailALotInterval, 1000,                  \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2009
          "Metadata allocation failure a lot interval")                     \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2010
                                                                            \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2011
  develop(bool, TraceMetadataChunkAllocation, false,                        \
15101
58d43bf04c45 8005076: Creating a CDS archive with one alignment and running another causes a crash.
hseigel
parents: 14835
diff changeset
  2012
          "Trace chunk metadata allocations")                               \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2013
                                                                            \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2014
  product(bool, TraceMetadataHumongousAllocation, false,                    \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2015
          "Trace humongous metadata allocations")                           \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2016
                                                                            \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2017
  develop(bool, TraceMetavirtualspaceAllocation, false,                     \
15101
58d43bf04c45 8005076: Creating a CDS archive with one alignment and running another causes a crash.
hseigel
parents: 14835
diff changeset
  2018
          "Trace virtual space metadata allocations")                       \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2019
                                                                            \
10002
2d83be3a0927 7016112: CMS: crash during promotion testing
brutisso
parents: 9990
diff changeset
  2020
  notproduct(bool, ExecuteInternalVMTests, false,                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2021
          "Enable execution of internal VM tests")                          \
10002
2d83be3a0927 7016112: CMS: crash during promotion testing
brutisso
parents: 9990
diff changeset
  2022
                                                                            \
19546
f6b7c9e96ea3 8007074: SIGSEGV at ParMarkBitMap::verify_clear()
stefank
parents: 19319
diff changeset
  2023
  notproduct(bool, VerboseInternalVMTests, false,                           \
f6b7c9e96ea3 8007074: SIGSEGV at ParMarkBitMap::verify_clear()
stefank
parents: 19319
diff changeset
  2024
          "Turn on logging for internal VM tests.")                         \
f6b7c9e96ea3 8007074: SIGSEGV at ParMarkBitMap::verify_clear()
stefank
parents: 19319
diff changeset
  2025
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2026
  product_pd(bool, UseTLAB, "Use thread-local object allocation")           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2027
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2028
  product_pd(bool, ResizeTLAB,                                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2029
          "Dynamically resize TLAB size for threads")                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2030
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2031
  product(bool, ZeroTLAB, false,                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2032
          "Zero out the newly created TLAB")                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2033
                                                                            \
1374
4c24294029a9 6711316: Open source the Garbage-First garbage collector
ysr
parents: 389
diff changeset
  2034
  product(bool, FastTLABRefill, true,                                       \
4c24294029a9 6711316: Open source the Garbage-First garbage collector
ysr
parents: 389
diff changeset
  2035
          "Use fast TLAB refill code")                                      \
4c24294029a9 6711316: Open source the Garbage-First garbage collector
ysr
parents: 389
diff changeset
  2036
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2037
  product(bool, PrintTLAB, false,                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2038
          "Print various TLAB related information")                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2039
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2040
  product(bool, TLABStats, true,                                            \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2041
          "Provide more detailed and expensive TLAB statistics "            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2042
          "(with PrintTLAB)")                                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2043
                                                                            \
8107
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
  2044
  EMBEDDED_ONLY(product(bool, LowMemoryProtection, true,                    \
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
  2045
          "Enable LowMemoryProtection"))                                    \
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
  2046
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2047
  product_pd(bool, NeverActAsServerClassMachine,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2048
          "Never act like a server-class machine")                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2049
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2050
  product(bool, AlwaysActAsServerClassMachine, false,                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2051
          "Always act like a server-class machine")                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2052
                                                                            \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2053
  product_pd(uint64_t, MaxRAM,                                              \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2054
          "Real memory size (in bytes) used to set maximum heap size")      \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2055
                                                                            \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2056
  product(uintx, ErgoHeapSizeLimit, 0,                                      \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2057
          "Maximum ergonomically set heap size (in bytes); zero means use " \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2058
          "MaxRAM / MaxRAMFraction")                                        \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2059
                                                                            \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2060
  product(uintx, MaxRAMFraction, 4,                                         \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2061
          "Maximum fraction (1/n) of real memory used for maximum heap "    \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2062
          "size")                                                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2063
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2064
  product(uintx, DefaultMaxRAMFraction, 4,                                  \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2065
          "Maximum fraction (1/n) of real memory used for maximum heap "    \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2066
          "size; deprecated: to be renamed to MaxRAMFraction")              \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2067
                                                                            \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2068
  product(uintx, MinRAMFraction, 2,                                         \
22775
52bc5222f5f1 8026849: Fix typos in the GC code, part 2
jwilhelm
parents: 22556
diff changeset
  2069
          "Minimum fraction (1/n) of real memory used for maximum heap "    \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2070
          "size on systems with small physical memory size")                \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2071
                                                                            \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2072
  product(uintx, InitialRAMFraction, 64,                                    \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2073
          "Fraction (1/n) of real memory used for initial heap size")       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2074
                                                                            \
16605
ba13efd453bc 7112912: Message "Error occurred during initialization of VM" on boxes with lots of RAM
tschatzl
parents: 16604
diff changeset
  2075
  develop(uintx, MaxVirtMemFraction, 2,                                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2076
          "Maximum fraction (1/n) of virtual memory used for ergonomically "\
16605
ba13efd453bc 7112912: Message "Error occurred during initialization of VM" on boxes with lots of RAM
tschatzl
parents: 16604
diff changeset
  2077
          "determining maximum heap size")                                  \
ba13efd453bc 7112912: Message "Error occurred during initialization of VM" on boxes with lots of RAM
tschatzl
parents: 16604
diff changeset
  2078
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2079
  product(bool, UseAutoGCSelectPolicy, false,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2080
          "Use automatic collection selection policy")                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2081
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2082
  product(uintx, AutoGCSelectPauseMillis, 5000,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2083
          "Automatic GC selection pause threshold in milliseconds")         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2084
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2085
  product(bool, UseAdaptiveSizePolicy, true,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2086
          "Use adaptive generation sizing policies")                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2087
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2088
  product(bool, UsePSAdaptiveSurvivorSizePolicy, true,                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2089
          "Use adaptive survivor sizing policies")                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2090
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2091
  product(bool, UseAdaptiveGenerationSizePolicyAtMinorCollection, true,     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2092
          "Use adaptive young-old sizing policies at minor collections")    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2093
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2094
  product(bool, UseAdaptiveGenerationSizePolicyAtMajorCollection, true,     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2095
          "Use adaptive young-old sizing policies at major collections")    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2096
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2097
  product(bool, UseAdaptiveSizePolicyWithSystemGC, false,                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2098
          "Include statistics from System.gc() for adaptive size policy")   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2099
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2100
  product(bool, UseAdaptiveGCBoundary, false,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2101
          "Allow young-old boundary to move")                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2102
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2103
  develop(bool, TraceAdaptiveGCBoundary, false,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2104
          "Trace young-old boundary moves")                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2105
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2106
  develop(intx, PSAdaptiveSizePolicyResizeVirtualSpaceAlot, -1,             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2107
          "Resize the virtual spaces of the young or old generations")      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2108
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2109
  product(uintx, AdaptiveSizeThroughPutPolicy, 0,                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2110
          "Policy for changing generation size for throughput goals")       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2111
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2112
  product(uintx, AdaptiveSizePausePolicy, 0,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2113
          "Policy for changing generation size for pause goals")            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2114
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2115
  develop(bool, PSAdjustTenuredGenForMinorPause, false,                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2116
          "Adjust tenured generation to achieve a minor pause goal")        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2117
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2118
  develop(bool, PSAdjustYoungGenForMajorPause, false,                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2119
          "Adjust young generation to achieve a major pause goal")          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2120
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2121
  product(uintx, AdaptiveSizePolicyInitializingSteps, 20,                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2122
          "Number of steps where heuristics is used before data is used")   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2123
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2124
  develop(uintx, AdaptiveSizePolicyReadyThreshold, 5,                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2125
          "Number of collections before the adaptive sizing is started")    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2126
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2127
  product(uintx, AdaptiveSizePolicyOutputInterval, 0,                       \
17392
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
  2128
          "Collection interval for printing information; zero means never") \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2129
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2130
  product(bool, UseAdaptiveSizePolicyFootprintGoal, true,                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2131
          "Use adaptive minimum footprint as a goal")                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2132
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2133
  product(uintx, AdaptiveSizePolicyWeight, 10,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2134
          "Weight given to exponential resizing, between 0 and 100")        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2135
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2136
  product(uintx, AdaptiveTimeWeight,       25,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2137
          "Weight given to time in adaptive policy, between 0 and 100")     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2138
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2139
  product(uintx, PausePadding, 1,                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2140
          "How much buffer to keep for pause time")                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2141
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2142
  product(uintx, PromotedPadding, 3,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2143
          "How much buffer to keep for promotion failure")                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2144
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2145
  product(uintx, SurvivorPadding, 3,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2146
          "How much buffer to keep for survivor overflow")                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2147
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2148
  product(uintx, ThresholdTolerance, 10,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2149
          "Allowed collection cost difference between generations")         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2150
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2151
  product(uintx, AdaptiveSizePolicyCollectionCostMargin, 50,                \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2152
          "If collection costs are within margin, reduce both by full "     \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2153
          "delta")                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2154
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2155
  product(uintx, YoungGenerationSizeIncrement, 20,                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2156
          "Adaptive size percentage change in young generation")            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2157
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2158
  product(uintx, YoungGenerationSizeSupplement, 80,                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2159
          "Supplement to YoungedGenerationSizeIncrement used at startup")   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2160
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2161
  product(uintx, YoungGenerationSizeSupplementDecay, 8,                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2162
          "Decay factor to YoungedGenerationSizeSupplement")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2163
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2164
  product(uintx, TenuredGenerationSizeIncrement, 20,                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2165
          "Adaptive size percentage change in tenured generation")          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2166
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2167
  product(uintx, TenuredGenerationSizeSupplement, 80,                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2168
          "Supplement to TenuredGenerationSizeIncrement used at startup")   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2169
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2170
  product(uintx, TenuredGenerationSizeSupplementDecay, 2,                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2171
          "Decay factor to TenuredGenerationSizeIncrement")                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2172
                                                                            \
13925
37f75ba502b1 8000351: Tenuring threshold should be unsigned
jwilhelm
parents: 13924
diff changeset
  2173
  product(uintx, MaxGCPauseMillis, max_uintx,                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2174
          "Adaptive size policy maximum GC pause time goal in millisecond, "\
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2175
          "or (G1 Only) the maximum GC time per MMU time slice")            \
2741
34e2a243d69a 6490395: G1: Tidy up command line flags.
johnc
parents: 2570
diff changeset
  2176
                                                                            \
5890
5766abbf8789 6949307: G1: raise a vm error, do not core dump, if target pause time and target interval are inconsistent
tonyp
parents: 5712
diff changeset
  2177
  product(uintx, GCPauseIntervalMillis, 0,                                  \
2741
34e2a243d69a 6490395: G1: Tidy up command line flags.
johnc
parents: 2570
diff changeset
  2178
          "Time slice for MMU specification")                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2179
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2180
  product(uintx, MaxGCMinorPauseMillis, max_uintx,                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2181
          "Adaptive size policy maximum GC minor pause time goal "          \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2182
          "in millisecond")                                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2183
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2184
  product(uintx, GCTimeRatio, 99,                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2185
          "Adaptive size policy application time to GC time ratio")         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2186
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2187
  product(uintx, AdaptiveSizeDecrementScaleFactor, 4,                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2188
          "Adaptive size scale down factor for shrinking")                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2189
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2190
  product(bool, UseAdaptiveSizeDecayMajorGCCost, true,                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2191
          "Adaptive size decays the major cost for long major intervals")   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2192
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2193
  product(uintx, AdaptiveSizeMajorGCDecayTimeScale, 10,                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2194
          "Time scale over which major costs decay")                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2195
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2196
  product(uintx, MinSurvivorRatio, 3,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2197
          "Minimum ratio of young generation/survivor space size")          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2198
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2199
  product(uintx, InitialSurvivorRatio, 8,                                   \
20726
24d58c45500d 8024632: Description of InitialSurvivorRatio flag in globals.hpp is incorrect
pliden
parents: 20720
diff changeset
  2200
          "Initial ratio of young generation/survivor space size")          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2201
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2202
  product(uintx, BaseFootPrintEstimate, 256*M,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2203
          "Estimate of footprint other than Java Heap")                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2204
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2205
  product(bool, UseGCOverheadLimit, true,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2206
          "Use policy to limit of proportion of time spent in GC "          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2207
          "before an OutOfMemory error is thrown")                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2208
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2209
  product(uintx, GCTimeLimit, 98,                                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2210
          "Limit of the proportion of time spent in GC before "             \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2211
          "an OutOfMemoryError is thrown (used with GCHeapFreeLimit)")      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2212
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2213
  product(uintx, GCHeapFreeLimit, 2,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2214
          "Minimum percentage of free space after a full GC before an "     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2215
          "OutOfMemoryError is thrown (used with GCTimeLimit)")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2216
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2217
  develop(uintx, AdaptiveSizePolicyGCTimeLimitThreshold, 5,                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2218
          "Number of consecutive collections before gc time limit fires")   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2219
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2220
  product(bool, PrintAdaptiveSizePolicy, false,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2221
          "Print information about AdaptiveSizePolicy")                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2222
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2223
  product(intx, PrefetchCopyIntervalInBytes, -1,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2224
          "How far ahead to prefetch destination area (<= 0 means off)")    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2225
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2226
  product(intx, PrefetchScanIntervalInBytes, -1,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2227
          "How far ahead to prefetch scan area (<= 0 means off)")           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2228
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2229
  product(intx, PrefetchFieldsAhead, -1,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2230
          "How many fields ahead to prefetch in oop scan (<= 0 means off)") \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2231
                                                                            \
17112
e49af4ba7755 8013132: Add a flag to turn off the output of the verbose verification code
stefank
parents: 16682
diff changeset
  2232
  diagnostic(bool, VerifySilently, false,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2233
          "Do not print the verification progress")                         \
17112
e49af4ba7755 8013132: Add a flag to turn off the output of the verbose verification code
stefank
parents: 16682
diff changeset
  2234
                                                                            \
16680
960505df90e7 8011343: Add new flag for verifying the heap during startup
johnc
parents: 16631
diff changeset
  2235
  diagnostic(bool, VerifyDuringStartup, false,                              \
960505df90e7 8011343: Add new flag for verifying the heap during startup
johnc
parents: 16631
diff changeset
  2236
          "Verify memory system before executing any Java code "            \
960505df90e7 8011343: Add new flag for verifying the heap during startup
johnc
parents: 16631
diff changeset
  2237
          "during VM initialization")                                       \
960505df90e7 8011343: Add new flag for verifying the heap during startup
johnc
parents: 16631
diff changeset
  2238
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2239
  diagnostic(bool, VerifyBeforeExit, trueInDebug,                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2240
          "Verify system before exiting")                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2241
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2242
  diagnostic(bool, VerifyBeforeGC, false,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2243
          "Verify memory system before GC")                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2244
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2245
  diagnostic(bool, VerifyAfterGC, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2246
          "Verify memory system after GC")                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2247
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2248
  diagnostic(bool, VerifyDuringGC, false,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2249
          "Verify memory system during GC (between phases)")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2250
                                                                            \
1422
9af8f4023912 6752248: G1: introduce parallel heap verification
tonyp
parents: 1421
diff changeset
  2251
  diagnostic(bool, GCParallelVerificationEnabled, true,                     \
9af8f4023912 6752248: G1: introduce parallel heap verification
tonyp
parents: 1421
diff changeset
  2252
          "Enable parallel memory system verification")                     \
9af8f4023912 6752248: G1: introduce parallel heap verification
tonyp
parents: 1421
diff changeset
  2253
                                                                            \
4637
af4d405aacc1 6896647: card marks can be deferred too long
ysr
parents: 4575
diff changeset
  2254
  diagnostic(bool, DeferInitialCardMark, false,                             \
af4d405aacc1 6896647: card marks can be deferred too long
ysr
parents: 4575
diff changeset
  2255
          "When +ReduceInitialCardMarks, explicitly defer any that "        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2256
          "may arise from new_pre_store_barrier")                           \
4637
af4d405aacc1 6896647: card marks can be deferred too long
ysr
parents: 4575
diff changeset
  2257
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2258
  diagnostic(bool, VerifyRememberedSets, false,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2259
          "Verify GC remembered sets")                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2260
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2261
  diagnostic(bool, VerifyObjectStartArray, true,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2262
          "Verify GC object start array if verify before/after")            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2263
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2264
  product(bool, DisableExplicitGC, false,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2265
          "Ignore calls to System.gc()")                                    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2266
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2267
  notproduct(bool, CheckMemoryInitialization, false,                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2268
          "Check memory initialization")                                    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2269
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2270
  diagnostic(bool, BindCMSThreadToCPU, false,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2271
          "Bind CMS Thread to CPU if possible")                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2272
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2273
  diagnostic(uintx, CPUForCMSThread, 0,                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2274
          "When BindCMSThreadToCPU is true, the CPU to bind CMS thread to") \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2275
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2276
  product(bool, BindGCTaskThreadsToCPUs, false,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2277
          "Bind GCTaskThreads to CPUs if possible")                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2278
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2279
  product(bool, UseGCTaskAffinity, false,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2280
          "Use worker affinity when asking for GCTasks")                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2281
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2282
  product(uintx, ProcessDistributionStride, 4,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2283
          "Stride through processors when distributing processes")          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2284
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2285
  product(uintx, CMSCoordinatorYieldSleepCount, 10,                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2286
          "Number of times the coordinator GC thread will sleep while "     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2287
          "yielding before giving up and resuming GC")                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2288
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2289
  product(uintx, CMSYieldSleepCount, 0,                                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2290
          "Number of times a GC thread (minus the coordinator) "            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2291
          "will sleep while yielding before giving up and resuming GC")     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2292
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2293
  /* gc tracing */                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2294
  manageable(bool, PrintGC, false,                                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2295
          "Print message at garbage collection")                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2296
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2297
  manageable(bool, PrintGCDetails, false,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2298
          "Print more details at garbage collection")                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2299
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2300
  manageable(bool, PrintGCDateStamps, false,                                \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2301
          "Print date stamps at garbage collection")                        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2302
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2303
  manageable(bool, PrintGCTimeStamps, false,                                \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2304
          "Print timestamps at garbage collection")                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2305
                                                                            \
25350
6423a57e5451 8043607: Add a GC id as a log decoration similar to PrintGCTimeStamps
brutisso
parents: 24956
diff changeset
  2306
  manageable(bool, PrintGCID, true,                                         \
6423a57e5451 8043607: Add a GC id as a log decoration similar to PrintGCTimeStamps
brutisso
parents: 24956
diff changeset
  2307
          "Print an identifier for each garbage collection")                \
6423a57e5451 8043607: Add a GC id as a log decoration similar to PrintGCTimeStamps
brutisso
parents: 24956
diff changeset
  2308
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2309
  product(bool, PrintGCTaskTimeStamps, false,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2310
          "Print timestamps for individual gc worker thread tasks")         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2311
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2312
  develop(intx, ConcGCYieldTimeout, 0,                                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2313
          "If non-zero, assert that GC threads yield within this "          \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2314
          "number of milliseconds")                                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2315
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2316
  notproduct(bool, TraceMarkSweep, false,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2317
          "Trace mark sweep")                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2318
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2319
  product(bool, PrintReferenceGC, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2320
          "Print times spent handling reference objects during GC "         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2321
          "(enabled only when PrintGCDetails)")                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2322
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2323
  develop(bool, TraceReferenceGC, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2324
          "Trace handling of soft/weak/final/phantom references")           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2325
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2326
  develop(bool, TraceFinalizerRegistration, false,                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2327
          "Trace registration of final references")                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2328
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2329
  notproduct(bool, TraceScavenge, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2330
          "Trace scavenge")                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2331
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2332
  product_rw(bool, TraceClassLoading, false,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2333
          "Trace all classes loaded")                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2334
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2335
  product(bool, TraceClassLoadingPreorder, false,                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2336
          "Trace all classes loaded in order referenced (not loaded)")      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2337
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2338
  product_rw(bool, TraceClassUnloading, false,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2339
          "Trace unloading of classes")                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2340
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2341
  product_rw(bool, TraceLoaderConstraints, false,                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2342
          "Trace loader constraints")                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2343
                                                                            \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2344
  develop(bool, TraceClassLoaderData, false,                                \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2345
          "Trace class loader loader_data lifetime")                        \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2346
                                                                            \
15086
2bfd799e9147 8005082: NPG: Add specialized Metachunk sizes for reflection and anonymous classloaders
jmasa
parents: 14835
diff changeset
  2347
  product(uintx, InitialBootClassLoaderMetaspaceSize,                       \
2bfd799e9147 8005082: NPG: Add specialized Metachunk sizes for reflection and anonymous classloaders
jmasa
parents: 14835
diff changeset
  2348
          NOT_LP64(2200*K) LP64_ONLY(4*M),                                  \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2349
          "Initial size of the boot class loader data metaspace")           \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  2350
                                                                            \
24941
4ebbe176a7b1 8042298: Remove the names gen0 and gen1 from the GC code
jwilhelm
parents: 24461
diff changeset
  2351
  product(bool, TraceYoungGenTime, false,                                   \
4ebbe176a7b1 8042298: Remove the names gen0 and gen1 from the GC code
jwilhelm
parents: 24461
diff changeset
  2352
          "Trace accumulated time for young collection")                    \
4ebbe176a7b1 8042298: Remove the names gen0 and gen1 from the GC code
jwilhelm
parents: 24461
diff changeset
  2353
                                                                            \
4ebbe176a7b1 8042298: Remove the names gen0 and gen1 from the GC code
jwilhelm
parents: 24461
diff changeset
  2354
  product(bool, TraceOldGenTime, false,                                     \
4ebbe176a7b1 8042298: Remove the names gen0 and gen1 from the GC code
jwilhelm
parents: 24461
diff changeset
  2355
          "Trace accumulated time for old collection")                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2356
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2357
  product(bool, PrintTenuringDistribution, false,                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2358
          "Print tenuring age information")                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2359
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2360
  product_rw(bool, PrintHeapAtGC, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2361
          "Print heap layout before and after each GC")                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2362
                                                                            \
3191
dd3cc90b9951 6855834: G1: minimize the output when -XX:+PrintHeapAtGC is set
tonyp
parents: 2866
diff changeset
  2363
  product_rw(bool, PrintHeapAtGCExtended, false,                            \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2364
          "Print extended information about the layout of the heap "        \
3191
dd3cc90b9951 6855834: G1: minimize the output when -XX:+PrintHeapAtGC is set
tonyp
parents: 2866
diff changeset
  2365
          "when -XX:+PrintHeapAtGC is set")                                 \
dd3cc90b9951 6855834: G1: minimize the output when -XX:+PrintHeapAtGC is set
tonyp
parents: 2866
diff changeset
  2366
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2367
  product(bool, PrintHeapAtSIGBREAK, true,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2368
          "Print heap layout in response to SIGBREAK")                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2369
                                                                            \
2141
e9a644aaff87 6797870: Add -XX:+{HeapDump,PrintClassHistogram}{Before,After}FullGC
ysr
parents: 2034
diff changeset
  2370
  manageable(bool, PrintClassHistogramBeforeFullGC, false,                  \
e9a644aaff87 6797870: Add -XX:+{HeapDump,PrintClassHistogram}{Before,After}FullGC
ysr
parents: 2034
diff changeset
  2371
          "Print a class histogram before any major stop-world GC")         \
e9a644aaff87 6797870: Add -XX:+{HeapDump,PrintClassHistogram}{Before,After}FullGC
ysr
parents: 2034
diff changeset
  2372
                                                                            \
e9a644aaff87 6797870: Add -XX:+{HeapDump,PrintClassHistogram}{Before,After}FullGC
ysr
parents: 2034
diff changeset
  2373
  manageable(bool, PrintClassHistogramAfterFullGC, false,                   \
e9a644aaff87 6797870: Add -XX:+{HeapDump,PrintClassHistogram}{Before,After}FullGC
ysr
parents: 2034
diff changeset
  2374
          "Print a class histogram after any major stop-world GC")          \
e9a644aaff87 6797870: Add -XX:+{HeapDump,PrintClassHistogram}{Before,After}FullGC
ysr
parents: 2034
diff changeset
  2375
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2376
  manageable(bool, PrintClassHistogram, false,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2377
          "Print a histogram of class instances")                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2378
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2379
  develop(bool, TraceWorkGang, false,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2380
          "Trace activities of work gangs")                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2381
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2382
  product(bool, TraceParallelOldGCTasks, false,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2383
          "Trace multithreaded GC activity")                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2384
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2385
  develop(bool, TraceBlockOffsetTable, false,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2386
          "Print BlockOffsetTable maps")                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2387
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2388
  develop(bool, TraceCardTableModRefBS, false,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2389
          "Print CardTableModRefBS maps")                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2390
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2391
  develop(bool, TraceGCTaskManager, false,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2392
          "Trace actions of the GC task manager")                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2393
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2394
  develop(bool, TraceGCTaskQueue, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2395
          "Trace actions of the GC task queues")                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2396
                                                                            \
13925
37f75ba502b1 8000351: Tenuring threshold should be unsigned
jwilhelm
parents: 13924
diff changeset
  2397
  diagnostic(bool, TraceGCTaskThread, false,                                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2398
          "Trace actions of the GC task threads")                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2399
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2400
  product(bool, PrintParallelOldGCPhaseTimes, false,                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2401
          "Print the time taken by each phase in ParallelOldGC "            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2402
          "(PrintGCDetails must also be enabled)")                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2403
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2404
  develop(bool, TraceParallelOldGCMarkingPhase, false,                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2405
          "Trace marking phase in ParallelOldGC")                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2406
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2407
  develop(bool, TraceParallelOldGCSummaryPhase, false,                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2408
          "Trace summary phase in ParallelOldGC")                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2409
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2410
  develop(bool, TraceParallelOldGCCompactionPhase, false,                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2411
          "Trace compaction phase in ParallelOldGC")                        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2412
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2413
  develop(bool, TraceParallelOldGCDensePrefix, false,                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2414
          "Trace dense prefix computation for ParallelOldGC")               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2415
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2416
  develop(bool, IgnoreLibthreadGPFault, false,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2417
          "Suppress workaround for libthread GP fault")                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2418
                                                                            \
386
7f121b1192f2 6539517: CR 6186200 should be extended to perm gen allocation to prevent spurious OOM's from perm gen
apetrusenko
parents: 342
diff changeset
  2419
  product(bool, PrintJNIGCStalls, false,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2420
          "Print diagnostic message when GC is stalled "                    \
386
7f121b1192f2 6539517: CR 6186200 should be extended to perm gen allocation to prevent spurious OOM's from perm gen
apetrusenko
parents: 342
diff changeset
  2421
          "by JNI critical section")                                        \
7f121b1192f2 6539517: CR 6186200 should be extended to perm gen allocation to prevent spurious OOM's from perm gen
apetrusenko
parents: 342
diff changeset
  2422
                                                                            \
18025
b7bcf7497f93 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 17617
diff changeset
  2423
  experimental(double, ObjectCountCutOffPercent, 0.5,                       \
b7bcf7497f93 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 17617
diff changeset
  2424
          "The percentage of the used heap that the instances of a class "  \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2425
          "must occupy for the class to generate a trace event")            \
18025
b7bcf7497f93 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 17617
diff changeset
  2426
                                                                            \
9990
c8683968c01b 6941923: RFE: Handling large log files produced by long running Java Applications
minqi
parents: 9968
diff changeset
  2427
  /* GC log rotation setting */                                             \
c8683968c01b 6941923: RFE: Handling large log files produced by long running Java Applications
minqi
parents: 9968
diff changeset
  2428
                                                                            \
c8683968c01b 6941923: RFE: Handling large log files produced by long running Java Applications
minqi
parents: 9968
diff changeset
  2429
  product(bool, UseGCLogFileRotation, false,                                \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2430
          "Rotate gclog files (for long running applications). It requires "\
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2431
          "-Xloggc:<filename>")                                             \
9990
c8683968c01b 6941923: RFE: Handling large log files produced by long running Java Applications
minqi
parents: 9968
diff changeset
  2432
                                                                            \
c8683968c01b 6941923: RFE: Handling large log files produced by long running Java Applications
minqi
parents: 9968
diff changeset
  2433
  product(uintx, NumberOfGCLogFiles, 0,                                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2434
          "Number of gclog files in rotation "                              \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2435
          "(default: 0, no rotation)")                                      \
9990
c8683968c01b 6941923: RFE: Handling large log files produced by long running Java Applications
minqi
parents: 9968
diff changeset
  2436
                                                                            \
23517
27c4307d6cda 7090324: gclog rotation via external tool
minqi
parents: 23474
diff changeset
  2437
  product(uintx, GCLogFileSize, 8*K,                                        \
27c4307d6cda 7090324: gclog rotation via external tool
minqi
parents: 23474
diff changeset
  2438
          "GC log file size, requires UseGCLogFileRotation. "               \
27c4307d6cda 7090324: gclog rotation via external tool
minqi
parents: 23474
diff changeset
  2439
          "Set to 0 to only trigger rotation via jcmd")                     \
9990
c8683968c01b 6941923: RFE: Handling large log files produced by long running Java Applications
minqi
parents: 9968
diff changeset
  2440
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2441
  /* JVMTI heap profiling */                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2442
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2443
  diagnostic(bool, TraceJVMTIObjectTagging, false,                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2444
          "Trace JVMTI object tagging calls")                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2445
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2446
  diagnostic(bool, VerifyBeforeIteration, false,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2447
          "Verify memory system before JVMTI iteration")                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2448
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2449
  /* compiler interface */                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2450
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2451
  develop(bool, CIPrintCompilerName, false,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2452
          "when CIPrint is active, print the name of the active compiler")  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2453
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2454
  develop(bool, CIPrintCompileQueue, false,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2455
          "display the contents of the compile queue whenever a "           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2456
          "compilation is enqueued")                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2457
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2458
  develop(bool, CIPrintRequests, false,                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2459
          "display every request for compilation")                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2460
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2461
  product(bool, CITime, false,                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2462
          "collect timing information for compilation")                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2463
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2464
  develop(bool, CITimeEach, false,                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2465
          "display timing information after each successful compilation")   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2466
                                                                            \
13964
01a2b863cc61 7177003: C1: LogCompilation support
vlivanov
parents: 13925
diff changeset
  2467
  develop(bool, CICountOSR, false,                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2468
          "use a separate counter when assigning ids to osr compilations")  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2469
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2470
  develop(bool, CICompileNatives, true,                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2471
          "compile native methods if supported by the compiler")            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2472
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2473
  develop_pd(bool, CICompileOSR,                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2474
          "compile on stack replacement methods if supported by the "       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2475
          "compiler")                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2476
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2477
  develop(bool, CIPrintMethodCodes, false,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2478
          "print method bytecodes of the compiled code")                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2479
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2480
  develop(bool, CIPrintTypeFlow, false,                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2481
          "print the results of ciTypeFlow analysis")                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2482
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2483
  develop(bool, CITraceTypeFlow, false,                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2484
          "detailed per-bytecode tracing of ciTypeFlow analysis")           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2485
                                                                            \
8870
119881dc9d0b 7024475: loop doesn't terminate when compiled
never
parents: 8728
diff changeset
  2486
  develop(intx, OSROnlyBCI, -1,                                             \
119881dc9d0b 7024475: loop doesn't terminate when compiled
never
parents: 8728
diff changeset
  2487
          "OSR only at this bci.  Negative values mean exclude that bci")   \
119881dc9d0b 7024475: loop doesn't terminate when compiled
never
parents: 8728
diff changeset
  2488
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2489
  /* compiler */                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2490
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2491
  product(intx, CICompilerCount, CI_COMPILER_COUNT,                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2492
          "Number of compiler threads to run")                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2493
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2494
  product(intx, CompilationPolicyChoice, 0,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2495
          "which compilation policy (0/1)")                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2496
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2497
  develop(bool, UseStackBanging, true,                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2498
          "use stack banging for stack overflow checks (required for "      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2499
          "proper StackOverflow handling; disable only to measure cost "    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2500
          "of stackbanging)")                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2501
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2502
  develop(bool, UseStrictFP, true,                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2503
          "use strict fp if modifier strictfp is set")                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2504
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2505
  develop(bool, GenerateSynchronizationCode, true,                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2506
          "generate locking/unlocking code for synchronized methods and "   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2507
          "monitors")                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2508
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2509
  develop(bool, GenerateCompilerNullChecks, true,                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2510
          "Generate explicit null checks for loads/stores/calls")           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2511
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2512
  develop(bool, GenerateRangeChecks, true,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2513
          "Generate range checks for array accesses")                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2514
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2515
  develop_pd(bool, ImplicitNullChecks,                                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2516
          "Generate code for implicit null checks")                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2517
                                                                            \
22856
03ad2cf18166 8029015: PPC64 (part 216): opto: trap based null and range checks
goetz
parents: 22851
diff changeset
  2518
  product_pd(bool, TrapBasedNullChecks,                                     \
03ad2cf18166 8029015: PPC64 (part 216): opto: trap based null and range checks
goetz
parents: 22851
diff changeset
  2519
          "Generate code for null checks that uses a cmp and trap "         \
03ad2cf18166 8029015: PPC64 (part 216): opto: trap based null and range checks
goetz
parents: 22851
diff changeset
  2520
          "instruction raising SIGTRAP.  This is only used if an access to" \
03ad2cf18166 8029015: PPC64 (part 216): opto: trap based null and range checks
goetz
parents: 22851
diff changeset
  2521
          "null (+offset) will not raise a SIGSEGV, i.e.,"                  \
03ad2cf18166 8029015: PPC64 (part 216): opto: trap based null and range checks
goetz
parents: 22851
diff changeset
  2522
          "ImplicitNullChecks don't work (PPC64).")                         \
03ad2cf18166 8029015: PPC64 (part 216): opto: trap based null and range checks
goetz
parents: 22851
diff changeset
  2523
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2524
  product(bool, PrintSafepointStatistics, false,                            \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2525
          "Print statistics about safepoint synchronization")               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2526
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2527
  product(intx, PrintSafepointStatisticsCount, 300,                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2528
          "Total number of safepoint statistics collected "                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2529
          "before printing them out")                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2530
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2531
  product(intx, PrintSafepointStatisticsTimeout,  -1,                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2532
          "Print safepoint statistics only when safepoint takes "           \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2533
          "more than PrintSafepointSatisticsTimeout in millis")             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2534
                                                                            \
5086
ebccc0bb7b8e 6934758: Expose the break down of clean up task time during safepoint.
xlu
parents: 5039
diff changeset
  2535
  product(bool, TraceSafepointCleanupTime, false,                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2536
          "Print the break down of clean up tasks performed during "        \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2537
          "safepoint")                                                      \
5086
ebccc0bb7b8e 6934758: Expose the break down of clean up task time during safepoint.
xlu
parents: 5039
diff changeset
  2538
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2539
  product(bool, Inline, true,                                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2540
          "Enable inlining")                                                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2541
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2542
  product(bool, ClipInlining, true,                                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2543
          "Clip inlining if aggregate method exceeds DesiredMethodLimit")   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2544
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2545
  develop(bool, UseCHA, true,                                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2546
          "Enable CHA")                                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2547
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2548
  product(bool, UseTypeProfile, true,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2549
          "Check interpreter profile for historically monomorphic calls")   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2550
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2551
  notproduct(bool, TimeCompiler, false,                                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2552
          "Time the compiler")                                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2553
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2554
  diagnostic(bool, PrintInlining, false,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2555
          "Print inlining optimizations")                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2556
                                                                            \
2255
54abdf3e1055 6378821: bitCount() should use POPC on SPARC processors and AMD+10h
twisti
parents: 2254
diff changeset
  2557
  product(bool, UsePopCountInstruction, false,                              \
54abdf3e1055 6378821: bitCount() should use POPC on SPARC processors and AMD+10h
twisti
parents: 2254
diff changeset
  2558
          "Use population count instruction")                               \
54abdf3e1055 6378821: bitCount() should use POPC on SPARC processors and AMD+10h
twisti
parents: 2254
diff changeset
  2559
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2560
  develop(bool, EagerInitialization, false,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2561
          "Eagerly initialize classes if possible")                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2562
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2563
  develop(bool, TraceMethodReplacement, false,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2564
          "Print when methods are replaced do to recompilation")            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2565
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2566
  develop(bool, PrintMethodFlushing, false,                                 \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2567
          "Print the nmethods being flushed")                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2568
                                                                            \
22210
b0408ba029f6 8025277: Add -XX: flag to print code cache sweeper statistics
anoll
parents: 21733
diff changeset
  2569
  diagnostic(bool, PrintMethodFlushingStatistics, false,                    \
b0408ba029f6 8025277: Add -XX: flag to print code cache sweeper statistics
anoll
parents: 21733
diff changeset
  2570
          "print statistics about method flushing")                         \
b0408ba029f6 8025277: Add -XX: flag to print code cache sweeper statistics
anoll
parents: 21733
diff changeset
  2571
                                                                            \
24442
4d4ae31dea26 8032463: VirtualDispatch test timeout with DeoptimizeALot
iveresov
parents: 24441
diff changeset
  2572
  diagnostic(intx, HotMethodDetectionLimit, 100000,                         \
4d4ae31dea26 8032463: VirtualDispatch test timeout with DeoptimizeALot
iveresov
parents: 24441
diff changeset
  2573
          "Number of compiled code invocations after which "                \
4d4ae31dea26 8032463: VirtualDispatch test timeout with DeoptimizeALot
iveresov
parents: 24441
diff changeset
  2574
          "the method is considered as hot by the flusher")                 \
4d4ae31dea26 8032463: VirtualDispatch test timeout with DeoptimizeALot
iveresov
parents: 24441
diff changeset
  2575
                                                                            \
4d4ae31dea26 8032463: VirtualDispatch test timeout with DeoptimizeALot
iveresov
parents: 24441
diff changeset
  2576
  diagnostic(intx, MinPassesBeforeFlush, 10,                                \
4d4ae31dea26 8032463: VirtualDispatch test timeout with DeoptimizeALot
iveresov
parents: 24441
diff changeset
  2577
          "Minimum number of sweeper passes before an nmethod "             \
4d4ae31dea26 8032463: VirtualDispatch test timeout with DeoptimizeALot
iveresov
parents: 24441
diff changeset
  2578
          "can be flushed")                                                 \
4d4ae31dea26 8032463: VirtualDispatch test timeout with DeoptimizeALot
iveresov
parents: 24441
diff changeset
  2579
                                                                            \
4d4ae31dea26 8032463: VirtualDispatch test timeout with DeoptimizeALot
iveresov
parents: 24441
diff changeset
  2580
  product(bool, UseCodeAging, true,                                         \
4d4ae31dea26 8032463: VirtualDispatch test timeout with DeoptimizeALot
iveresov
parents: 24441
diff changeset
  2581
          "Insert counter to detect warm methods")                          \
4d4ae31dea26 8032463: VirtualDispatch test timeout with DeoptimizeALot
iveresov
parents: 24441
diff changeset
  2582
                                                                            \
4d4ae31dea26 8032463: VirtualDispatch test timeout with DeoptimizeALot
iveresov
parents: 24441
diff changeset
  2583
  diagnostic(bool, StressCodeAging, false,                                  \
4d4ae31dea26 8032463: VirtualDispatch test timeout with DeoptimizeALot
iveresov
parents: 24441
diff changeset
  2584
          "Start with counters compiled in")                                \
4d4ae31dea26 8032463: VirtualDispatch test timeout with DeoptimizeALot
iveresov
parents: 24441
diff changeset
  2585
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2586
  develop(bool, UseRelocIndex, false,                                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2587
          "Use an index to speed random access to relocations")             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2588
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2589
  develop(bool, StressCodeBuffers, false,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2590
          "Exercise code buffer expansion and other rare state changes")    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2591
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2592
  diagnostic(bool, DebugNonSafepoints, trueInDebug,                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2593
          "Generate extra debugging information for non-safepoints in "     \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2594
          "nmethods")                                                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2595
                                                                            \
10990
f71627d1b3dd 7108264: Fix for 7104173 is insufficient
dholmes
parents: 10828
diff changeset
  2596
  product(bool, PrintVMOptions, false,                                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2597
          "Print flags that appeared on the command line")                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2598
                                                                            \
2028
04fa713b25f9 6788376: allow to ignore unrecognized VM options
kvn
parents: 1671
diff changeset
  2599
  product(bool, IgnoreUnrecognizedVMOptions, false,                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2600
          "Ignore unrecognized VM options")                                 \
2028
04fa713b25f9 6788376: allow to ignore unrecognized VM options
kvn
parents: 1671
diff changeset
  2601
                                                                            \
4579
62478db2dc78 6914622: Print values of all flags for product VM
kvn
parents: 4489
diff changeset
  2602
  product(bool, PrintCommandLineFlags, false,                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2603
          "Print flags specified on command line or set by ergonomics")     \
4579
62478db2dc78 6914622: Print values of all flags for product VM
kvn
parents: 4489
diff changeset
  2604
                                                                            \
62478db2dc78 6914622: Print values of all flags for product VM
kvn
parents: 4489
diff changeset
  2605
  product(bool, PrintFlagsInitial, false,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2606
          "Print all VM flags before argument processing and exit VM")      \
4579
62478db2dc78 6914622: Print values of all flags for product VM
kvn
parents: 4489
diff changeset
  2607
                                                                            \
62478db2dc78 6914622: Print values of all flags for product VM
kvn
parents: 4489
diff changeset
  2608
  product(bool, PrintFlagsFinal, false,                                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2609
          "Print all VM flags after argument and ergonomic processing")     \
4579
62478db2dc78 6914622: Print values of all flags for product VM
kvn
parents: 4489
diff changeset
  2610
                                                                            \
6438
ace4f8100e90 6979444: add command line option to print command line flags descriptions
ikrylov
parents: 6419
diff changeset
  2611
  notproduct(bool, PrintFlagsWithComments, false,                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2612
          "Print all VM flags with default values and descriptions and "    \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2613
          "exit")                                                           \
6438
ace4f8100e90 6979444: add command line option to print command line flags descriptions
ikrylov
parents: 6419
diff changeset
  2614
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2615
  diagnostic(bool, SerializeVMOutput, true,                                 \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2616
          "Use a mutex to serialize output to tty and LogFile")             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2617
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2618
  diagnostic(bool, DisplayVMOutput, true,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2619
          "Display all VM output on the tty, independently of LogVMOutput") \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2620
                                                                            \
20010
c66a7254680c 8023134: Rename VM LogFile to hotspot_pid{pid}.log (was hotspot.log)
vlivanov
parents: 19770
diff changeset
  2621
  diagnostic(bool, LogVMOutput, false,                                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2622
          "Save VM output to LogFile")                                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2623
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2624
  diagnostic(ccstr, LogFile, NULL,                                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2625
          "If LogVMOutput or LogCompilation is on, save VM output to "      \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2626
          "this file [default: ./hotspot_pid%p.log] (%p replaced with pid)")\
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2627
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2628
  product(ccstr, ErrorFile, NULL,                                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2629
          "If an error occurs, save the error data to this file "           \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2630
          "[default: ./hs_err_pid%p.log] (%p replaced with pid)")           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2631
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2632
  product(bool, DisplayVMOutputToStderr, false,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2633
          "If DisplayVMOutput is true, display all VM output to stderr")    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2634
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2635
  product(bool, DisplayVMOutputToStdout, false,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2636
          "If DisplayVMOutput is true, display all VM output to stdout")    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2637
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2638
  product(bool, UseHeavyMonitors, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2639
          "use heavyweight instead of lightweight Java monitors")           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2640
                                                                            \
13087
673ea6efaf18 7158800: Improve storage of symbol tables
coleenp
parents: 12781
diff changeset
  2641
  product(bool, PrintStringTableStatistics, false,                          \
673ea6efaf18 7158800: Improve storage of symbol tables
coleenp
parents: 12781
diff changeset
  2642
          "print statistics about the StringTable and SymbolTable")         \
673ea6efaf18 7158800: Improve storage of symbol tables
coleenp
parents: 12781
diff changeset
  2643
                                                                            \
20053
a12bd7991794 8019835: Strings interned in different threads equal but does not ==
dcubed
parents: 19770
diff changeset
  2644
  diagnostic(bool, VerifyStringTableAtExit, false,                          \
a12bd7991794 8019835: Strings interned in different threads equal but does not ==
dcubed
parents: 19770
diff changeset
  2645
          "verify StringTable contents at exit")                            \
a12bd7991794 8019835: Strings interned in different threads equal but does not ==
dcubed
parents: 19770
diff changeset
  2646
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2647
  notproduct(bool, PrintSymbolTableSizeHistogram, false,                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2648
          "print histogram of the symbol table")                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2649
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2650
  notproduct(bool, ExitVMOnVerifyError, false,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2651
          "standard exit from VM if bytecode verify error "                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2652
          "(only in debug mode)")                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2653
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2654
  notproduct(ccstr, AbortVMOnException, NULL,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2655
          "Call fatal if this exception is thrown.  Example: "              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2656
          "java -XX:AbortVMOnException=java.lang.NullPointerException Foo") \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2657
                                                                            \
6179
4846648c4b7b 6973308: Missing zero length check before repne scas in check_klass_subtype_slow_path()
kvn
parents: 6062
diff changeset
  2658
  notproduct(ccstr, AbortVMOnExceptionMessage, NULL,                        \
4846648c4b7b 6973308: Missing zero length check before repne scas in check_klass_subtype_slow_path()
kvn
parents: 6062
diff changeset
  2659
          "Call fatal if the exception pointed by AbortVMOnException "      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2660
          "has this message")                                               \
6179
4846648c4b7b 6973308: Missing zero length check before repne scas in check_klass_subtype_slow_path()
kvn
parents: 6062
diff changeset
  2661
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2662
  develop(bool, DebugVtables, false,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2663
          "add debugging code to vtable dispatch")                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2664
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2665
  develop(bool, PrintVtables, false,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2666
          "print vtables when printing klass")                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2667
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2668
  notproduct(bool, PrintVtableStats, false,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2669
          "print vtables stats at end of run")                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2670
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2671
  develop(bool, TraceCreateZombies, false,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2672
          "trace creation of zombie nmethods")                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2673
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2674
  notproduct(bool, IgnoreLockingAssertions, false,                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2675
          "disable locking assertions (for speed)")                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2676
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2677
  product(bool, RangeCheckElimination, true,                                \
16611
6807a703dd6b 7153771: array bound check elimination for c1
roland
parents: 15922
diff changeset
  2678
          "Eliminate range checks")                                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2679
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2680
  develop_pd(bool, UncommonNullCast,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2681
          "track occurrences of null in casts; adjust compiler tactics")    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2682
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2683
  develop(bool, TypeProfileCasts,  true,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2684
          "treat casts like calls for purposes of type profiling")          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2685
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2686
  develop(bool, DelayCompilationDuringStartup, true,                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2687
          "Delay invoking the compiler until main application class is "    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2688
          "loaded")                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2689
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2690
  develop(bool, CompileTheWorld, false,                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2691
          "Compile all methods in all classes in bootstrap class path "     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2692
          "(stress test)")                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2693
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2694
  develop(bool, CompileTheWorldPreloadClasses, true,                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2695
          "Preload all classes used by a class before start loading")       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2696
                                                                            \
4736
e091227926da 6919886: Sweep CodeCache more aggressively to reduce its usage for CompileTheWorld
kvn
parents: 4650
diff changeset
  2697
  notproduct(intx, CompileTheWorldSafepointInterval, 100,                   \
e091227926da 6919886: Sweep CodeCache more aggressively to reduce its usage for CompileTheWorld
kvn
parents: 4650
diff changeset
  2698
          "Force a safepoint every n compiles so sweeper can keep up")      \
e091227926da 6919886: Sweep CodeCache more aggressively to reduce its usage for CompileTheWorld
kvn
parents: 4650
diff changeset
  2699
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2700
  develop(bool, FillDelaySlots, true,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2701
          "Fill delay slots (on SPARC only)")                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2702
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2703
  develop(bool, TimeLivenessAnalysis, false,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2704
          "Time computation of bytecode liveness analysis")                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2705
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2706
  develop(bool, TraceLivenessGen, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2707
          "Trace the generation of liveness analysis information")          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2708
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2709
  notproduct(bool, TraceLivenessQuery, false,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2710
          "Trace queries of liveness analysis information")                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2711
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2712
  notproduct(bool, CollectIndexSetStatistics, false,                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2713
          "Collect information about IndexSets")                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2714
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2715
  develop(bool, UseLoopSafepoints, true,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2716
          "Generate Safepoint nodes in every loop")                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2717
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2718
  develop(intx, FastAllocateSizeLimit, 128*K,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2719
          /* Note:  This value is zero mod 1<<13 for a cheap sparc set. */  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2720
          "Inline allocations larger than this in doublewords must go slow")\
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2721
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2722
  product(bool, AggressiveOpts, false,                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2723
          "Enable aggressive optimizations - see arguments.cpp")            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2724
                                                                            \
20702
bbe0fcde6e13 8023657: New type profiling points: arguments to call
roland
parents: 20292
diff changeset
  2725
  product_pd(uintx, TypeProfileLevel,                                       \
21095
1a04f7b3946e 8026251: New type profiling points: parameters to methods
roland
parents: 20735
diff changeset
  2726
          "=XYZ, with Z: Type profiling of arguments at call; "             \
1a04f7b3946e 8026251: New type profiling points: parameters to methods
roland
parents: 20735
diff changeset
  2727
                     "Y: Type profiling of return value at call; "          \
1a04f7b3946e 8026251: New type profiling points: parameters to methods
roland
parents: 20735
diff changeset
  2728
                     "X: Type profiling of parameters to methods; "         \
1a04f7b3946e 8026251: New type profiling points: parameters to methods
roland
parents: 20735
diff changeset
  2729
          "X, Y and Z in 0=off ; 1=jsr292 only; 2=all methods")             \
20702
bbe0fcde6e13 8023657: New type profiling points: arguments to call
roland
parents: 20292
diff changeset
  2730
                                                                            \
bbe0fcde6e13 8023657: New type profiling points: arguments to call
roland
parents: 20292
diff changeset
  2731
  product(intx, TypeProfileArgsLimit,     2,                                \
bbe0fcde6e13 8023657: New type profiling points: arguments to call
roland
parents: 20292
diff changeset
  2732
          "max number of call arguments to consider for type profiling")    \
bbe0fcde6e13 8023657: New type profiling points: arguments to call
roland
parents: 20292
diff changeset
  2733
                                                                            \
21095
1a04f7b3946e 8026251: New type profiling points: parameters to methods
roland
parents: 20735
diff changeset
  2734
  product(intx, TypeProfileParmsLimit,    2,                                \
1a04f7b3946e 8026251: New type profiling points: parameters to methods
roland
parents: 20735
diff changeset
  2735
          "max number of incoming parameters to consider for type profiling"\
1a04f7b3946e 8026251: New type profiling points: parameters to methods
roland
parents: 20735
diff changeset
  2736
          ", -1 for all")                                                   \
1a04f7b3946e 8026251: New type profiling points: parameters to methods
roland
parents: 20735
diff changeset
  2737
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2738
  /* statistics */                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2739
  develop(bool, CountCompiledCalls, false,                                  \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2740
          "Count method invocations")                                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2741
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2742
  notproduct(bool, CountRuntimeCalls, false,                                \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2743
          "Count VM runtime calls")                                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2744
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2745
  develop(bool, CountJNICalls, false,                                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2746
          "Count jni method invocations")                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2747
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2748
  notproduct(bool, CountJVMCalls, false,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2749
          "Count jvm method invocations")                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2750
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2751
  notproduct(bool, CountRemovableExceptions, false,                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2752
          "Count exceptions that could be replaced by branches due to "     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2753
          "inlining")                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2754
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2755
  notproduct(bool, ICMissHistogram, false,                                  \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2756
          "Produce histogram of IC misses")                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2757
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2758
  notproduct(bool, PrintClassStatistics, false,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2759
          "Print class statistics at end of run")                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2760
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2761
  notproduct(bool, PrintMethodStatistics, false,                            \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2762
          "Print method statistics at end of run")                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2763
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2764
  /* interpreter */                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2765
  develop(bool, ClearInterpreterLocals, false,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2766
          "Always clear local variables of interpreter activations upon "   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2767
          "entry")                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2768
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2769
  product_pd(bool, RewriteBytecodes,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2770
          "Allow rewriting of bytecodes (bytecodes are not immutable)")     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2771
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2772
  product_pd(bool, RewriteFrequentPairs,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2773
          "Rewrite frequently used bytecode pairs into a single bytecode")  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2774
                                                                            \
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents: 249
diff changeset
  2775
  diagnostic(bool, PrintInterpreter, false,                                 \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2776
          "Print the generated interpreter code")                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2777
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2778
  product(bool, UseInterpreter, true,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2779
          "Use interpreter for non-compiled methods")                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2780
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2781
  develop(bool, UseFastSignatureHandlers, true,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2782
          "Use fast signature handlers for native calls")                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2783
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2784
  product(bool, UseLoopCounter, true,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2785
          "Increment invocation counter on backward branch")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2786
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2787
  product_pd(bool, UseOnStackReplacement,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2788
          "Use on stack replacement, calls runtime if invoc. counter "      \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2789
          "overflows in loop")                                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2790
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2791
  notproduct(bool, TraceOnStackReplacement, false,                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2792
          "Trace on stack replacement")                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2793
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2794
  product_pd(bool, PreferInterpreterNativeStubs,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2795
          "Use always interpreter stubs for native methods invoked via "    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2796
          "interpreter")                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2797
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2798
  develop(bool, CountBytecodes, false,                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2799
          "Count number of bytecodes executed")                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2800
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2801
  develop(bool, PrintBytecodeHistogram, false,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2802
          "Print histogram of the executed bytecodes")                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2803
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2804
  develop(bool, PrintBytecodePairHistogram, false,                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2805
          "Print histogram of the executed bytecode pairs")                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2806
                                                                            \
347
df859fcca515 6667042: PrintAssembly option does not work without special plugin
jrose
parents: 249
diff changeset
  2807
  diagnostic(bool, PrintSignatureHandlers, false,                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2808
          "Print code generated for native method signature handlers")      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2809
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2810
  develop(bool, VerifyOops, false,                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2811
          "Do plausibility checks for oops")                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2812
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2813
  develop(bool, CheckUnhandledOops, false,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2814
          "Check for unhandled oops in VM code")                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2815
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2816
  develop(bool, VerifyJNIFields, trueInDebug,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2817
          "Verify jfieldIDs for instance fields")                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2818
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2819
  notproduct(bool, VerifyJNIEnvThread, false,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2820
          "Verify JNIEnv.thread == Thread::current() when entering VM "     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2821
          "from JNI")                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2822
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2823
  develop(bool, VerifyFPU, false,                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2824
          "Verify FPU state (check for NaN's, etc.)")                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2825
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2826
  develop(bool, VerifyThread, false,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2827
          "Watch the thread register for corruption (SPARC only)")          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2828
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2829
  develop(bool, VerifyActivationFrameSize, false,                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2830
          "Verify that activation frame didn't become smaller than its "    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2831
          "minimal size")                                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2832
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2833
  develop(bool, TraceFrequencyInlining, false,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2834
          "Trace frequency based inlining")                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2835
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2836
  develop_pd(bool, InlineIntrinsics,                                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2837
          "Inline intrinsics that can be statically resolved")              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2838
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2839
  product_pd(bool, ProfileInterpreter,                                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2840
          "Profile at the bytecode level during interpretation")            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2841
                                                                            \
22836
e7e511228518 8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling
goetz
parents: 22828
diff changeset
  2842
  develop(bool, TraceProfileInterpreter, false,                             \
e7e511228518 8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling
goetz
parents: 22828
diff changeset
  2843
          "Trace profiling at the bytecode level during interpretation. "   \
e7e511228518 8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling
goetz
parents: 22828
diff changeset
  2844
          "This outputs the profiling information collected to improve "    \
e7e511228518 8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling
goetz
parents: 22828
diff changeset
  2845
          "jit compilation.")                                               \
e7e511228518 8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling
goetz
parents: 22828
diff changeset
  2846
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2847
  develop_pd(bool, ProfileTraps,                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2848
          "Profile deoptimization traps at the bytecode level")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2849
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2850
  product(intx, ProfileMaturityPercentage, 20,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2851
          "number of method invocations/branches (expressed as % of "       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2852
          "CompileThreshold) before using the method's profile")            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2853
                                                                            \
23526
6851d341ad52 8037970: make PrintMethodData a diagnostic options
roland
parents: 23474
diff changeset
  2854
  diagnostic(bool, PrintMethodData, false,                                  \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2855
          "Print the results of +ProfileInterpreter at end of run")         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2856
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2857
  develop(bool, VerifyDataPointer, trueInDebug,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2858
          "Verify the method data pointer during interpreter profiling")    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2859
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2860
  develop(bool, VerifyCompiledCode, false,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2861
          "Include miscellaneous runtime verifications in nmethod code; "   \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  2862
          "default off because it disturbs nmethod size heuristics")        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2863
                                                                            \
4489
514173c9a0c2 6361589: Print out stack trace for target thread of GC crash
minqi
parents: 4434
diff changeset
  2864
  notproduct(bool, CrashGCForDumpingJavaThread, false,                      \
514173c9a0c2 6361589: Print out stack trace for target thread of GC crash
minqi
parents: 4434
diff changeset
  2865
          "Manually make GC thread crash then dump java stack trace;  "     \
514173c9a0c2 6361589: Print out stack trace for target thread of GC crash
minqi
parents: 4434
diff changeset
  2866
          "Test only")                                                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2867
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2868
  /* compilation */                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2869
  product(bool, UseCompiler, true,                                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2870
          "Use Just-In-Time compilation")                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2871
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2872
  develop(bool, TraceCompilationPolicy, false,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2873
          "Trace compilation policy")                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2874
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2875
  develop(bool, TimeCompilationPolicy, false,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2876
          "Time the compilation policy")                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2877
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2878
  product(bool, UseCounterDecay, true,                                      \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2879
          "Adjust recompilation counters")                                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2880
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2881
  develop(intx, CounterHalfLifeTime,    30,                                 \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2882
          "Half-life time of invocation counters (in seconds)")             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2883
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2884
  develop(intx, CounterDecayMinIntervalLength,   500,                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2885
          "The minimum interval (in milliseconds) between invocation of "   \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2886
          "CounterDecay")                                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2887
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2888
  product(bool, AlwaysCompileLoopMethods, false,                            \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2889
          "When using recompilation, never interpret methods "              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2890
          "containing loops")                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2891
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2892
  product(bool, DontCompileHugeMethods, true,                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2893
          "Do not compile methods > HugeMethodLimit")                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2894
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2895
  /* Bytecode escape analysis estimation. */                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2896
  product(bool, EstimateArgEscape, true,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2897
          "Analyze bytecodes to estimate escape state of arguments")        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2898
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2899
  product(intx, BCEATraceLevel, 0,                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2900
          "How much tracing to do of bytecode escape analysis estimates")   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2901
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2902
  product(intx, MaxBCEAEstimateLevel, 5,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2903
          "Maximum number of nested calls that are analyzed by BC EA")      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2904
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2905
  product(intx, MaxBCEAEstimateSize, 150,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2906
          "Maximum bytecode size of a method to be analyzed by BC EA")      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2907
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2908
  product(intx,  AllocatePrefetchStyle, 1,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2909
          "0 = no prefetch, "                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2910
          "1 = prefetch instructions for each allocation, "                 \
5251
f86f7a86d761 6940726: Use BIS instruction for allocation prefetch on Sparc
kvn
parents: 5250
diff changeset
  2911
          "2 = use TLAB watermark to gate allocation prefetch, "            \
f86f7a86d761 6940726: Use BIS instruction for allocation prefetch on Sparc
kvn
parents: 5250
diff changeset
  2912
          "3 = use BIS instruction on Sparc for allocation prefetch")       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2913
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2914
  product(intx,  AllocatePrefetchDistance, -1,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2915
          "Distance to prefetch ahead of allocation pointer")               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2916
                                                                            \
10267
8bdeec886dc4 7079329: Adjust allocation prefetching for T4
kvn
parents: 10252
diff changeset
  2917
  product(intx,  AllocatePrefetchLines, 3,                                  \
8bdeec886dc4 7079329: Adjust allocation prefetching for T4
kvn
parents: 10252
diff changeset
  2918
          "Number of lines to prefetch ahead of array allocation pointer")  \
8bdeec886dc4 7079329: Adjust allocation prefetching for T4
kvn
parents: 10252
diff changeset
  2919
                                                                            \
8bdeec886dc4 7079329: Adjust allocation prefetching for T4
kvn
parents: 10252
diff changeset
  2920
  product(intx,  AllocateInstancePrefetchLines, 1,                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2921
          "Number of lines to prefetch ahead of instance allocation "       \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2922
          "pointer")                                                        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2923
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2924
  product(intx,  AllocatePrefetchStepSize, 16,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2925
          "Step size in bytes of sequential prefetch instructions")         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2926
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2927
  product(intx,  AllocatePrefetchInstr, 0,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2928
          "Prefetch instruction to prefetch ahead of allocation pointer")   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2929
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2930
  /* deoptimization */                                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2931
  develop(bool, TraceDeoptimization, false,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2932
          "Trace deoptimization")                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2933
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2934
  develop(bool, DebugDeoptimization, false,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2935
          "Tracing various information while debugging deoptimization")     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2936
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2937
  product(intx, SelfDestructTimer, 0,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2938
          "Will cause VM to terminate after a given time (in minutes) "     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2939
          "(0 means off)")                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2940
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2941
  product(intx, MaxJavaStackTraceDepth, 1024,                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2942
          "The maximum number of lines in the stack trace for Java "        \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2943
          "exceptions (0 means all)")                                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2944
                                                                            \
9429
4569a4c199da 7005503: Make GuaranteedSafepointInterval a diagnostic flag
kevinw
parents: 9182
diff changeset
  2945
  NOT_EMBEDDED(diagnostic(intx, GuaranteedSafepointInterval, 1000,          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2946
          "Guarantee a safepoint (at least) every so many milliseconds "    \
8107
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
  2947
          "(0 means none)"))                                                \
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
  2948
                                                                            \
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
  2949
  EMBEDDED_ONLY(product(intx, GuaranteedSafepointInterval, 0,               \
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
  2950
          "Guarantee a safepoint (at least) every so many milliseconds "    \
78e5bd944384 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 8076
diff changeset
  2951
          "(0 means none)"))                                                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2952
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2953
  product(intx, SafepointTimeoutDelay, 10000,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2954
          "Delay in milliseconds for option SafepointTimeout")              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2955
                                                                            \
13925
37f75ba502b1 8000351: Tenuring threshold should be unsigned
jwilhelm
parents: 13924
diff changeset
  2956
  product(intx, NmethodSweepFraction, 16,                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2957
          "Number of invocations of sweeper to cover all nmethods")         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2958
                                                                            \
5533
e8d9ff82ec62 6950075: nmethod sweeper should operate concurrently
never
parents: 5426
diff changeset
  2959
  product(intx, NmethodSweepCheckInterval, 5,                               \
e8d9ff82ec62 6950075: nmethod sweeper should operate concurrently
never
parents: 5426
diff changeset
  2960
          "Compilers wake up every n seconds to possibly sweep nmethods")   \
e8d9ff82ec62 6950075: nmethod sweeper should operate concurrently
never
parents: 5426
diff changeset
  2961
                                                                            \
20290
2127dc70bce9 8020151: PSR:PERF Large performance regressions when code cache is filled
anoll
parents: 20288
diff changeset
  2962
  product(intx, NmethodSweepActivity, 10,                                   \
2127dc70bce9 8020151: PSR:PERF Large performance regressions when code cache is filled
anoll
parents: 20288
diff changeset
  2963
          "Removes cold nmethods from code cache if > 0. Higher values "    \
2127dc70bce9 8020151: PSR:PERF Large performance regressions when code cache is filled
anoll
parents: 20288
diff changeset
  2964
          "result in more aggressive sweeping")                             \
2127dc70bce9 8020151: PSR:PERF Large performance regressions when code cache is filled
anoll
parents: 20288
diff changeset
  2965
                                                                            \
9942
2e86734ba620 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify
never
parents: 9640
diff changeset
  2966
  notproduct(bool, LogSweeper, false,                                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2967
          "Keep a ring buffer of sweeper activity")                         \
9942
2e86734ba620 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify
never
parents: 9640
diff changeset
  2968
                                                                            \
2e86734ba620 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify
never
parents: 9640
diff changeset
  2969
  notproduct(intx, SweeperLogEntries, 1024,                                 \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  2970
          "Number of records in the ring buffer of sweeper activity")       \
9942
2e86734ba620 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify
never
parents: 9640
diff changeset
  2971
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2972
  notproduct(intx, MemProfilingInterval, 500,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2973
          "Time between each invocation of the MemProfiler")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2974
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2975
  develop(intx, MallocCatchPtr, -1,                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2976
          "Hit breakpoint when mallocing/freeing this pointer")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2977
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2978
  notproduct(intx, AssertRepeat, 1,                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2979
          "number of times to evaluate expression in assert "               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2980
          "(to estimate overhead); only works with -DUSE_REPEATED_ASSERTS") \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2981
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2982
  notproduct(ccstrlist, SuppressErrorAt, "",                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2983
          "List of assertions (file:line) to muzzle")                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2984
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2985
  notproduct(uintx, HandleAllocationLimit, 1024,                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2986
          "Threshold for HandleMark allocation when +TraceHandleAllocation "\
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2987
          "is used")                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2988
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2989
  develop(uintx, TotalHandleAllocationLimit, 1024,                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2990
          "Threshold for total handle allocation when "                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2991
          "+TraceHandleAllocation is used")                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2992
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2993
  develop(intx, StackPrintLimit, 100,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2994
          "number of stack frames to print in VM-level stack dump")         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2995
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2996
  notproduct(intx, MaxElementPrintSize, 256,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2997
          "maximum number of elements to print")                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2998
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2999
  notproduct(intx, MaxSubklassPrintSize, 4,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3000
          "maximum number of subklasses to print when printing klass")      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3001
                                                                            \
4586
f1c484fca023 6912063: inlining parameters need to be adjusted for some uses of the JVM
jrose
parents: 4579
diff changeset
  3002
  product(intx, MaxInlineLevel, 9,                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3003
          "maximum number of nested calls that are inlined")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3004
                                                                            \
4586
f1c484fca023 6912063: inlining parameters need to be adjusted for some uses of the JVM
jrose
parents: 4579
diff changeset
  3005
  product(intx, MaxRecursiveInlineLevel, 1,                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3006
          "maximum number of nested recursive calls that are inlined")      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3007
                                                                            \
21582
6c76cdd733fe 8028159: C2: compiler stack overflow during inlining of @ForceInline methods
vlivanov
parents: 21575
diff changeset
  3008
  develop(intx, MaxForceInlineLevel, 100,                                   \
23191
5f3c5592f0e8 8035887: VM crashes trying to force inlining the recursive call
vlivanov
parents: 23190
diff changeset
  3009
          "maximum number of nested calls that are forced for inlining "    \
5f3c5592f0e8 8035887: VM crashes trying to force inlining the recursive call
vlivanov
parents: 23190
diff changeset
  3010
          "(using CompilerOracle or marked w/ @ForceInline)")               \
21582
6c76cdd733fe 8028159: C2: compiler stack overflow during inlining of @ForceInline methods
vlivanov
parents: 21575
diff changeset
  3011
                                                                            \
2342
9a1260c3679d 6821700: tune VM flags for peak performance
kvn
parents: 2259
diff changeset
  3012
  product_pd(intx, InlineSmallCode,                                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3013
          "Only inline already compiled methods if their code size is "     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3014
          "less than this")                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3015
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3016
  product(intx, MaxInlineSize, 35,                                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3017
          "The maximum bytecode size of a method to be inlined")            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3018
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3019
  product_pd(intx, FreqInlineSize,                                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3020
          "The maximum bytecode size of a frequent method to be inlined")   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3021
                                                                            \
4586
f1c484fca023 6912063: inlining parameters need to be adjusted for some uses of the JVM
jrose
parents: 4579
diff changeset
  3022
  product(intx, MaxTrivialSize, 6,                                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3023
          "The maximum bytecode size of a trivial method to be inlined")    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3024
                                                                            \
4586
f1c484fca023 6912063: inlining parameters need to be adjusted for some uses of the JVM
jrose
parents: 4579
diff changeset
  3025
  product(intx, MinInliningThreshold, 250,                                  \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3026
          "The minimum invocation count a method needs to have to be "      \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3027
          "inlined")                                                        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3028
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3029
  develop(intx, MethodHistogramCutoff, 100,                                 \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3030
          "The cutoff value for method invocation histogram (+CountCalls)") \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3031
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3032
  develop(intx, ProfilerNumberOfInterpretedMethods, 25,                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3033
          "Number of interpreted methods to show in profile")               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3034
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3035
  develop(intx, ProfilerNumberOfCompiledMethods, 25,                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3036
          "Number of compiled methods to show in profile")                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3037
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3038
  develop(intx, ProfilerNumberOfStubMethods, 25,                            \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3039
          "Number of stub methods to show in profile")                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3040
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3041
  develop(intx, ProfilerNumberOfRuntimeStubNodes, 25,                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3042
          "Number of runtime stub nodes to show in profile")                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3043
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3044
  product(intx, ProfileIntervalsTicks, 100,                                 \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3045
          "Number of ticks between printing of interval profile "           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3046
          "(+ProfileIntervals)")                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3047
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3048
  notproduct(intx, ScavengeALotInterval,     1,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3049
          "Interval between which scavenge will occur with +ScavengeALot")  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3050
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3051
  notproduct(intx, FullGCALotInterval,     1,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3052
          "Interval between which full gc will occur with +FullGCALot")     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3053
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3054
  notproduct(intx, FullGCALotStart,     0,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3055
          "For which invocation to start FullGCAlot")                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3056
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3057
  notproduct(intx, FullGCALotDummies,  32*K,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3058
          "Dummy object allocated with +FullGCALot, forcing all objects "   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3059
          "to move")                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3060
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3061
  develop(intx, DontYieldALotInterval,    10,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3062
          "Interval between which yields will be dropped (milliseconds)")   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3063
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3064
  develop(intx, MinSleepInterval,     1,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3065
          "Minimum sleep() interval (milliseconds) when "                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3066
          "ConvertSleepToYield is off (used for Solaris)")                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3067
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3068
  develop(intx, ProfilerPCTickThreshold,    15,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3069
          "Number of ticks in a PC buckets to be a hotspot")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3070
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3071
  notproduct(intx, DeoptimizeALotInterval,     5,                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3072
          "Number of exits until DeoptimizeALot kicks in")                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3073
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3074
  notproduct(intx, ZombieALotInterval,     5,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3075
          "Number of exits until ZombieALot kicks in")                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3076
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3077
  diagnostic(intx, MallocVerifyInterval,     0,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3078
          "If non-zero, verify C heap after every N calls to "              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3079
          "malloc/realloc/free")                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3080
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3081
  diagnostic(intx, MallocVerifyStart,     0,                                \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3082
          "If non-zero, start verifying C heap after Nth call to "          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3083
          "malloc/realloc/free")                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3084
                                                                            \
16428
1b55a8d558b8 7030610: runtime/6878713/Test6878713.sh fails Error. failed to clean up files after test
rdurbin
parents: 15922
diff changeset
  3085
  diagnostic(uintx, MallocMaxTestWords,     0,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3086
          "If non-zero, maximum number of words that malloc/realloc can "   \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3087
          "allocate (for testing only)")                                    \
16428
1b55a8d558b8 7030610: runtime/6878713/Test6878713.sh fails Error. failed to clean up files after test
rdurbin
parents: 15922
diff changeset
  3088
                                                                            \
13925
37f75ba502b1 8000351: Tenuring threshold should be unsigned
jwilhelm
parents: 13924
diff changeset
  3089
  product(intx, TypeProfileWidth,     2,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3090
          "Number of receiver types to record in call/cast profile")        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3091
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3092
  develop(intx, BciProfileWidth,      2,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3093
          "Number of return bci's to record in ret profile")                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3094
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3095
  product(intx, PerMethodRecompilationCutoff, 400,                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3096
          "After recompiling N times, stay in the interpreter (-1=>'Inf')") \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3097
                                                                            \
4754
8aef16f24e16 6614597: Performance variability in jvm2008 xml.validation
kvn
parents: 4750
diff changeset
  3098
  product(intx, PerBytecodeRecompilationCutoff, 200,                        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3099
          "Per-BCI limit on repeated recompilation (-1=>'Inf')")            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3100
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3101
  product(intx, PerMethodTrapLimit,  100,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3102
          "Limit on traps (of one kind) in a method (includes inlines)")    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3103
                                                                            \
22916
582da2ed4dfa 8031752: Failed speculative optimizations should be reattempted when root of compilation is different
roland
parents: 22876
diff changeset
  3104
  experimental(intx, PerMethodSpecTrapLimit,  5000,                         \
582da2ed4dfa 8031752: Failed speculative optimizations should be reattempted when root of compilation is different
roland
parents: 22876
diff changeset
  3105
          "Limit on speculative traps (of one kind) in a method (includes inlines)") \
582da2ed4dfa 8031752: Failed speculative optimizations should be reattempted when root of compilation is different
roland
parents: 22876
diff changeset
  3106
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3107
  product(intx, PerBytecodeTrapLimit,  4,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3108
          "Limit on traps (of one kind) at a particular BCI")               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3109
                                                                            \
22916
582da2ed4dfa 8031752: Failed speculative optimizations should be reattempted when root of compilation is different
roland
parents: 22876
diff changeset
  3110
  experimental(intx, SpecTrapLimitExtraEntries,  3,                         \
582da2ed4dfa 8031752: Failed speculative optimizations should be reattempted when root of compilation is different
roland
parents: 22876
diff changeset
  3111
          "Extra method data trap entries for speculation")                 \
582da2ed4dfa 8031752: Failed speculative optimizations should be reattempted when root of compilation is different
roland
parents: 22876
diff changeset
  3112
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3113
  develop(intx, InlineFrequencyRatio,    20,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3114
          "Ratio of call site execution to caller method invocation")       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3115
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3116
  develop_pd(intx, InlineFrequencyCount,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3117
          "Count of call site execution necessary to trigger frequent "     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3118
          "inlining")                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3119
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3120
  develop(intx, InlineThrowCount,    50,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3121
          "Force inlining of interpreted methods that throw this often")    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3122
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3123
  develop(intx, InlineThrowMaxSize,   200,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3124
          "Force inlining of throwing methods smaller than this")           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3125
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3126
  develop(intx, ProfilerNodeSize,  1024,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3127
          "Size in K to allocate for the Profile Nodes of each thread")     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3128
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3129
  product_pd(intx, PreInflateSpin,                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3130
          "Number of times to spin wait before inflation")                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3131
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3132
  /* gc parameters */                                                       \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  3133
  product(uintx, InitialHeapSize, 0,                                        \
17322
35c488005999 8006088: Incompatible heap size flags accepted by VM
tschatzl
parents: 17134
diff changeset
  3134
          "Initial heap size (in bytes); zero means use ergonomics")        \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  3135
                                                                            \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  3136
  product(uintx, MaxHeapSize, ScaleForWordSize(96*M),                       \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  3137
          "Maximum heap size (in bytes)")                                   \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  3138
                                                                            \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  3139
  product(uintx, OldSize, ScaleForWordSize(4*M),                            \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  3140
          "Initial tenured generation size (in bytes)")                     \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  3141
                                                                            \
5038
de3fb1c2d510 6923123: Hotspot refuses to start when -Xmx4m or -Xms4m is specified
phh
parents: 4759
diff changeset
  3142
  product(uintx, NewSize, ScaleForWordSize(1*M),                            \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  3143
          "Initial new generation size (in bytes)")                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3144
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3145
  product(uintx, MaxNewSize, max_uintx,                                     \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  3146
          "Maximum new generation size (in bytes), max_uintx means set "    \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  3147
          "ergonomically")                                                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3148
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3149
  product(uintx, PretenureSizeThreshold, 0,                                 \
4434
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  3150
          "Maximum size in bytes of objects allocated in DefNew "           \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  3151
          "generation; zero means no maximum")                              \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  3152
                                                                            \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  3153
  product(uintx, TLABSize, 0,                                               \
4b41e5b42f81 6887571: Increase default heap config sizes
phh
parents: 4013
diff changeset
  3154
          "Starting TLAB size (in bytes); zero means set ergonomically")    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3155
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3156
  product(uintx, MinTLABSize, 2*K,                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3157
          "Minimum allowed TLAB size (in bytes)")                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3158
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3159
  product(uintx, TLABAllocationWeight, 35,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3160
          "Allocation averaging weight")                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3161
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3162
  product(uintx, TLABWasteTargetPercent, 1,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3163
          "Percentage of Eden that can be wasted")                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3164
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3165
  product(uintx, TLABRefillWasteFraction,    64,                            \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3166
          "Maximum TLAB waste at a refill (internal fragmentation)")        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3167
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3168
  product(uintx, TLABWasteIncrement,    4,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3169
          "Increment allowed waste at slow allocation")                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3170
                                                                            \
15605
bf7de87bbe3a 8006432: Ratio flags should be unsigned
jwilhelm
parents: 15604
diff changeset
  3171
  product(uintx, SurvivorRatio, 8,                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3172
          "Ratio of eden/survivor space size")                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3173
                                                                            \
15605
bf7de87bbe3a 8006432: Ratio flags should be unsigned
jwilhelm
parents: 15604
diff changeset
  3174
  product(uintx, NewRatio, 2,                                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3175
          "Ratio of old/new generation sizes")                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3176
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3177
  product_pd(uintx, NewSizeThreadIncrease,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3178
          "Additional size added to desired new generation size per "       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3179
          "non-daemon thread (in bytes)")                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3180
                                                                            \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  3181
  product_pd(uintx, MetaspaceSize,                                          \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  3182
          "Initial size of Metaspaces (in bytes)")                          \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  3183
                                                                            \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  3184
  product(uintx, MaxMetaspaceSize, max_uintx,                               \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  3185
          "Maximum size of Metaspaces (in bytes)")                          \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  3186
                                                                            \
19979
ebe1dbb6e1aa 8015107: NPG: Use consistent naming for metaspace concepts
ehelin
parents: 19704
diff changeset
  3187
  product(uintx, CompressedClassSpaceSize, 1*G,                             \
ebe1dbb6e1aa 8015107: NPG: Use consistent naming for metaspace concepts
ehelin
parents: 19704
diff changeset
  3188
          "Maximum size of class area in Metaspace when compressed "        \
ebe1dbb6e1aa 8015107: NPG: Use consistent naming for metaspace concepts
ehelin
parents: 19704
diff changeset
  3189
          "class pointers are used")                                        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3190
                                                                            \
22555
ea32f6c51d08 8028391: Make the Min/MaxHeapFreeRatio flags manageable
jwilhelm
parents: 22551
diff changeset
  3191
  manageable(uintx, MinHeapFreeRatio, 40,                                   \
20719
ffa4f0de0dad 8024776: Max/MinHeapFreeRatio descriptions should be more precise
jwilhelm
parents: 20406
diff changeset
  3192
          "The minimum percentage of heap free after GC to avoid expansion."\
22555
ea32f6c51d08 8028391: Make the Min/MaxHeapFreeRatio flags manageable
jwilhelm
parents: 22551
diff changeset
  3193
          " For most GCs this applies to the old generation. In G1 and"     \
ea32f6c51d08 8028391: Make the Min/MaxHeapFreeRatio flags manageable
jwilhelm
parents: 22551
diff changeset
  3194
          " ParallelGC it applies to the whole heap.")                      \
ea32f6c51d08 8028391: Make the Min/MaxHeapFreeRatio flags manageable
jwilhelm
parents: 22551
diff changeset
  3195
                                                                            \
ea32f6c51d08 8028391: Make the Min/MaxHeapFreeRatio flags manageable
jwilhelm
parents: 22551
diff changeset
  3196
  manageable(uintx, MaxHeapFreeRatio, 70,                                   \
20719
ffa4f0de0dad 8024776: Max/MinHeapFreeRatio descriptions should be more precise
jwilhelm
parents: 20406
diff changeset
  3197
          "The maximum percentage of heap free after GC to avoid shrinking."\
22555
ea32f6c51d08 8028391: Make the Min/MaxHeapFreeRatio flags manageable
jwilhelm
parents: 22551
diff changeset
  3198
          " For most GCs this applies to the old generation. In G1 and"     \
ea32f6c51d08 8028391: Make the Min/MaxHeapFreeRatio flags manageable
jwilhelm
parents: 22551
diff changeset
  3199
          " ParallelGC it applies to the whole heap.")                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3200
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3201
  product(intx, SoftRefLRUPolicyMSPerMB, 1000,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3202
          "Number of milliseconds per MB of free space in the heap")        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3203
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3204
  product(uintx, MinHeapDeltaBytes, ScaleForWordSize(128*K),                \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3205
          "The minimum change in heap space due to GC (in bytes)")          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3206
                                                                            \
13925
37f75ba502b1 8000351: Tenuring threshold should be unsigned
jwilhelm
parents: 13924
diff changeset
  3207
  product(uintx, MinMetaspaceExpansion, ScaleForWordSize(256*K),            \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3208
          "The minimum expansion of Metaspace (in bytes)")                  \
15610
528d799702c7 8005452: NPG: Create new flags for Metaspace resizing policy
jmasa
parents: 15605
diff changeset
  3209
                                                                            \
528d799702c7 8005452: NPG: Create new flags for Metaspace resizing policy
jmasa
parents: 15605
diff changeset
  3210
  product(uintx, MinMetaspaceFreeRatio,    40,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3211
          "The minimum percentage of Metaspace free after GC to avoid "     \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3212
          "expansion")                                                      \
15610
528d799702c7 8005452: NPG: Create new flags for Metaspace resizing policy
jmasa
parents: 15605
diff changeset
  3213
                                                                            \
528d799702c7 8005452: NPG: Create new flags for Metaspace resizing policy
jmasa
parents: 15605
diff changeset
  3214
  product(uintx, MaxMetaspaceFreeRatio,    70,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3215
          "The maximum percentage of Metaspace free after GC to avoid "     \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3216
          "shrinking")                                                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3217
                                                                            \
13925
37f75ba502b1 8000351: Tenuring threshold should be unsigned
jwilhelm
parents: 13924
diff changeset
  3218
  product(uintx, MaxMetaspaceExpansion, ScaleForWordSize(4*M),              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3219
          "The maximum expansion of Metaspace without full GC (in bytes)")  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3220
                                                                            \
17392
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
  3221
  product(uintx, QueuedAllocationWarningCount, 0,                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3222
          "Number of times an allocation that queues behind a GC "          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3223
          "will retry before printing a warning")                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3224
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3225
  diagnostic(uintx, VerifyGCStartAt,   0,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3226
          "GC invoke count where +VerifyBefore/AfterGC kicks in")           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3227
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3228
  diagnostic(intx, VerifyGCLevel,     0,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3229
          "Generation level at which to start +VerifyBefore/AfterGC")       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3230
                                                                            \
13925
37f75ba502b1 8000351: Tenuring threshold should be unsigned
jwilhelm
parents: 13924
diff changeset
  3231
  product(uintx, MaxTenuringThreshold,    15,                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3232
          "Maximum value for tenuring threshold")                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3233
                                                                            \
13925
37f75ba502b1 8000351: Tenuring threshold should be unsigned
jwilhelm
parents: 13924
diff changeset
  3234
  product(uintx, InitialTenuringThreshold,    7,                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3235
          "Initial value for tenuring threshold")                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3236
                                                                            \
15605
bf7de87bbe3a 8006432: Ratio flags should be unsigned
jwilhelm
parents: 15604
diff changeset
  3237
  product(uintx, TargetSurvivorRatio,    50,                                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3238
          "Desired percentage of survivor space used after scavenge")       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3239
                                                                            \
1557
13878a2edfef 6765804: GC "dead ratios" should be unsigned
jcoomes
parents: 1438
diff changeset
  3240
  product(uintx, MarkSweepDeadRatio,     5,                                 \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3241
          "Percentage (0-100) of the old gen allowed as dead wood. "        \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3242
          "Serial mark sweep treats this as both the minimum and maximum "  \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3243
          "value. "                                                         \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3244
          "CMS uses this value only if it falls back to mark sweep. "       \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3245
          "Par compact uses a variable scale based on the density of the "  \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3246
          "generation and treats this as the maximum value when the heap "  \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3247
          "is either completely full or completely empty.  Par compact "    \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3248
          "also has a smaller default value; see arguments.cpp.")           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3249
                                                                            \
17392
2f967c0e4246 6843347: Boundary values in some public GC options cause crashes
tschatzl
parents: 17322
diff changeset
  3250
  product(uintx, MarkSweepAlwaysCompactCount,     4,                        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3251
          "How often should we fully compact the heap (ignoring the dead "  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3252
          "space parameters)")                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3253
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3254
  product(intx, PrintCMSStatistics, 0,                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3255
          "Statistics for CMS")                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3256
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3257
  product(bool, PrintCMSInitiationStatistics, false,                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3258
          "Statistics for initiating a CMS collection")                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3259
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3260
  product(intx, PrintFLSStatistics, 0,                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3261
          "Statistics for CMS' FreeListSpace")                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3262
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3263
  product(intx, PrintFLSCensus, 0,                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3264
          "Census for CMS' FreeListSpace")                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3265
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3266
  develop(uintx, GCExpandToAllocateDelayMillis, 0,                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3267
          "Delay between expansion and allocation (in milliseconds)")       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3268
                                                                            \
13924
159131321ed4 7199349: NPG: PS: Crash seen in jprt
jmasa
parents: 13861
diff changeset
  3269
  develop(uintx, GCWorkerDelayMillis, 0,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3270
          "Delay in scheduling GC workers (in milliseconds)")               \
13924
159131321ed4 7199349: NPG: PS: Crash seen in jprt
jmasa
parents: 13861
diff changeset
  3271
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3272
  product(intx, DeferThrSuspendLoopCount,     4000,                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3273
          "(Unstable) Number of times to iterate in safepoint loop "        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3274
          "before blocking VM threads ")                                    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3275
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3276
  product(intx, DeferPollingPageLoopCount,     -1,                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3277
          "(Unsafe,Unstable) Number of iterations in safepoint loop "       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3278
          "before changing safepoint polling page to RO ")                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3279
                                                                            \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3280
  product(intx, SafepointSpinBeforeYield, 2000, "(Unstable)")               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3281
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3282
  product(bool, PSChunkLargeArrays, true,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3283
          "Process large arrays in chunks")                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3284
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3285
  product(uintx, GCDrainStackTargetSize, 64,                                \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3286
          "Number of entries we will try to leave on the stack "            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3287
          "during parallel gc")                                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3288
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3289
  /* stack parameters */                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3290
  product_pd(intx, StackYellowPages,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3291
          "Number of yellow zone (recoverable overflows) pages")            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3292
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3293
  product_pd(intx, StackRedPages,                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3294
          "Number of red zone (unrecoverable overflows) pages")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3295
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3296
  product_pd(intx, StackShadowPages,                                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3297
          "Number of shadow zone (for overflow checking) pages "            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3298
          "this should exceed the depth of the VM and native call stack")   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3299
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3300
  product_pd(intx, ThreadStackSize,                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3301
          "Thread Stack Size (in Kbytes)")                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3302
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3303
  product_pd(intx, VMThreadStackSize,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3304
          "Non-Java Thread Stack Size (in Kbytes)")                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3305
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3306
  product_pd(intx, CompilerThreadStackSize,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3307
          "Compiler Thread Stack Size (in Kbytes)")                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3308
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3309
  develop_pd(uintx, JVMInvokeMethodSlack,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3310
          "Stack space (bytes) required for JVM_InvokeMethod to complete")  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3311
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3312
  product(uintx, ThreadSafetyMargin, 50*M,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3313
          "Thread safety margin is used on fixed-stack LinuxThreads (on "   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3314
          "Linux/x86 only) to prevent heap-stack collision. Set to 0 to "   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3315
          "disable this feature")                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3316
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3317
  /* code cache parameters */                                               \
23214
b6426873cb37 8029799: vm/mlvm/anonloader/stress/oome prints warning: CodeHeap: # of free blocks > 10000
anoll
parents: 23192
diff changeset
  3318
  /* ppc64/tiered compilation has large code-entry alignment. */            \
b6426873cb37 8029799: vm/mlvm/anonloader/stress/oome prints warning: CodeHeap: # of free blocks > 10000
anoll
parents: 23192
diff changeset
  3319
  develop(uintx, CodeCacheSegmentSize, 64 PPC64_ONLY(+64) NOT_PPC64(TIERED_ONLY(+64)),\
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3320
          "Code cache segment size (in bytes) - smallest unit of "          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3321
          "allocation")                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3322
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3323
  develop_pd(intx, CodeEntryAlignment,                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3324
          "Code entry alignment for generated code (in bytes)")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3325
                                                                            \
5249
5cac34e6fe54 6940701: Don't align loops in stubs for Niagara sparc
kvn
parents: 5235
diff changeset
  3326
  product_pd(intx, OptoLoopAlignment,                                       \
5cac34e6fe54 6940701: Don't align loops in stubs for Niagara sparc
kvn
parents: 5235
diff changeset
  3327
          "Align inner loops to zero relative to this modulus")             \
5cac34e6fe54 6940701: Don't align loops in stubs for Niagara sparc
kvn
parents: 5235
diff changeset
  3328
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3329
  product_pd(uintx, InitialCodeCacheSize,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3330
          "Initial code cache size (in bytes)")                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3331
                                                                            \
18506
af8765fafc07 8014972: Crash with specific values for -XX:InitialCodeCacheSize=500K -XX:ReservedCodeCacheSize=500k
anoll
parents: 18025
diff changeset
  3332
  develop_pd(uintx, CodeCacheMinimumUseSpace,                               \
af8765fafc07 8014972: Crash with specific values for -XX:InitialCodeCacheSize=500K -XX:ReservedCodeCacheSize=500k
anoll
parents: 18025
diff changeset
  3333
          "Minimum code cache size (in bytes) required to start VM.")       \
af8765fafc07 8014972: Crash with specific values for -XX:InitialCodeCacheSize=500K -XX:ReservedCodeCacheSize=500k
anoll
parents: 18025
diff changeset
  3334
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3335
  product_pd(uintx, ReservedCodeCacheSize,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3336
          "Reserved code cache size (in bytes) - maximum code cache size")  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3337
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3338
  product(uintx, CodeCacheMinimumFreeSpace, 500*K,                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3339
          "When less than X space left, we stop compiling")                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3340
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3341
  product_pd(uintx, CodeCacheExpansionSize,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3342
          "Code cache expansion size (in bytes)")                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3343
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3344
  develop_pd(uintx, CodeCacheMinBlockLength,                                \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3345
          "Minimum number of segments in a code cache block")               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3346
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3347
  notproduct(bool, ExitOnFullCodeCache, false,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3348
          "Exit the VM if we fill the code cache")                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3349
                                                                            \
10963
77222140e9ad 7103784: enable some flags by default
never
parents: 10739
diff changeset
  3350
  product(bool, UseCodeCacheFlushing, true,                                 \
21575
6a9645992cee 8027593: performance drop with constrained codecache starting with hs25 b111
anoll
parents: 21572
diff changeset
  3351
          "Remove cold/old nmethods from the code cache")                   \
4750
71fd601907dc 4360113: Evict nmethods when code cache gets full
kvn
parents: 4736
diff changeset
  3352
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3353
  /* interpreter debugging */                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3354
  develop(intx, BinarySwitchThreshold, 5,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3355
          "Minimal number of lookupswitch entries for rewriting to binary " \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3356
          "switch")                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3357
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3358
  develop(intx, StopInterpreterAt, 0,                                       \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3359
          "Stop interpreter execution at specified bytecode number")        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3360
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3361
  develop(intx, TraceBytecodesAt, 0,                                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3362
          "Trace bytecodes starting with specified bytecode number")        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3363
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3364
  /* compiler interface */                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3365
  develop(intx, CIStart, 0,                                                 \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3366
          "The id of the first compilation to permit")                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3367
                                                                            \
22247
cde20a0fa906 8022494: Make compilation IDs sequential
anoll
parents: 22243
diff changeset
  3368
  develop(intx, CIStop, max_jint,                                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3369
          "The id of the last compilation to permit")                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3370
                                                                            \
22247
cde20a0fa906 8022494: Make compilation IDs sequential
anoll
parents: 22243
diff changeset
  3371
  develop(intx, CIStartOSR, 0,                                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3372
          "The id of the first osr compilation to permit "                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3373
          "(CICountOSR must be on)")                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3374
                                                                            \
22247
cde20a0fa906 8022494: Make compilation IDs sequential
anoll
parents: 22243
diff changeset
  3375
  develop(intx, CIStopOSR, max_jint,                                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3376
          "The id of the last osr compilation to permit "                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3377
          "(CICountOSR must be on)")                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3378
                                                                            \
22247
cde20a0fa906 8022494: Make compilation IDs sequential
anoll
parents: 22243
diff changeset
  3379
  develop(intx, CIBreakAtOSR, -1,                                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3380
          "The id of osr compilation to break at")                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3381
                                                                            \
22247
cde20a0fa906 8022494: Make compilation IDs sequential
anoll
parents: 22243
diff changeset
  3382
  develop(intx, CIBreakAt, -1,                                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3383
          "The id of compilation to break at")                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3384
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3385
  product(ccstrlist, CompileOnly, "",                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3386
          "List of methods (pkg/class.name) to restrict compilation to")    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3387
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3388
  product(ccstr, CompileCommandFile, NULL,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3389
          "Read compiler commands from this file [.hotspot_compiler]")      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3390
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3391
  product(ccstrlist, CompileCommand, "",                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3392
          "Prepend to .hotspot_compiler; e.g. log,java/lang/String.<init>") \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3393
                                                                            \
14477
95e66ea71f71 6830717: replay of compilations would help with debugging
minqi
parents: 14386
diff changeset
  3394
  develop(bool, ReplayCompiles, false,                                      \
95e66ea71f71 6830717: replay of compilations would help with debugging
minqi
parents: 14386
diff changeset
  3395
          "Enable replay of compilations from ReplayDataFile")              \
95e66ea71f71 6830717: replay of compilations would help with debugging
minqi
parents: 14386
diff changeset
  3396
                                                                            \
17121
e40a97c700d9 8012260: ciReplay: Include PID into the name of replay data file
vlivanov
parents: 16682
diff changeset
  3397
  product(ccstr, ReplayDataFile, NULL,                                      \
e40a97c700d9 8012260: ciReplay: Include PID into the name of replay data file
vlivanov
parents: 16682
diff changeset
  3398
          "File containing compilation replay information"                  \
e40a97c700d9 8012260: ciReplay: Include PID into the name of replay data file
vlivanov
parents: 16682
diff changeset
  3399
          "[default: ./replay_pid%p.log] (%p replaced with pid)")           \
14477
95e66ea71f71 6830717: replay of compilations would help with debugging
minqi
parents: 14386
diff changeset
  3400
                                                                            \
22243
91944eab7b92 8028468: Add inlining information into ciReplay
kvn
parents: 22210
diff changeset
  3401
   product(ccstr, InlineDataFile, NULL,                                     \
91944eab7b92 8028468: Add inlining information into ciReplay
kvn
parents: 22210
diff changeset
  3402
          "File containing inlining replay information"                     \
91944eab7b92 8028468: Add inlining information into ciReplay
kvn
parents: 22210
diff changeset
  3403
          "[default: ./inline_pid%p.log] (%p replaced with pid)")           \
91944eab7b92 8028468: Add inlining information into ciReplay
kvn
parents: 22210
diff changeset
  3404
                                                                            \
14477
95e66ea71f71 6830717: replay of compilations would help with debugging
minqi
parents: 14386
diff changeset
  3405
  develop(intx, ReplaySuppressInitializers, 2,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3406
          "Control handling of class initialization during replay: "        \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3407
          "0 - don't do anything special; "                                 \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3408
          "1 - treat all class initializers as empty; "                     \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3409
          "2 - treat class initializers for application classes as empty; " \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3410
          "3 - allow all class initializers to run during bootstrap but "   \
14477
95e66ea71f71 6830717: replay of compilations would help with debugging
minqi
parents: 14386
diff changeset
  3411
          "    pretend they are empty after starting replay")               \
95e66ea71f71 6830717: replay of compilations would help with debugging
minqi
parents: 14386
diff changeset
  3412
                                                                            \
95e66ea71f71 6830717: replay of compilations would help with debugging
minqi
parents: 14386
diff changeset
  3413
  develop(bool, ReplayIgnoreInitErrors, false,                              \
95e66ea71f71 6830717: replay of compilations would help with debugging
minqi
parents: 14386
diff changeset
  3414
          "Ignore exceptions thrown during initialization for replay")      \
95e66ea71f71 6830717: replay of compilations would help with debugging
minqi
parents: 14386
diff changeset
  3415
                                                                            \
17121
e40a97c700d9 8012260: ciReplay: Include PID into the name of replay data file
vlivanov
parents: 16682
diff changeset
  3416
  product(bool, DumpReplayDataOnError, true,                                \
e40a97c700d9 8012260: ciReplay: Include PID into the name of replay data file
vlivanov
parents: 16682
diff changeset
  3417
          "Record replay data for crashing compiler threads")               \
14477
95e66ea71f71 6830717: replay of compilations would help with debugging
minqi
parents: 14386
diff changeset
  3418
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3419
  product(bool, CICompilerCountPerCPU, false,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3420
          "1 compiler thread for log(N CPUs)")                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3421
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3422
  develop(intx, CIFireOOMAt,    -1,                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3423
          "Fire OutOfMemoryErrors throughout CI for testing the compiler "  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3424
          "(non-negative value throws OOM after this many CI accesses "     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3425
          "in each compile)")                                               \
17123
a8e62eed2e3e 8011675: adding compilation level to replay data
iignatyev
parents: 17121
diff changeset
  3426
  notproduct(intx, CICrashAt, -1,                                           \
a8e62eed2e3e 8011675: adding compilation level to replay data
iignatyev
parents: 17121
diff changeset
  3427
          "id of compilation to trigger assert in compiler thread for "     \
a8e62eed2e3e 8011675: adding compilation level to replay data
iignatyev
parents: 17121
diff changeset
  3428
          "the purpose of testing, e.g. generation of replay data")         \
3609
5f16c48e608a 6866585: debug code in ciObjectFactory too slow for large objects
jcoomes
parents: 3605
diff changeset
  3429
  notproduct(bool, CIObjectFactoryVerify, false,                            \
5f16c48e608a 6866585: debug code in ciObjectFactory too slow for large objects
jcoomes
parents: 3605
diff changeset
  3430
          "enable potentially expensive verification in ciObjectFactory")   \
5f16c48e608a 6866585: debug code in ciObjectFactory too slow for large objects
jcoomes
parents: 3605
diff changeset
  3431
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3432
  /* Priorities */                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3433
  product_pd(bool, UseThreadPriorities,  "Use native thread priorities")    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3434
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3435
  product(intx, ThreadPriorityPolicy, 0,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3436
          "0 : Normal.                                                     "\
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3437
          "    VM chooses priorities that are appropriate for normal       "\
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3438
          "    applications. On Solaris NORM_PRIORITY and above are mapped "\
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3439
          "    to normal native priority. Java priorities below "           \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3440
          "    NORM_PRIORITY map to lower native priority values. On       "\
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3441
          "    Windows applications are allowed to use higher native       "\
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3442
          "    priorities. However, with ThreadPriorityPolicy=0, VM will   "\
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3443
          "    not use the highest possible native priority,               "\
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3444
          "    THREAD_PRIORITY_TIME_CRITICAL, as it may interfere with     "\
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3445
          "    system threads. On Linux thread priorities are ignored      "\
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3446
          "    because the OS does not support static priority in          "\
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3447
          "    SCHED_OTHER scheduling class which is the only choice for   "\
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3448
          "    non-root, non-realtime applications.                        "\
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3449
          "1 : Aggressive.                                                 "\
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3450
          "    Java thread priorities map over to the entire range of      "\
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3451
          "    native thread priorities. Higher Java thread priorities map "\
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3452
          "    to higher native thread priorities. This policy should be   "\
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3453
          "    used with care, as sometimes it can cause performance       "\
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3454
          "    degradation in the application and/or the entire system. On "\
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3455
          "    Linux this policy requires root privilege.")                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3456
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3457
  product(bool, ThreadPriorityVerbose, false,                               \
11601
f359304c1856 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
phh
parents: 11487
diff changeset
  3458
          "Print priority changes")                                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3459
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3460
  product(intx, DefaultThreadPriority, -1,                                  \
11601
f359304c1856 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
phh
parents: 11487
diff changeset
  3461
          "The native priority at which threads run if not elsewhere "      \
f359304c1856 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
phh
parents: 11487
diff changeset
  3462
          "specified (-1 means no change)")                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3463
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3464
  product(intx, CompilerThreadPriority, -1,                                 \
11601
f359304c1856 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
phh
parents: 11487
diff changeset
  3465
          "The native priority at which compiler threads should run "       \
f359304c1856 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
phh
parents: 11487
diff changeset
  3466
          "(-1 means no change)")                                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3467
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3468
  product(intx, VMThreadPriority, -1,                                       \
11601
f359304c1856 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
phh
parents: 11487
diff changeset
  3469
          "The native priority at which the VM thread should run "          \
f359304c1856 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
phh
parents: 11487
diff changeset
  3470
          "(-1 means no change)")                                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3471
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3472
  product(bool, CompilerThreadHintNoPreempt, true,                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3473
          "(Solaris only) Give compiler threads an extra quanta")           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3474
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3475
  product(bool, VMThreadHintNoPreempt, false,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3476
          "(Solaris only) Give VM thread an extra quanta")                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3477
                                                                            \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3478
  product(intx, JavaPriority1_To_OSPriority, -1,                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3479
          "Map Java priorities to OS priorities")                           \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3480
                                                                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3481
  product(intx, JavaPriority2_To_OSPriority, -1,                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3482
          "Map Java priorities to OS priorities")                           \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3483
                                                                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3484
  product(intx, JavaPriority3_To_OSPriority, -1,                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3485
          "Map Java priorities to OS priorities")                           \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3486
                                                                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3487
  product(intx, JavaPriority4_To_OSPriority, -1,                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3488
          "Map Java priorities to OS priorities")                           \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3489
                                                                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3490
  product(intx, JavaPriority5_To_OSPriority, -1,                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3491
          "Map Java priorities to OS priorities")                           \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3492
                                                                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3493
  product(intx, JavaPriority6_To_OSPriority, -1,                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3494
          "Map Java priorities to OS priorities")                           \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3495
                                                                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3496
  product(intx, JavaPriority7_To_OSPriority, -1,                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3497
          "Map Java priorities to OS priorities")                           \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3498
                                                                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3499
  product(intx, JavaPriority8_To_OSPriority, -1,                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3500
          "Map Java priorities to OS priorities")                           \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3501
                                                                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3502
  product(intx, JavaPriority9_To_OSPriority, -1,                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3503
          "Map Java priorities to OS priorities")                           \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3504
                                                                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3505
  product(intx, JavaPriority10_To_OSPriority,-1,                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3506
          "Map Java priorities to OS priorities")                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3507
                                                                            \
11601
f359304c1856 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
phh
parents: 11487
diff changeset
  3508
  experimental(bool, UseCriticalJavaThreadPriority, false,                  \
f359304c1856 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
phh
parents: 11487
diff changeset
  3509
          "Java thread priority 10 maps to critical scheduling priority")   \
f359304c1856 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
phh
parents: 11487
diff changeset
  3510
                                                                            \
f359304c1856 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
phh
parents: 11487
diff changeset
  3511
  experimental(bool, UseCriticalCompilerThreadPriority, false,              \
f359304c1856 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
phh
parents: 11487
diff changeset
  3512
          "Compiler thread(s) run at critical scheduling priority")         \
f359304c1856 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
phh
parents: 11487
diff changeset
  3513
                                                                            \
f359304c1856 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
phh
parents: 11487
diff changeset
  3514
  experimental(bool, UseCriticalCMSThreadPriority, false,                   \
f359304c1856 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
phh
parents: 11487
diff changeset
  3515
          "ConcurrentMarkSweep thread runs at critical scheduling priority")\
f359304c1856 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
phh
parents: 11487
diff changeset
  3516
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3517
  /* compiler debugging */                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3518
  notproduct(intx, CompileTheWorldStartAt,     1,                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3519
          "First class to consider when using +CompileTheWorld")            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3520
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3521
  notproduct(intx, CompileTheWorldStopAt, max_jint,                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3522
          "Last class to consider when using +CompileTheWorld")             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3523
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3524
  develop(intx, NewCodeParameter,      0,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3525
          "Testing Only: Create a dedicated integer parameter before "      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3526
          "putback")                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3527
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3528
  /* new oopmap storage allocation */                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3529
  develop(intx, MinOopMapAllocation,     8,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3530
          "Minimum number of OopMap entries in an OopMapSet")               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3531
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3532
  /* Background Compilation */                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3533
  develop(intx, LongCompileThreshold,     50,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3534
          "Used with +TraceLongCompiles")                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3535
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3536
  product(intx, StarvationMonitorInterval,    200,                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3537
          "Pause between each check (in milliseconds)")                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3538
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3539
  /* recompilation */                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3540
  product_pd(intx, CompileThreshold,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3541
          "number of interpreted method invocations before (re-)compiling") \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3542
                                                                            \
6453
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3543
  product(intx, Tier0InvokeNotifyFreqLog, 7,                                \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3544
          "Interpreter (tier 0) invocation notification frequency")         \
6453
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3545
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3546
  product(intx, Tier2InvokeNotifyFreqLog, 11,                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3547
          "C1 without MDO (tier 2) invocation notification frequency")      \
6453
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3548
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3549
  product(intx, Tier3InvokeNotifyFreqLog, 10,                               \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3550
          "C1 with MDO profiling (tier 3) invocation notification "         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3551
          "frequency")                                                      \
6453
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3552
                                                                            \
10569
f5ce1108443b 7096639: Tiered: Incorrect counter overflow handling for inlined methods
iveresov
parents: 10565
diff changeset
  3553
  product(intx, Tier23InlineeNotifyFreqLog, 20,                             \
f5ce1108443b 7096639: Tiered: Incorrect counter overflow handling for inlined methods
iveresov
parents: 10565
diff changeset
  3554
          "Inlinee invocation (tiers 2 and 3) notification frequency")      \
f5ce1108443b 7096639: Tiered: Incorrect counter overflow handling for inlined methods
iveresov
parents: 10565
diff changeset
  3555
                                                                            \
6453
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3556
  product(intx, Tier0BackedgeNotifyFreqLog, 10,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3557
          "Interpreter (tier 0) invocation notification frequency")         \
6453
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3558
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3559
  product(intx, Tier2BackedgeNotifyFreqLog, 14,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3560
          "C1 without MDO (tier 2) invocation notification frequency")      \
6453
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3561
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3562
  product(intx, Tier3BackedgeNotifyFreqLog, 13,                             \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3563
          "C1 with MDO profiling (tier 3) invocation notification "         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3564
          "frequency")                                                      \
6453
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3565
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3566
  product(intx, Tier2CompileThreshold, 0,                                   \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3567
          "threshold at which tier 2 compilation is invoked")               \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3568
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3569
  product(intx, Tier2BackEdgeThreshold, 0,                                  \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3570
          "Back edge threshold at which tier 2 compilation is invoked")     \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3571
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3572
  product(intx, Tier3InvocationThreshold, 200,                              \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3573
          "Compile if number of method invocations crosses this "           \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3574
          "threshold")                                                      \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3575
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3576
  product(intx, Tier3MinInvocationThreshold, 100,                           \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3577
          "Minimum invocation to compile at tier 3")                        \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3578
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3579
  product(intx, Tier3CompileThreshold, 2000,                                \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3580
          "Threshold at which tier 3 compilation is invoked (invocation "   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3581
          "minimum must be satisfied")                                      \
6453
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3582
                                                                            \
11566
351229eec596 7132945: Tiered: adjust OSR threshold of level 3
iveresov
parents: 11487
diff changeset
  3583
  product(intx, Tier3BackEdgeThreshold,  60000,                             \
6453
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3584
          "Back edge threshold at which tier 3 OSR compilation is invoked") \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3585
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3586
  product(intx, Tier4InvocationThreshold, 5000,                             \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3587
          "Compile if number of method invocations crosses this "           \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3588
          "threshold")                                                      \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3589
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3590
  product(intx, Tier4MinInvocationThreshold, 600,                           \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3591
          "Minimum invocation to compile at tier 4")                        \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3592
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3593
  product(intx, Tier4CompileThreshold, 15000,                               \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3594
          "Threshold at which tier 4 compilation is invoked (invocation "   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3595
          "minimum must be satisfied")                                      \
6453
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3596
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3597
  product(intx, Tier4BackEdgeThreshold, 40000,                              \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3598
          "Back edge threshold at which tier 4 OSR compilation is invoked") \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3599
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3600
  product(intx, Tier3DelayOn, 5,                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3601
          "If C2 queue size grows over this amount per compiler thread "    \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3602
          "stop compiling at tier 3 and start compiling at tier 2")         \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3603
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3604
  product(intx, Tier3DelayOff, 2,                                           \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3605
          "If C2 queue size is less than this amount per compiler thread "  \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3606
          "allow methods compiled at tier 2 transition to tier 3")          \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3607
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3608
  product(intx, Tier3LoadFeedback, 5,                                       \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3609
          "Tier 3 thresholds will increase twofold when C1 queue size "     \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3610
          "reaches this amount per compiler thread")                        \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3611
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3612
  product(intx, Tier4LoadFeedback, 3,                                       \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3613
          "Tier 4 thresholds will increase twofold when C2 queue size "     \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3614
          "reaches this amount per compiler thread")                        \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3615
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3616
  product(intx, TieredCompileTaskTimeout, 50,                               \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3617
          "Kill compile task if method was not used within "                \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3618
          "given timeout in milliseconds")                                  \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3619
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3620
  product(intx, TieredStopAtLevel, 4,                                       \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3621
          "Stop at given compilation level")                                \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3622
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3623
  product(intx, Tier0ProfilingStartPercentage, 200,                         \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3624
          "Start profiling in interpreter if the counters exceed tier 3 "   \
6453
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3625
          "thresholds by the specified percentage")                         \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3626
                                                                            \
17617
4e330bce1812 8012371: Adjust Tiered compile threshold according to available space in code cache
anoll
parents: 17398
diff changeset
  3627
  product(uintx, IncreaseFirstTierCompileThresholdAt, 50,                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3628
          "Increase the compile threshold for C1 compilation if the code "  \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3629
          "cache is filled by the specified percentage")                    \
17617
4e330bce1812 8012371: Adjust Tiered compile threshold according to available space in code cache
anoll
parents: 17398
diff changeset
  3630
                                                                            \
6453
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3631
  product(intx, TieredRateUpdateMinTime, 1,                                 \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3632
          "Minimum rate sampling interval (in milliseconds)")               \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3633
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3634
  product(intx, TieredRateUpdateMaxTime, 25,                                \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3635
          "Maximum rate sampling interval (in milliseconds)")               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3636
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3637
  product_pd(bool, TieredCompilation,                                       \
6453
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3638
          "Enable tiered compilation")                                      \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3639
                                                                            \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3640
  product(bool, PrintTieredEvents, false,                                   \
970dc585ab63 6953144: Tiered compilation
iveresov
parents: 6419
diff changeset
  3641
          "Print tiered events notifications")                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3642
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3643
  product_pd(intx, OnStackReplacePercentage,                                \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3644
          "NON_TIERED number of method invocations/branches (expressed as " \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3645
          "% of CompileThreshold) before (re-)compiling OSR code")          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3646
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3647
  product(intx, InterpreterProfilePercentage, 33,                           \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3648
          "NON_TIERED number of method invocations/branches (expressed as " \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3649
          "% of CompileThreshold) before profiling in the interpreter")     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3650
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3651
  develop(intx, MaxRecompilationSearchLength,    10,                        \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3652
          "The maximum number of frames to inspect when searching for "     \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3653
          "recompilee")                                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3654
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3655
  develop(intx, MaxInterpretedSearchLength,     3,                          \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3656
          "The maximum number of interpreted frames to skip when searching "\
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3657
          "for recompilee")                                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3658
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3659
  develop(intx, DesiredMethodLimit,  8000,                                  \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3660
          "The desired maximum method size (in bytecodes) after inlining")  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3661
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3662
  develop(intx, HugeMethodLimit,  8000,                                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3663
          "Don't compile methods larger than this if "                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3664
          "+DontCompileHugeMethods")                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3665
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3666
  /* New JDK 1.4 reflection implementation */                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3667
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3668
  develop(intx, FastSuperclassLimit, 8,                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3669
          "Depth of hardwired instanceof accelerator array")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3670
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3671
  /* Properties for Java libraries  */                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3672
                                                                            \
13197
b552dfeffb3c 7179383: MaxDirectMemorySize argument parsing is broken for values >2G
dholmes
parents: 13195
diff changeset
  3673
  product(uintx, MaxDirectMemorySize, 0,                                    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3674
          "Maximum total size of NIO direct-buffer allocations")            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3675
                                                                            \
22551
9bf46d16dcc6 8025856: Fix typos in the GC code
jwilhelm
parents: 22248
diff changeset
  3676
  /* Flags used for temporary code during development  */                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3677
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3678
  diagnostic(bool, UseNewCode, false,                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3679
          "Testing Only: Use the new version while testing")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3680
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3681
  diagnostic(bool, UseNewCode2, false,                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3682
          "Testing Only: Use the new version while testing")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3683
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3684
  diagnostic(bool, UseNewCode3, false,                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3685
          "Testing Only: Use the new version while testing")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3686
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3687
  /* flags for performance data collection */                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3688
                                                                            \
10020
9325b4244ec4 7061192: option handling adjustments for oracle and embedded builds
jcoomes
parents: 10003
diff changeset
  3689
  product(bool, UsePerfData, falseInEmbedded,                               \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3690
          "Flag to disable jvmstat instrumentation for performance testing "\
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3691
          "and problem isolation purposes")                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3692
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3693
  product(bool, PerfDataSaveToFile, false,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3694
          "Save PerfData memory to hsperfdata_<pid> file on exit")          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3695
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3696
  product(ccstr, PerfDataSaveFile, NULL,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3697
          "Save PerfData memory to the specified absolute pathname. "       \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3698
          "The string %p in the file name (if present) "                    \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3699
          "will be replaced by pid")                                        \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3700
                                                                            \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3701
  product(intx, PerfDataSamplingInterval, 50,                               \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3702
          "Data sampling interval (in milliseconds)")                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3703
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3704
  develop(bool, PerfTraceDataCreation, false,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3705
          "Trace creation of Performance Data Entries")                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3706
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3707
  develop(bool, PerfTraceMemOps, false,                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3708
          "Trace PerfMemory create/attach/detach calls")                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3709
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3710
  product(bool, PerfDisableSharedMem, false,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3711
          "Store performance data in standard memory")                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3712
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3713
  product(intx, PerfDataMemorySize, 32*K,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3714
          "Size of performance data memory region. Will be rounded "        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3715
          "up to a multiple of the native os page size.")                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3716
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3717
  product(intx, PerfMaxStringConstLength, 1024,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3718
          "Maximum PerfStringConstant string length before truncation")     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3719
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3720
  product(bool, PerfAllowAtExitRegistration, false,                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3721
          "Allow registration of atexit() methods")                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3722
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3723
  product(bool, PerfBypassFileSystemCheck, false,                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3724
          "Bypass Win32 file system criteria checks (Windows Only)")        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3725
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3726
  product(intx, UnguardOnExecutionViolation, 0,                             \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3727
          "Unguard page and retry on no-execute fault (Win32 only) "        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3728
          "0=off, 1=conservative, 2=aggressive")                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3729
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3730
  /* Serviceability Support */                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3731
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3732
  product(bool, ManagementServer, false,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3733
          "Create JMX Management Server")                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3734
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3735
  product(bool, DisableAttachMechanism, false,                              \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3736
          "Disable mechanism that allows tools to attach to this VM")       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3737
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3738
  product(bool, StartAttachListener, false,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3739
          "Always start Attach Listener at VM startup")                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3740
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3741
  manageable(bool, PrintConcurrentLocks, false,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3742
          "Print java.util.concurrent locks in thread dump")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3743
                                                                            \
8124
70ed6d8368bc 7019718: make error reporting flags product instead of diagnostic
kamg
parents: 8119
diff changeset
  3744
  product(bool, TransmitErrorReport, false,                                 \
8114
340b5b8b544b 7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents: 8107
diff changeset
  3745
          "Enable error report transmission on erroneous termination")      \
340b5b8b544b 7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents: 8107
diff changeset
  3746
                                                                            \
8124
70ed6d8368bc 7019718: make error reporting flags product instead of diagnostic
kamg
parents: 8119
diff changeset
  3747
  product(ccstr, ErrorReportServer, NULL,                                   \
8114
340b5b8b544b 7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents: 8107
diff changeset
  3748
          "Override built-in error report server address")                  \
340b5b8b544b 7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents: 8107
diff changeset
  3749
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3750
  /* Shared spaces */                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3751
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3752
  product(bool, UseSharedSpaces, true,                                      \
15101
58d43bf04c45 8005076: Creating a CDS archive with one alignment and running another causes a crash.
hseigel
parents: 14835
diff changeset
  3753
          "Use shared spaces for metadata")                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3754
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3755
  product(bool, RequireSharedSpaces, false,                                 \
15101
58d43bf04c45 8005076: Creating a CDS archive with one alignment and running another causes a crash.
hseigel
parents: 14835
diff changeset
  3756
          "Require shared spaces for metadata")                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3757
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3758
  product(bool, DumpSharedSpaces, false,                                    \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3759
          "Special mode: JVM reads a class list, loads classes, builds "    \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3760
          "shared spaces, and dumps the shared spaces to a file to be "     \
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3761
          "used in future JVM runs")                                        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3762
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3763
  product(bool, PrintSharedSpaces, false,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3764
          "Print usage of shared spaces")                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3765
                                                                            \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  3766
  product(uintx, SharedReadWriteSize,  NOT_LP64(12*M) LP64_ONLY(16*M),      \
15101
58d43bf04c45 8005076: Creating a CDS archive with one alignment and running another causes a crash.
hseigel
parents: 14835
diff changeset
  3767
          "Size of read-write space for metadata (in bytes)")               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3768
                                                                            \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  3769
  product(uintx, SharedReadOnlySize,  NOT_LP64(12*M) LP64_ONLY(16*M),       \
15101
58d43bf04c45 8005076: Creating a CDS archive with one alignment and running another causes a crash.
hseigel
parents: 14835
diff changeset
  3770
          "Size of read-only space for metadata (in bytes)")                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3771
                                                                            \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  3772
  product(uintx, SharedMiscDataSize,    NOT_LP64(2*M) LP64_ONLY(4*M),       \
15101
58d43bf04c45 8005076: Creating a CDS archive with one alignment and running another causes a crash.
hseigel
parents: 14835
diff changeset
  3773
          "Size of the shared miscellaneous data area (in bytes)")          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3774
                                                                            \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13521
diff changeset
  3775
  product(uintx, SharedMiscCodeSize,    120*K,                              \
15101
58d43bf04c45 8005076: Creating a CDS archive with one alignment and running another causes a crash.
hseigel
parents: 14835
diff changeset
  3776
          "Size of the shared miscellaneous code area (in bytes)")          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3777
                                                                            \
16430
882cddc35bec 8008217: CDS: Class data sharing limits the malloc heap on Solaris
coleenp
parents: 16428
diff changeset
  3778
  product(uintx, SharedBaseAddress, LP64_ONLY(32*G)                         \
882cddc35bec 8008217: CDS: Class data sharing limits the malloc heap on Solaris
coleenp
parents: 16428
diff changeset
  3779
          NOT_LP64(LINUX_ONLY(2*G) NOT_LINUX(0)),                           \
882cddc35bec 8008217: CDS: Class data sharing limits the malloc heap on Solaris
coleenp
parents: 16428
diff changeset
  3780
          "Address to allocate shared memory region for class data")        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3781
                                                                            \
9980
a330de5dea17 7052219: JSR 292: Crash in ~BufferBlob::MethodHandles adapters
never
parents: 9968
diff changeset
  3782
  diagnostic(bool, PrintMethodHandleStubs, false,                           \
a330de5dea17 7052219: JSR 292: Crash in ~BufferBlob::MethodHandles adapters
never
parents: 9968
diff changeset
  3783
          "Print generated stub code for method handles")                   \
a330de5dea17 7052219: JSR 292: Crash in ~BufferBlob::MethodHandles adapters
never
parents: 9968
diff changeset
  3784
                                                                            \
2534
08dac9ce0cd7 6655638: dynamic languages need method handles
jrose
parents: 2352
diff changeset
  3785
  develop(bool, TraceMethodHandles, false,                                  \
08dac9ce0cd7 6655638: dynamic languages need method handles
jrose
parents: 2352
diff changeset
  3786
          "trace internal method handle operations")                        \
08dac9ce0cd7 6655638: dynamic languages need method handles
jrose
parents: 2352
diff changeset
  3787
                                                                            \
08dac9ce0cd7 6655638: dynamic languages need method handles
jrose
parents: 2352
diff changeset
  3788
  diagnostic(bool, VerifyMethodHandles, trueInDebug,                        \
08dac9ce0cd7 6655638: dynamic languages need method handles
jrose
parents: 2352
diff changeset
  3789
          "perform extra checks when constructing method handles")          \
08dac9ce0cd7 6655638: dynamic languages need method handles
jrose
parents: 2352
diff changeset
  3790
                                                                            \
13391
30245956af37 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 13197
diff changeset
  3791
  diagnostic(bool, ShowHiddenFrames, false,                                 \
30245956af37 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 13197
diff changeset
  3792
          "show method handle implementation frames (usually hidden)")      \
9946
b3d5b50e2289 7045513: JSR 292 inlining causes crashes in methodHandleWalk.cpp
never
parents: 9942
diff changeset
  3793
                                                                            \
4644
2b1a1bc98168 6912065: final fields in objects need to support inlining optimizations for JSR 292
jrose
parents: 4586
diff changeset
  3794
  experimental(bool, TrustFinalNonStaticFields, false,                      \
2b1a1bc98168 6912065: final fields in objects need to support inlining optimizations for JSR 292
jrose
parents: 4586
diff changeset
  3795
          "trust final non-static declarations for constant folding")       \
2b1a1bc98168 6912065: final fields in objects need to support inlining optimizations for JSR 292
jrose
parents: 4586
diff changeset
  3796
                                                                            \
23192
f6a1c8866065 8035828: Turn on @Stable support in VM
vlivanov
parents: 23191
diff changeset
  3797
  diagnostic(bool, FoldStableValues, true,                                  \
f6a1c8866065 8035828: Turn on @Stable support in VM
vlivanov
parents: 23191
diff changeset
  3798
          "Optimize loads from stable fields (marked w/ @Stable)")          \
19770
7cb9f982ea81 8001107: @Stable annotation for constant folding of lazily evaluated variables
vlivanov
parents: 19704
diff changeset
  3799
                                                                            \
2570
ecc7862946d4 6655646: dynamic languages need dynamically linked call sites
jrose
parents: 2536
diff changeset
  3800
  develop(bool, TraceInvokeDynamic, false,                                  \
ecc7862946d4 6655646: dynamic languages need dynamically linked call sites
jrose
parents: 2536
diff changeset
  3801
          "trace internal invoke dynamic operations")                       \
ecc7862946d4 6655646: dynamic languages need dynamically linked call sites
jrose
parents: 2536
diff changeset
  3802
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3803
  diagnostic(bool, PauseAtStartup,      false,                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3804
          "Causes the VM to pause at startup time and wait for the pause "  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3805
          "file to be removed (default: ./vm.paused.<pid>)")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3806
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3807
  diagnostic(ccstr, PauseAtStartupFile, NULL,                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3808
          "The file to create and for whose removal to await when pausing " \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3809
          "at startup. (default: ./vm.paused.<pid>)")                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3810
                                                                            \
8476
7e34c2d4cf9b 7022037: Pause when exiting if debugger is attached on windows
sla
parents: 8335
diff changeset
  3811
  diagnostic(bool, PauseAtExit, false,                                      \
7e34c2d4cf9b 7022037: Pause when exiting if debugger is attached on windows
sla
parents: 8335
diff changeset
  3812
          "Pause and wait for keypress on exit if a debugger is attached")  \
7e34c2d4cf9b 7022037: Pause when exiting if debugger is attached on windows
sla
parents: 8335
diff changeset
  3813
                                                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3814
  product(bool, ExtendedDTraceProbes,    false,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3815
          "Enable performance-impacting dtrace probes")                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3816
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3817
  product(bool, DTraceMethodProbes, false,                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3818
          "Enable dtrace probes for method-entry and method-exit")          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3819
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3820
  product(bool, DTraceAllocProbes, false,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3821
          "Enable dtrace probes for object allocation")                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3822
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3823
  product(bool, DTraceMonitorProbes, false,                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3824
          "Enable dtrace probes for monitor events")                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3825
                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3826
  product(bool, RelaxAccessControlCheck, false,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3827
          "Relax the access control checks in the verifier")                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3828
                                                                            \
363
99d43e8a76ad 6537506: Provide a mechanism for specifying Java-level USDT-like dtrace probes
kamg
parents: 360
diff changeset
  3829
  diagnostic(bool, PrintDTraceDOF, false,                                   \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3830
          "Print the DTrace DOF passed to the system for JSDT probes")      \
363
99d43e8a76ad 6537506: Provide a mechanism for specifying Java-level USDT-like dtrace probes
kamg
parents: 360
diff changeset
  3831
                                                                            \
14487
9a40ad461ee9 7122219: Passed StringTableSize value not verified
hseigel
parents: 14386
diff changeset
  3832
  product(uintx, StringTableSize, defaultStringTableSize,                   \
8727
1642a45f024f 6962930: make the string table size configurable
jcoomes
parents: 8725
diff changeset
  3833
          "Number of buckets in the interned String table")                 \
1642a45f024f 6962930: make the string table size configurable
jcoomes
parents: 8725
diff changeset
  3834
                                                                            \
20393
0675c0224a5a 8019375: Internal symbol table size should be tunable.
kevinw
parents: 20292
diff changeset
  3835
  experimental(uintx, SymbolTableSize, defaultSymbolTableSize,              \
0675c0224a5a 8019375: Internal symbol table size should be tunable.
kevinw
parents: 20292
diff changeset
  3836
          "Number of buckets in the JVM internal Symbol table")             \
0675c0224a5a 8019375: Internal symbol table size should be tunable.
kevinw
parents: 20292
diff changeset
  3837
                                                                            \
23472
35e93890ed88 8029075: String deduplication in G1
pliden
parents: 23214
diff changeset
  3838
  product(bool, UseStringDeduplication, false,                              \
35e93890ed88 8029075: String deduplication in G1
pliden
parents: 23214
diff changeset
  3839
          "Use string deduplication")                                       \
35e93890ed88 8029075: String deduplication in G1
pliden
parents: 23214
diff changeset
  3840
                                                                            \
35e93890ed88 8029075: String deduplication in G1
pliden
parents: 23214
diff changeset
  3841
  product(bool, PrintStringDeduplicationStatistics, false,                  \
35e93890ed88 8029075: String deduplication in G1
pliden
parents: 23214
diff changeset
  3842
          "Print string deduplication statistics")                          \
35e93890ed88 8029075: String deduplication in G1
pliden
parents: 23214
diff changeset
  3843
                                                                            \
35e93890ed88 8029075: String deduplication in G1
pliden
parents: 23214
diff changeset
  3844
  product(uintx, StringDeduplicationAgeThreshold, 3,                        \
35e93890ed88 8029075: String deduplication in G1
pliden
parents: 23214
diff changeset
  3845
          "A string must reach this age (or be promoted to an old region) " \
35e93890ed88 8029075: String deduplication in G1
pliden
parents: 23214
diff changeset
  3846
          "to be considered for deduplication")                             \
35e93890ed88 8029075: String deduplication in G1
pliden
parents: 23214
diff changeset
  3847
                                                                            \
35e93890ed88 8029075: String deduplication in G1
pliden
parents: 23214
diff changeset
  3848
  diagnostic(bool, StringDeduplicationResizeALot, false,                    \
35e93890ed88 8029075: String deduplication in G1
pliden
parents: 23214
diff changeset
  3849
          "Force table resize every time the table is scanned")             \
35e93890ed88 8029075: String deduplication in G1
pliden
parents: 23214
diff changeset
  3850
                                                                            \
35e93890ed88 8029075: String deduplication in G1
pliden
parents: 23214
diff changeset
  3851
  diagnostic(bool, StringDeduplicationRehashALot, false,                    \
35e93890ed88 8029075: String deduplication in G1
pliden
parents: 23214
diff changeset
  3852
          "Force table rehash every time the table is scanned")             \
35e93890ed88 8029075: String deduplication in G1
pliden
parents: 23214
diff changeset
  3853
                                                                            \
14385
959bbcc16725 7200776: Implement default methods in interfaces
kamg
parents: 14284
diff changeset
  3854
  develop(bool, TraceDefaultMethods, false,                                 \
959bbcc16725 7200776: Implement default methods in interfaces
kamg
parents: 14284
diff changeset
  3855
          "Trace the default method processing steps")                      \
959bbcc16725 7200776: Implement default methods in interfaces
kamg
parents: 14284
diff changeset
  3856
                                                                            \
959bbcc16725 7200776: Implement default methods in interfaces
kamg
parents: 14284
diff changeset
  3857
  develop(bool, VerifyGenericSignatures, false,                             \
959bbcc16725 7200776: Implement default methods in interfaces
kamg
parents: 14284
diff changeset
  3858
          "Abort VM on erroneous or inconsistent generic signatures")       \
959bbcc16725 7200776: Implement default methods in interfaces
kamg
parents: 14284
diff changeset
  3859
                                                                            \
12095
cc3d6f08a4c4 7148152: Add whitebox testing API to HotSpot
mgerdin
parents: 11789
diff changeset
  3860
  diagnostic(bool, WhiteBoxAPI, false,                                      \
12630
ddf6ee008138 7166894: Add gc cause to GC logging for all collectors
brutisso
parents: 12263
diff changeset
  3861
          "Enable internal testing APIs")                                   \
ddf6ee008138 7166894: Add gc cause to GC logging for all collectors
brutisso
parents: 12263
diff changeset
  3862
                                                                            \
ddf6ee008138 7166894: Add gc cause to GC logging for all collectors
brutisso
parents: 12263
diff changeset
  3863
  product(bool, PrintGCCause, true,                                         \
15918
3fcc894aca8c 8001307: Modify ACC_SUPER behavior
kamg
parents: 14081
diff changeset
  3864
          "Include GC cause in GC logging")                                 \
3fcc894aca8c 8001307: Modify ACC_SUPER behavior
kamg
parents: 14081
diff changeset
  3865
                                                                            \
25905
04a3d83cc752 8031323: Optionally align objects copied to survivor spaces
jmasa
parents: 25630
diff changeset
  3866
  experimental(intx, SurvivorAlignmentInBytes, 0,                           \
04a3d83cc752 8031323: Optionally align objects copied to survivor spaces
jmasa
parents: 25630
diff changeset
  3867
           "Default survivor space alignment in bytes")                     \
04a3d83cc752 8031323: Optionally align objects copied to survivor spaces
jmasa
parents: 25630
diff changeset
  3868
                                                                            \
16682
4e30a46f6b76 7197666: java -d64 -version core dumps in a box with lots of memory
brutisso
parents: 16680
diff changeset
  3869
  product(bool , AllowNonVirtualCalls, false,                               \
4e30a46f6b76 7197666: java -d64 -version core dumps in a box with lots of memory
brutisso
parents: 16680
diff changeset
  3870
          "Obey the ACC_SUPER flag and allow invokenonvirtual calls")       \
4e30a46f6b76 7197666: java -d64 -version core dumps in a box with lots of memory
brutisso
parents: 16680
diff changeset
  3871
                                                                            \
17375
e9554fd82263 8014138: Add VM option to facilitate the writing of CDS tests
hseigel
parents: 17374
diff changeset
  3872
  diagnostic(ccstr, SharedArchiveFile, NULL,                                \
e9554fd82263 8014138: Add VM option to facilitate the writing of CDS tests
hseigel
parents: 17374
diff changeset
  3873
          "Override the default location of the CDS archive file")          \
e9554fd82263 8014138: Add VM option to facilitate the writing of CDS tests
hseigel
parents: 17374
diff changeset
  3874
                                                                            \
16682
4e30a46f6b76 7197666: java -d64 -version core dumps in a box with lots of memory
brutisso
parents: 16680
diff changeset
  3875
  experimental(uintx, ArrayAllocatorMallocLimit,                            \
4e30a46f6b76 7197666: java -d64 -version core dumps in a box with lots of memory
brutisso
parents: 16680
diff changeset
  3876
          SOLARIS_ONLY(64*K) NOT_SOLARIS(max_uintx),                        \
4e30a46f6b76 7197666: java -d64 -version core dumps in a box with lots of memory
brutisso
parents: 16680
diff changeset
  3877
          "Allocation less than this value will be allocated "              \
18025
b7bcf7497f93 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 17617
diff changeset
  3878
          "using malloc. Larger allocations will use mmap.")                \
b7bcf7497f93 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 17617
diff changeset
  3879
                                                                            \
23189
27cf1316709b 8033380: Experimental VM flag to enforce access atomicity
shade
parents: 22916
diff changeset
  3880
  experimental(bool, AlwaysAtomicAccesses, false,                           \
27cf1316709b 8033380: Experimental VM flag to enforce access atomicity
shade
parents: 22916
diff changeset
  3881
          "Accesses to all variables should always be atomic")              \
27cf1316709b 8033380: Experimental VM flag to enforce access atomicity
shade
parents: 22916
diff changeset
  3882
                                                                            \
18025
b7bcf7497f93 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 17617
diff changeset
  3883
  product(bool, EnableTracing, false,                                       \
b7bcf7497f93 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 17617
diff changeset
  3884
          "Enable event-based tracing")                                     \
20404
2e17d4cd1fc2 8010506: Typos and errors in descriptions of vm options in globals.hpp
tamao
parents: 20065
diff changeset
  3885
                                                                            \
18025
b7bcf7497f93 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 17617
diff changeset
  3886
  product(bool, UseLockedTracing, false,                                    \
b7bcf7497f93 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 17617
diff changeset
  3887
          "Use locked-tracing when doing event-based tracing")
b7bcf7497f93 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 17617
diff changeset
  3888
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3889
/*
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3890
 *  Macros for factoring of globals
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3891
 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3892
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3893
// Interface macros
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3894
#define DECLARE_PRODUCT_FLAG(type, name, value, doc)      extern "C" type name;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3895
#define DECLARE_PD_PRODUCT_FLAG(type, name, doc)          extern "C" type name;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3896
#define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc)   extern "C" type name;
1382
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
  3897
#define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3898
#define DECLARE_MANAGEABLE_FLAG(type, name, value, doc)   extern "C" type name;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3899
#define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc)   extern "C" type name;
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3900
#ifdef PRODUCT
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3901
#define DECLARE_DEVELOPER_FLAG(type, name, value, doc)    extern "C" type CONST_##name; const type name = value;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3902
#define DECLARE_PD_DEVELOPER_FLAG(type, name, doc)        extern "C" type CONST_##name; const type name = pd_##name;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3903
#define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc)   extern "C" type CONST_##name;
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3904
#else
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3905
#define DECLARE_DEVELOPER_FLAG(type, name, value, doc)    extern "C" type name;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3906
#define DECLARE_PD_DEVELOPER_FLAG(type, name, doc)        extern "C" type name;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3907
#define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc)   extern "C" type name;
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3908
#endif
360
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 356
diff changeset
  3909
// Special LP64 flags, product only needed for now.
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 356
diff changeset
  3910
#ifdef _LP64
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 356
diff changeset
  3911
#define DECLARE_LP64_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 356
diff changeset
  3912
#else
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 356
diff changeset
  3913
#define DECLARE_LP64_PRODUCT_FLAG(type, name, value, doc) const type name = value;
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 356
diff changeset
  3914
#endif // _LP64
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3915
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3916
// Implementation macros
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3917
#define MATERIALIZE_PRODUCT_FLAG(type, name, value, doc)      type name = value;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3918
#define MATERIALIZE_PD_PRODUCT_FLAG(type, name, doc)          type name = pd_##name;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3919
#define MATERIALIZE_DIAGNOSTIC_FLAG(type, name, value, doc)   type name = value;
1382
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
  3920
#define MATERIALIZE_EXPERIMENTAL_FLAG(type, name, value, doc) type name = value;
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3921
#define MATERIALIZE_MANAGEABLE_FLAG(type, name, value, doc)   type name = value;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3922
#define MATERIALIZE_PRODUCT_RW_FLAG(type, name, value, doc)   type name = value;
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3923
#ifdef PRODUCT
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3924
#define MATERIALIZE_DEVELOPER_FLAG(type, name, value, doc)    type CONST_##name = value;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3925
#define MATERIALIZE_PD_DEVELOPER_FLAG(type, name, doc)        type CONST_##name = pd_##name;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3926
#define MATERIALIZE_NOTPRODUCT_FLAG(type, name, value, doc)   type CONST_##name = value;
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3927
#else
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3928
#define MATERIALIZE_DEVELOPER_FLAG(type, name, value, doc)    type name = value;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3929
#define MATERIALIZE_PD_DEVELOPER_FLAG(type, name, doc)        type name = pd_##name;
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3930
#define MATERIALIZE_NOTPRODUCT_FLAG(type, name, value, doc)   type name = value;
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3931
#endif
360
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 356
diff changeset
  3932
#ifdef _LP64
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20022
diff changeset
  3933
#define MATERIALIZE_LP64_PRODUCT_FLAG(type, name, value, doc) type name = value;
360
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 356
diff changeset
  3934
#else
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 356
diff changeset
  3935
#define MATERIALIZE_LP64_PRODUCT_FLAG(type, name, value, doc) /* flag is constant */
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 356
diff changeset
  3936
#endif // _LP64
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3937
1382
fa3de4068282 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
ysr
parents: 1380
diff changeset
  3938
RUNTIME_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG, DECLARE_MANAGEABLE_FLAG, DECLARE_PRODUCT_RW_FLAG, DECLARE_LP64_PRODUCT_FLAG)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3939
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3940
RUNTIME_OS_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_NOTPRODUCT_FLAG)
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
  3941
13521
97a23be06f4e 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 13479
diff changeset
  3942
ARCH_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG)
97a23be06f4e 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 13479
diff changeset
  3943
11183
a81bb5c041d3 7117389: Add a framework for vendor-specific command line switch extensions to Hotspot
phh
parents: 11167
diff changeset
  3944
// Extensions
a81bb5c041d3 7117389: Add a framework for vendor-specific command line switch extensions to Hotspot
phh
parents: 11167
diff changeset
  3945
a81bb5c041d3 7117389: Add a framework for vendor-specific command line switch extensions to Hotspot
phh
parents: 11167
diff changeset
  3946
#include "runtime/globals_ext.hpp"
a81bb5c041d3 7117389: Add a framework for vendor-specific command line switch extensions to Hotspot
phh
parents: 11167
diff changeset
  3947
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 6987
diff changeset
  3948
#endif // SHARE_VM_RUNTIME_GLOBALS_HPP