src/share/vm/runtime/arguments.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/runtime/arguments.cpp	Thu Mar 24 15:34:34 2016
--- new/src/share/vm/runtime/arguments.cpp	Thu Mar 24 15:34:33 2016

*** 973,986 **** --- 973,1011 ---- } ShouldNotReachHere(); return NULL; } ! AliasedLoggingFlag Arguments::catch_logging_aliases(const char* name){ ! void log_deprecated_flag( const char* name, const char* pref, AliasedLoggingFlag alf) { + LogTagType tagSet[5] = {alf.tag0, alf.tag1, alf.tag2, alf.tag3, alf.tag4}; + int max_tagset_size = 256; + char tagset_buffer[max_tagset_size]; + memset(tagset_buffer, 0, max_tagset_size); + char* pos = tagset_buffer; + + // Write tag-set for aliased logging option, in string list form + for (int i = 0; i < 5 && tagSet[i] != LogTag::__NO_TAG; i++) { + if (i > 0) { + strcpy(pos, ","); + pos++; + } + strcpy(pos, LogTag::name(tagSet[i])); + pos += strlen(pos); + } + + log_warning(arguments)("-XX:%s%s is deprecated. Will use -Xlog:%s=%s instead.", + pref, + name, + tagset_buffer, + (pref == "-") ? "off" : LogLevel::name(alf.level)); + } + + AliasedLoggingFlag Arguments::catch_logging_aliases(const char* name, const char* pref){ for (size_t i = 0; aliased_logging_flags[i].alias_name != NULL; i++) { const AliasedLoggingFlag& alf = aliased_logging_flags[i]; if (strcmp(alf.alias_name, name) == 0) { + log_deprecated_flag(name, pref, alf); return alf; } } AliasedLoggingFlag a = {NULL, LogLevel::Off, false, LOG_TAGS(_NO_TAG)}; return a;
*** 995,1005 **** --- 1020,1030 ---- char dummy; const char* real_name; bool warn_if_deprecated = true; if (sscanf(arg, "-%" XSTR(BUFLEN) NAME_RANGE "%c", name, &dummy) == 1) { ! AliasedLoggingFlag alf = catch_logging_aliases(name, "-"); if (alf.alias_name != NULL){ LogConfiguration::configure_stdout(LogLevel::Off, alf.exactMatch, alf.tag0, alf.tag1, alf.tag2, alf.tag3, alf.tag4, alf.tag5); return true; } real_name = handle_aliases_and_deprecation(name, warn_if_deprecated);
*** 1007,1017 **** --- 1032,1042 ---- return false; } return set_bool_flag(real_name, false, origin); } if (sscanf(arg, "+%" XSTR(BUFLEN) NAME_RANGE "%c", name, &dummy) == 1) { ! AliasedLoggingFlag alf = catch_logging_aliases(name, "+"); if (alf.alias_name != NULL){ LogConfiguration::configure_stdout(alf.level, alf.exactMatch, alf.tag0, alf.tag1, alf.tag2, alf.tag3, alf.tag4, alf.tag5); return true; } real_name = handle_aliases_and_deprecation(name, warn_if_deprecated);
*** 1223,1234 **** --- 1248,1260 ---- } #ifndef PRODUCT else { const char* replacement; if ((replacement = removed_develop_logging_flag_name(stripped_argname)) != NULL){ ! jio_fprintf(defaultStream::error_stream(), "%s has been removed. Please use %s instead.\n", stripped_argname, replacement); ! log_warning(arguments)("%s has been removed. Please use %s instead.", + stripped_argname, + replacement); return false; } } #endif //PRODUCT }

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