< prev index next >
src/share/vm/runtime/arguments.cpp
Print this page
*** 407,454 ****
}
}
return false;
}
! // Returns 1 if the flag is special and jdk version is in the range specified.
! // In this case the 'version' buffer is filled in with the version number when
! // the flag became special.
! // Returns -1 if the flag is the wrong kind of special - expired or (check_deprecated & obsolete).
! // Returns 0 if the flag is not special.
! // "flag_name" is a flag name stripped of '+', '-', and '='.
! static int is_special_flag(bool check_deprecated, const char *flag_name, JDK_Version* version) {
assert(version != NULL, "Must provide a version buffer");
SpecialFlag flag;
if (lookup_special_flag(flag_name, flag)) {
! if (check_deprecated && !flag.deprecated_in.is_undefined()) {
if (version_less_than(JDK_Version::current(), flag.obsolete_in) &&
version_less_than(JDK_Version::current(), flag.expired_in)) {
*version = flag.deprecated_in;
return 1;
} else {
return -1;
}
- } else if (!check_deprecated && !flag.obsolete_in.is_undefined()) {
- if (version_less_than(JDK_Version::current(), flag.expired_in)) {
- *version = flag.obsolete_in;
- return 1;
- } else {
- return -1;
- }
}
}
return 0;
}
- bool Arguments::is_obsolete_flag(const char *flag_name, JDK_Version* version) {
- return (is_special_flag(false, flag_name, version) == 1);
- }
-
- int Arguments::is_deprecated_flag(const char *flag_name, JDK_Version* version) {
- return is_special_flag(true, flag_name, version);
- }
-
const char* Arguments::real_flag_name(const char *flag_name) {
for (size_t i = 0; aliased_jvm_flags[i].alias_name != NULL; i++) {
const AliasedFlag& flag_status = aliased_jvm_flags[i];
if (strcmp(flag_status.alias_name, flag_name) == 0) {
return flag_status.real_name;
--- 407,447 ----
}
}
return false;
}
! bool Arguments::is_obsolete_flag(const char *flag_name, JDK_Version* version) {
! assert(version != NULL, "Must provide a version buffer");
! SpecialFlag flag;
! if (lookup_special_flag(flag_name, flag)) {
! if (!flag.obsolete_in.is_undefined()) {
! if (version_less_than(JDK_Version::current(), flag.expired_in)) {
! *version = flag.obsolete_in;
! return true;
! }
! }
! }
! return false;
! }
!
! int Arguments::is_deprecated_flag(const char *flag_name, JDK_Version* version) {
assert(version != NULL, "Must provide a version buffer");
SpecialFlag flag;
if (lookup_special_flag(flag_name, flag)) {
! if (!flag.deprecated_in.is_undefined()) {
if (version_less_than(JDK_Version::current(), flag.obsolete_in) &&
version_less_than(JDK_Version::current(), flag.expired_in)) {
*version = flag.deprecated_in;
return 1;
} else {
return -1;
}
}
}
return 0;
}
const char* Arguments::real_flag_name(const char *flag_name) {
for (size_t i = 0; aliased_jvm_flags[i].alias_name != NULL; i++) {
const AliasedFlag& flag_status = aliased_jvm_flags[i];
if (strcmp(flag_status.alias_name, flag_name) == 0) {
return flag_status.real_name;
< prev index next >