comparison src/share/vm/runtime/arguments.cpp @ 5947:80fe40862b02

7144328: Improper commandlines for -XX:+-UnlockCommercialFeatures require proper warning/error messages Summary: Provide custom error messages for locked commercial feature options which are not first unlocked. Reviewed-by: dcubed, jcoomes, kamg Contributed-by: james.melvin@oracle.com
author jmelvin
date Tue, 20 Mar 2012 16:46:39 -0400
parents 2d503de963b3
children ad412114302a
comparison
equal deleted inserted replaced
5946:3d7ea1dbe0de 5947:80fe40862b02
814 since.to_string(version, sizeof(version)); 814 since.to_string(version, sizeof(version));
815 warning("ignoring option %s; support was removed in %s", argname, version); 815 warning("ignoring option %s; support was removed in %s", argname, version);
816 return true; 816 return true;
817 } 817 }
818 818
819 jio_fprintf(defaultStream::error_stream(), 819 // For locked flags, report a custom error message if available.
820 "Unrecognized VM option '%s'\n", argname); 820 // Otherwise, report the standard unrecognized VM option.
821
822 Flag* locked_flag = Flag::find_flag((char*)argname, strlen(argname), true);
823 if (locked_flag != NULL) {
824 char locked_message_buf[BUFLEN];
825 locked_flag->get_locked_message(locked_message_buf, BUFLEN);
826 if (strlen(locked_message_buf) == 0) {
827 jio_fprintf(defaultStream::error_stream(),
828 "Unrecognized VM option '%s'\n", argname);
829 } else {
830 jio_fprintf(defaultStream::error_stream(), "%s", locked_message_buf);
831 }
832 }
833
821 // allow for commandline "commenting out" options like -XX:#+Verbose 834 // allow for commandline "commenting out" options like -XX:#+Verbose
822 return arg[0] == '#'; 835 return arg[0] == '#';
823 } 836 }
824 837
825 bool Arguments::process_settings_file(const char* file_name, bool should_exist, jboolean ignore_unrecognized) { 838 bool Arguments::process_settings_file(const char* file_name, bool should_exist, jboolean ignore_unrecognized) {