diff src/share/vm/runtime/arguments.cpp @ 5955:ad412114302a

Merge
author never
date Thu, 22 Mar 2012 13:54:26 -0700
parents 56ee89841dc4 80fe40862b02
children f3a4ee95783b 958bb4b7be49
line wrap: on
line diff
--- a/src/share/vm/runtime/arguments.cpp	Tue Mar 20 13:10:13 2012 -0700
+++ b/src/share/vm/runtime/arguments.cpp	Thu Mar 22 13:54:26 2012 -0700
@@ -816,8 +816,21 @@
     return true;
   }
 
-  jio_fprintf(defaultStream::error_stream(),
-              "Unrecognized VM option '%s'\n", argname);
+  // For locked flags, report a custom error message if available.
+  // Otherwise, report the standard unrecognized VM option.
+
+  Flag* locked_flag = Flag::find_flag((char*)argname, strlen(argname), true);
+  if (locked_flag != NULL) {
+    char locked_message_buf[BUFLEN];
+    locked_flag->get_locked_message(locked_message_buf, BUFLEN);
+    if (strlen(locked_message_buf) == 0) {
+      jio_fprintf(defaultStream::error_stream(),
+        "Unrecognized VM option '%s'\n", argname);
+    } else {
+      jio_fprintf(defaultStream::error_stream(), "%s", locked_message_buf);
+    }
+  }
+
   // allow for commandline "commenting out" options like -XX:#+Verbose
   return arg[0] == '#';
 }