--- a/hotspot/src/share/vm/runtime/arguments.cpp Thu Apr 07 09:53:20 2011 -0700
+++ b/hotspot/src/share/vm/runtime/arguments.cpp Thu Apr 07 16:52:15 2011 -0700
@@ -799,26 +799,22 @@
JDK_Version since = JDK_Version();
- if (parse_argument(arg, origin)) {
- // do nothing
- } else if (is_newly_obsolete(arg, &since)) {
- enum { bufsize = 256 };
- char buffer[bufsize];
- since.to_string(buffer, bufsize);
- jio_fprintf(defaultStream::error_stream(),
- "Warning: The flag %s has been EOL'd as of %s and will"
- " be ignored\n", arg, buffer);
- } else {
- if (!ignore_unrecognized) {
- jio_fprintf(defaultStream::error_stream(),
- "Unrecognized VM option '%s'\n", arg);
- // allow for commandline "commenting out" options like -XX:#+Verbose
- if (strlen(arg) == 0 || arg[0] != '#') {
- return false;
- }
- }
+ if (parse_argument(arg, origin) || ignore_unrecognized) {
+ return true;
}
- return true;
+
+ const char * const argname = *arg == '+' || *arg == '-' ? arg + 1 : arg;
+ if (is_newly_obsolete(arg, &since)) {
+ char version[256];
+ since.to_string(version, sizeof(version));
+ warning("ignoring option %s; support was removed in %s", argname, version);
+ return true;
+ }
+
+ jio_fprintf(defaultStream::error_stream(),
+ "Unrecognized VM option '%s'\n", argname);
+ // allow for commandline "commenting out" options like -XX:#+Verbose
+ return arg[0] == '#';
}
bool Arguments::process_settings_file(const char* file_name, bool should_exist, jboolean ignore_unrecognized) {