Mercurial > hg > truffle
diff 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 |
line wrap: on
line diff
--- a/src/share/vm/runtime/arguments.cpp Mon Mar 19 10:09:24 2012 +0100 +++ b/src/share/vm/runtime/arguments.cpp Tue Mar 20 16:46:39 2012 -0400 @@ -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] == '#'; }