< prev index next >

src/hotspot/share/runtime/arguments.cpp

Print this page




 611   { "TraceMonitorMismatch",       "-Xlog:monitormismatch=info" },
 612   { "TraceSafepoint",             "-Xlog:safepoint=debug" },
 613   { "TraceStartupTime",           "-Xlog:startuptime" },
 614   { "TraceVMOperation",           "-Xlog:vmoperation=debug" },
 615   { "PrintVtables",               "-Xlog:vtables=debug" },
 616   { "VerboseVerification",        "-Xlog:verification" },
 617   { NULL, NULL }
 618 };
 619 #endif //PRODUCT
 620 
 621 // Return true if "v" is less than "other", where "other" may be "undefined".
 622 static bool version_less_than(JDK_Version v, JDK_Version other) {
 623   assert(!v.is_undefined(), "must be defined");
 624   if (!other.is_undefined() && v.compare(other) >= 0) {
 625     return false;
 626   } else {
 627     return true;
 628   }
 629 }
 630 
 631 extern bool lookup_special_flag_ext(const char *flag_name, SpecialFlag& flag);
 632 
 633 static bool lookup_special_flag(const char *flag_name, SpecialFlag& flag) {
 634   // Allow extensions to have priority
 635   if (lookup_special_flag_ext(flag_name, flag)) {
 636     return true;
 637   }
 638 
 639   for (size_t i = 0; special_jvm_flags[i].name != NULL; i++) {
 640     if ((strcmp(special_jvm_flags[i].name, flag_name) == 0)) {
 641       flag = special_jvm_flags[i];
 642       return true;
 643     }
 644   }
 645   return false;
 646 }
 647 
 648 bool Arguments::is_obsolete_flag(const char *flag_name, JDK_Version* version) {
 649   assert(version != NULL, "Must provide a version buffer");
 650   SpecialFlag flag;
 651   if (lookup_special_flag(flag_name, flag)) {
 652     if (!flag.obsolete_in.is_undefined()) {
 653       if (!version_less_than(JDK_Version::current(), flag.obsolete_in)) {
 654         *version = flag.obsolete_in;
 655         return true;
 656       }
 657     }
 658   }




 611   { "TraceMonitorMismatch",       "-Xlog:monitormismatch=info" },
 612   { "TraceSafepoint",             "-Xlog:safepoint=debug" },
 613   { "TraceStartupTime",           "-Xlog:startuptime" },
 614   { "TraceVMOperation",           "-Xlog:vmoperation=debug" },
 615   { "PrintVtables",               "-Xlog:vtables=debug" },
 616   { "VerboseVerification",        "-Xlog:verification" },
 617   { NULL, NULL }
 618 };
 619 #endif //PRODUCT
 620 
 621 // Return true if "v" is less than "other", where "other" may be "undefined".
 622 static bool version_less_than(JDK_Version v, JDK_Version other) {
 623   assert(!v.is_undefined(), "must be defined");
 624   if (!other.is_undefined() && v.compare(other) >= 0) {
 625     return false;
 626   } else {
 627     return true;
 628   }
 629 }
 630 


 631 static bool lookup_special_flag(const char *flag_name, SpecialFlag& flag) {





 632   for (size_t i = 0; special_jvm_flags[i].name != NULL; i++) {
 633     if ((strcmp(special_jvm_flags[i].name, flag_name) == 0)) {
 634       flag = special_jvm_flags[i];
 635       return true;
 636     }
 637   }
 638   return false;
 639 }
 640 
 641 bool Arguments::is_obsolete_flag(const char *flag_name, JDK_Version* version) {
 642   assert(version != NULL, "Must provide a version buffer");
 643   SpecialFlag flag;
 644   if (lookup_special_flag(flag_name, flag)) {
 645     if (!flag.obsolete_in.is_undefined()) {
 646       if (!version_less_than(JDK_Version::current(), flag.obsolete_in)) {
 647         *version = flag.obsolete_in;
 648         return true;
 649       }
 650     }
 651   }


< prev index next >