74 develop(ccstr, AOTInitTestClass, nullptr, \
75 "For JVM internal testing only. The specified class is stored " \
76 "in the initialized state in the AOT cache ") \
77 \
78 product(ccstr, DumpLoadedClassList, nullptr, \
79 "Dump the names all loaded classes, that could be stored into " \
80 "the CDS archive, in the specified file") \
81 \
82 product(ccstr, SharedClassListFile, nullptr, \
83 "Override the default CDS class list") \
84 \
85 product(ccstr, SharedArchiveFile, nullptr, \
86 "Override the default location of the CDS archive file") \
87 \
88 product(ccstr, ArchiveClassesAtExit, nullptr, \
89 "The path and name of the dynamic archive file") \
90 \
91 product(ccstr, ExtraSharedClassListFile, nullptr, \
92 "Extra classlist for building the CDS archive file") \
93 \
94 product(int, ArchiveRelocationMode, 1, DIAGNOSTIC, \
95 "(0) first map at preferred address, and if " \
96 "unsuccessful, map at alternative address; " \
97 "(1) always map at alternative address (default); " \
98 "(2) always map at preferred address, and if unsuccessful, " \
99 "do not map the archive") \
100 range(0, 2) \
101 \
102 /*========== New "AOT" flags =========================================*/ \
103 /* The following 3 flags are aliases of -Xshare:dump, */ \
104 /* -XX:SharedArchiveFile=..., etc. See CDSConfig::check_flag_aliases()*/ \
105 \
106 product(ccstr, AOTMode, nullptr, \
107 "Specifies how AOTCache should be created or used. Valid values " \
108 "are: off, record, create, auto, on; the default is auto") \
109 constraint(AOTModeConstraintFunc, AtParse) \
110 \
111 product(ccstr, AOTConfiguration, nullptr, \
112 "The configuration file written by -XX:AOTMode=record, and " \
113 "loaded by -XX:AOTMode=create. This file contains profiling data "\
114 "for deciding what contents should be added to AOTCache. ") \
115 \
116 product(ccstr, AOTCache, nullptr, \
117 "Cache for improving start up and warm up") \
118 \
119 product(bool, AOTInvokeDynamicLinking, false, DIAGNOSTIC, \
120 "AOT-link JVM_CONSTANT_InvokeDynamic entries in cached " \
121 "ConstantPools") \
122 \
123 product(bool, AOTClassLinking, false, \
124 "Load/link all archived classes for the boot/platform/app " \
125 "loaders before application main") \
126 \
127 product(bool, AOTCacheParallelRelocation, true, DIAGNOSTIC, \
128 "Use parallel relocation code to speed up startup.") \
129 \
130 // end of CDS_FLAGS
131
132 DECLARE_FLAGS(CDS_FLAGS)
133
134 #endif // SHARE_CDS_CDS_GLOBALS_HPP
|
74 develop(ccstr, AOTInitTestClass, nullptr, \
75 "For JVM internal testing only. The specified class is stored " \
76 "in the initialized state in the AOT cache ") \
77 \
78 product(ccstr, DumpLoadedClassList, nullptr, \
79 "Dump the names all loaded classes, that could be stored into " \
80 "the CDS archive, in the specified file") \
81 \
82 product(ccstr, SharedClassListFile, nullptr, \
83 "Override the default CDS class list") \
84 \
85 product(ccstr, SharedArchiveFile, nullptr, \
86 "Override the default location of the CDS archive file") \
87 \
88 product(ccstr, ArchiveClassesAtExit, nullptr, \
89 "The path and name of the dynamic archive file") \
90 \
91 product(ccstr, ExtraSharedClassListFile, nullptr, \
92 "Extra classlist for building the CDS archive file") \
93 \
94 /*FIXME - AOT code has direct pointers to metadata that's not relocated*/ \
95 product(int, ArchiveRelocationMode, 0, DIAGNOSTIC, \
96 "(0) first map at preferred address, and if " \
97 "unsuccessful, map at alternative address; " \
98 "(1) always map at alternative address (default); " \
99 "(2) always map at preferred address, and if unsuccessful, " \
100 "do not map the archive") \
101 range(0, 2) \
102 \
103 /*========== New "AOT" flags =========================================*/ \
104 /* The following 3 flags are aliases of -Xshare:dump, */ \
105 /* -XX:SharedArchiveFile=..., etc. See CDSConfig::check_flag_aliases()*/ \
106 \
107 product(ccstr, AOTMode, nullptr, \
108 "Specifies how AOTCache should be created or used. Valid values " \
109 "are: off, record, create, auto, on; the default is auto") \
110 constraint(AOTModeConstraintFunc, AtParse) \
111 \
112 product(ccstr, AOTConfiguration, nullptr, \
113 "The configuration file written by -XX:AOTMode=record, and " \
114 "loaded by -XX:AOTMode=create. This file contains profiling data "\
115 "for deciding what contents should be added to AOTCache. ") \
116 \
117 product(ccstr, AOTCache, nullptr, \
118 "Cache for improving start up and warm up") \
119 \
120 product(ccstr, AOTCacheOutput, nullptr, \
121 "Write AOT cache into this file (overrides AOTCache when " \
122 "writing)") \
123 \
124 product(bool, AOTInvokeDynamicLinking, false, DIAGNOSTIC, \
125 "AOT-link JVM_CONSTANT_InvokeDynamic entries in cached " \
126 "ConstantPools") \
127 \
128 product(bool, AOTClassLinking, false, \
129 "Load/link all archived classes for the boot/platform/app " \
130 "loaders before application main") \
131 \
132 product(bool, AOTCacheParallelRelocation, true, DIAGNOSTIC, \
133 "Use parallel relocation code to speed up startup.") \
134 \
135 /* flags to control training and deployment modes */ \
136 \
137 product(bool, AOTRecordTraining, false, DIAGNOSTIC, \
138 "Request output of training data for improved deployment.") \
139 \
140 product(bool, AOTReplayTraining, false, DIAGNOSTIC, \
141 "Read training data, if available, for use in this execution") \
142 \
143 product(bool, AOTPrintTrainingInfo, false, DIAGNOSTIC, \
144 "Print additional information about training") \
145 \
146 product(bool, AOTVerifyTrainingData, trueInDebug, DIAGNOSTIC, \
147 "Verify archived training data") \
148 \
149 product(bool, AOTRecordOptCompilationOrder, false, \
150 "Record c2/jvmci nmethod temperature to guide compilation order.")\
151 \
152 product(bool, AOTRecordOnlyTopCompilations, false, \
153 "Record only top compilations (non-zero counts)") \
154 \
155 product(int, AOTRecordOptCompilationOrderInterval, 10, \
156 "Sampling interval for RecordOptCompilationOrder") \
157 \
158 /* Recompilation flags */ \
159 \
160 product(int, AOTRecompilationLoadAverageThreshold, 5, \
161 "Queues load avergage after while recompilations are allowed") \
162 \
163 product(int, AOTRecompilationWorkUnitSize, 5, \
164 "Queues load avergage after while recompilations are allowed") \
165 \
166 product(bool, AOTRecompilation, false, \
167 "Recompile methods for peak performance") \
168 \
169 product(bool, AOTForceRecompilation, false, \
170 "Testing mode for recompilation") \
171 \
172 product(double, AOTDelayRecompilation, 0.0, \
173 "Delay recompilation for given number of seconds") \
174 \
175 /*========== New options added by Leyden =============================*/ \
176 \
177 product(ccstrlist, AOTEndTrainingOnMethodEntry, "", \
178 "List of methods (pkg/class.name) to trigger end of AOT " \
179 "training run. Optional ',count=N' where N is > 0") \
180 \
181 product(ccstr, CacheOnlyClassesIn, nullptr, \
182 "If set, only classes loaded from these JAR files will be " \
183 "stored in the AOTCache") \
184 \
185 product(ccstr, CacheDataStore, nullptr, \
186 "If valid, use the specified file for SharedArchiveFile; " \
187 "otherwise the specified file is generated at program exit") \
188 \
189 product(ccstr, CDSPreimage, nullptr, \
190 "(** internal use only **) -- used by a child JVM process to " \
191 "create the CacheDataStore final image") \
192 \
193 product(bool, CDSManualFinalImage, false, DIAGNOSTIC, \
194 "(** internal use only **) -- if false, automatically launch a " \
195 "child process to create the final image.") \
196 \
197 product(bool, ArchiveDynamicProxies, false, \
198 "Archive classes generated for java/lang/reflect/Proxy") \
199 \
200 product(bool, ArchiveLoaderLookupCache, false, \
201 "Archive app loader's positive and negative lookup cache") \
202 \
203 product(bool, ArchivePackages, false, \
204 "Archive the java.lang.ClassLoader::{packages,package2certs} " \
205 "tables") \
206 \
207 product(bool, ArchiveProtectionDomains, false, \
208 "Archive the java.security.SecureClassLoader::pdcache table") \
209 \
210 product(bool, ArchiveReflectionData, false, \
211 "Archive Class::reflectionData field") \
212 \
213 product(bool, SkipArchiveHeapVerification, false, \
214 "Skip verification of CDS archive heap") \
215 \
216 product(bool, ArchiveAdapters, false, \
217 "Archive AdapterFingerPrint and AdapterHandlerEntry." \
218 "Requires AOT code cache") \
219
220 // end of CDS_FLAGS
221
222 DECLARE_FLAGS(CDS_FLAGS)
223
224 #endif // SHARE_CDS_CDS_GLOBALS_HPP
|