241 { "HandlePromotionFailure", |
241 { "HandlePromotionFailure", |
242 JDK_Version::jdk_update(6,24), JDK_Version::jdk(8) }, |
242 JDK_Version::jdk_update(6,24), JDK_Version::jdk(8) }, |
243 { "MaxLiveObjectEvacuationRatio", |
243 { "MaxLiveObjectEvacuationRatio", |
244 JDK_Version::jdk_update(6,24), JDK_Version::jdk(8) }, |
244 JDK_Version::jdk_update(6,24), JDK_Version::jdk(8) }, |
245 { "ForceSharedSpaces", JDK_Version::jdk_update(6,25), JDK_Version::jdk(8) }, |
245 { "ForceSharedSpaces", JDK_Version::jdk_update(6,25), JDK_Version::jdk(8) }, |
|
246 { "UseParallelOldGCCompacting", |
|
247 JDK_Version::jdk_update(6,27), JDK_Version::jdk(8) }, |
|
248 { "UseParallelDensePrefixUpdate", |
|
249 JDK_Version::jdk_update(6,27), JDK_Version::jdk(8) }, |
|
250 { "UseParallelOldGCDensePrefix", |
|
251 JDK_Version::jdk_update(6,27), JDK_Version::jdk(8) }, |
246 { "AllowTransitionalJSR292", JDK_Version::jdk(7), JDK_Version::jdk(8) }, |
252 { "AllowTransitionalJSR292", JDK_Version::jdk(7), JDK_Version::jdk(8) }, |
247 { NULL, JDK_Version(0), JDK_Version(0) } |
253 { NULL, JDK_Version(0), JDK_Version(0) } |
248 }; |
254 }; |
249 |
255 |
250 // Returns true if the flag is obsolete and fits into the range specified |
256 // Returns true if the flag is obsolete and fits into the range specified |
798 bool Arguments::process_argument(const char* arg, |
804 bool Arguments::process_argument(const char* arg, |
799 jboolean ignore_unrecognized, FlagValueOrigin origin) { |
805 jboolean ignore_unrecognized, FlagValueOrigin origin) { |
800 |
806 |
801 JDK_Version since = JDK_Version(); |
807 JDK_Version since = JDK_Version(); |
802 |
808 |
803 if (parse_argument(arg, origin)) { |
809 if (parse_argument(arg, origin) || ignore_unrecognized) { |
804 // do nothing |
810 return true; |
805 } else if (is_newly_obsolete(arg, &since)) { |
811 } |
806 enum { bufsize = 256 }; |
812 |
807 char buffer[bufsize]; |
813 const char * const argname = *arg == '+' || *arg == '-' ? arg + 1 : arg; |
808 since.to_string(buffer, bufsize); |
814 if (is_newly_obsolete(arg, &since)) { |
809 jio_fprintf(defaultStream::error_stream(), |
815 char version[256]; |
810 "Warning: The flag %s has been EOL'd as of %s and will" |
816 since.to_string(version, sizeof(version)); |
811 " be ignored\n", arg, buffer); |
817 warning("ignoring option %s; support was removed in %s", argname, version); |
812 } else { |
818 return true; |
813 if (!ignore_unrecognized) { |
819 } |
814 jio_fprintf(defaultStream::error_stream(), |
820 |
815 "Unrecognized VM option '%s'\n", arg); |
821 jio_fprintf(defaultStream::error_stream(), |
816 // allow for commandline "commenting out" options like -XX:#+Verbose |
822 "Unrecognized VM option '%s'\n", argname); |
817 if (strlen(arg) == 0 || arg[0] != '#') { |
823 // allow for commandline "commenting out" options like -XX:#+Verbose |
818 return false; |
824 return arg[0] == '#'; |
819 } |
|
820 } |
|
821 } |
|
822 return true; |
|
823 } |
825 } |
824 |
826 |
825 bool Arguments::process_settings_file(const char* file_name, bool should_exist, jboolean ignore_unrecognized) { |
827 bool Arguments::process_settings_file(const char* file_name, bool should_exist, jboolean ignore_unrecognized) { |
826 FILE* stream = fopen(file_name, "rb"); |
828 FILE* stream = fopen(file_name, "rb"); |
827 if (stream == NULL) { |
829 if (stream == NULL) { |