src/share/vm/runtime/arguments.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/runtime/arguments.cpp	Mon Sep 28 13:36:29 2015
--- new/src/share/vm/runtime/arguments.cpp	Mon Sep 28 13:36:28 2015

*** 839,849 **** --- 839,849 ---- bool Arguments::process_argument(const char* arg, jboolean ignore_unrecognized, Flag::Flags origin) { JDK_Version since = JDK_Version(); - if (parse_argument(arg, origin) || ignore_unrecognized) { return true; } // Determine if the flag has '+', '-', or '=' characters. bool has_plus_minus = (*arg == '+' || *arg == '-');
*** 875,885 **** --- 875,885 ---- // For locked flags, report a custom error message if available. // Otherwise, report the standard unrecognized VM option. Flag* found_flag = Flag::find_flag((const char*)argname, arg_len, true, true); if (found_flag != NULL) { char locked_message_buf[BUFLEN]; ! Flag::MsgType msg_type = found_flag->get_locked_message(locked_message_buf, BUFLEN); if (strlen(locked_message_buf) == 0) { if (found_flag->is_bool() && !has_plus_minus) { jio_fprintf(defaultStream::error_stream(), "Missing +/- setting for VM option '%s'\n", argname); } else if (!found_flag->is_bool() && has_plus_minus) {
*** 888,900 **** --- 888,910 ---- } else { jio_fprintf(defaultStream::error_stream(), "Improperly specified VM option '%s'\n", argname); } } else { + #ifdef PRODUCT + bool mismatched = ((msg_type == Flag::NOTPRODUCT_FLAG_BUT_PRODUCT_BUILD) || + (msg_type == Flag::DEVELOPER_FLAG_BUT_PRODUCT_BUILD)); + if (ignore_unrecognized && mismatched) { + return true; + } + #endif jio_fprintf(defaultStream::error_stream(), "%s", locked_message_buf); } } else { + if (ignore_unrecognized) { + return true; + } jio_fprintf(defaultStream::error_stream(), "Unrecognized VM option '%s'\n", argname); Flag* fuzzy_matched = Flag::fuzzy_match((const char*)argname, arg_len, true); if (fuzzy_matched != NULL) { jio_fprintf(defaultStream::error_stream(),

src/share/vm/runtime/arguments.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File