288 { "CMSTriggerPermRatio", JDK_Version::jdk(8), JDK_Version::jdk(9) },
289 { "CMSInitiatingPermOccupancyFraction", JDK_Version::jdk(8), JDK_Version::jdk(9) },
290 { "AdaptivePermSizeWeight", JDK_Version::jdk(8), JDK_Version::jdk(9) },
291 { "PermGenPadding", JDK_Version::jdk(8), JDK_Version::jdk(9) },
292 { "PermMarkSweepDeadRatio", JDK_Version::jdk(8), JDK_Version::jdk(9) },
293 { "PermSize", JDK_Version::jdk(8), JDK_Version::jdk(9) },
294 { "MaxPermSize", JDK_Version::jdk(8), JDK_Version::jdk(9) },
295 { "MinPermHeapExpansion", JDK_Version::jdk(8), JDK_Version::jdk(9) },
296 { "MaxPermHeapExpansion", JDK_Version::jdk(8), JDK_Version::jdk(9) },
297 { "CMSRevisitStackSize", JDK_Version::jdk(8), JDK_Version::jdk(9) },
298 { "PrintRevisitStats", JDK_Version::jdk(8), JDK_Version::jdk(9) },
299 { "UseVectoredExceptions", JDK_Version::jdk(8), JDK_Version::jdk(9) },
300 { "UseSplitVerifier", JDK_Version::jdk(8), JDK_Version::jdk(9) },
301 { "UseISM", JDK_Version::jdk(8), JDK_Version::jdk(9) },
302 { "UsePermISM", JDK_Version::jdk(8), JDK_Version::jdk(9) },
303 { "UseMPSS", JDK_Version::jdk(8), JDK_Version::jdk(9) },
304 { "UseStringCache", JDK_Version::jdk(8), JDK_Version::jdk(9) },
305 { "UseOldInlining", JDK_Version::jdk(9), JDK_Version::jdk(10) },
306 { "AutoShutdownNMT", JDK_Version::jdk(9), JDK_Version::jdk(10) },
307 { "CompilationRepeat", JDK_Version::jdk(8), JDK_Version::jdk(9) },
308 #ifdef PRODUCT
309 { "DesiredMethodLimit",
310 JDK_Version::jdk_update(7, 2), JDK_Version::jdk(8) },
311 #endif // PRODUCT
312 { NULL, JDK_Version(0), JDK_Version(0) }
313 };
314
315 // Returns true if the flag is obsolete and fits into the range specified
316 // for being ignored. In the case that the flag is ignored, the 'version'
317 // value is filled in with the version number when the flag became
318 // obsolete so that that value can be displayed to the user.
319 bool Arguments::is_newly_obsolete(const char *s, JDK_Version* version) {
320 int i = 0;
321 assert(version != NULL, "Must provide a version buffer");
322 while (obsolete_jvm_flags[i].name != NULL) {
323 const ObsoleteFlag& flag_status = obsolete_jvm_flags[i];
324 // <flag>=xxx form
325 // [-|+]<flag> form
326 if ((strncmp(flag_status.name, s, strlen(flag_status.name)) == 0) ||
327 ((s[0] == '+' || s[0] == '-') &&
|
288 { "CMSTriggerPermRatio", JDK_Version::jdk(8), JDK_Version::jdk(9) },
289 { "CMSInitiatingPermOccupancyFraction", JDK_Version::jdk(8), JDK_Version::jdk(9) },
290 { "AdaptivePermSizeWeight", JDK_Version::jdk(8), JDK_Version::jdk(9) },
291 { "PermGenPadding", JDK_Version::jdk(8), JDK_Version::jdk(9) },
292 { "PermMarkSweepDeadRatio", JDK_Version::jdk(8), JDK_Version::jdk(9) },
293 { "PermSize", JDK_Version::jdk(8), JDK_Version::jdk(9) },
294 { "MaxPermSize", JDK_Version::jdk(8), JDK_Version::jdk(9) },
295 { "MinPermHeapExpansion", JDK_Version::jdk(8), JDK_Version::jdk(9) },
296 { "MaxPermHeapExpansion", JDK_Version::jdk(8), JDK_Version::jdk(9) },
297 { "CMSRevisitStackSize", JDK_Version::jdk(8), JDK_Version::jdk(9) },
298 { "PrintRevisitStats", JDK_Version::jdk(8), JDK_Version::jdk(9) },
299 { "UseVectoredExceptions", JDK_Version::jdk(8), JDK_Version::jdk(9) },
300 { "UseSplitVerifier", JDK_Version::jdk(8), JDK_Version::jdk(9) },
301 { "UseISM", JDK_Version::jdk(8), JDK_Version::jdk(9) },
302 { "UsePermISM", JDK_Version::jdk(8), JDK_Version::jdk(9) },
303 { "UseMPSS", JDK_Version::jdk(8), JDK_Version::jdk(9) },
304 { "UseStringCache", JDK_Version::jdk(8), JDK_Version::jdk(9) },
305 { "UseOldInlining", JDK_Version::jdk(9), JDK_Version::jdk(10) },
306 { "AutoShutdownNMT", JDK_Version::jdk(9), JDK_Version::jdk(10) },
307 { "CompilationRepeat", JDK_Version::jdk(8), JDK_Version::jdk(9) },
308 { "SegmentedHeapDumpThreshold", JDK_Version::jdk_update(8, 242), JDK_Version::jdk(10) },
309 #ifdef PRODUCT
310 { "DesiredMethodLimit",
311 JDK_Version::jdk_update(7, 2), JDK_Version::jdk(8) },
312 #endif // PRODUCT
313 { NULL, JDK_Version(0), JDK_Version(0) }
314 };
315
316 // Returns true if the flag is obsolete and fits into the range specified
317 // for being ignored. In the case that the flag is ignored, the 'version'
318 // value is filled in with the version number when the flag became
319 // obsolete so that that value can be displayed to the user.
320 bool Arguments::is_newly_obsolete(const char *s, JDK_Version* version) {
321 int i = 0;
322 assert(version != NULL, "Must provide a version buffer");
323 while (obsolete_jvm_flags[i].name != NULL) {
324 const ObsoleteFlag& flag_status = obsolete_jvm_flags[i];
325 // <flag>=xxx form
326 // [-|+]<flag> form
327 if ((strncmp(flag_status.name, s, strlen(flag_status.name)) == 0) ||
328 ((s[0] == '+' || s[0] == '-') &&
|