2049 log_warning(arguments) ("NUMA support for Heap depends on the file system when AllocateHeapAt option is used.\n"); 2050 } 2051 } 2052 2053 status = status && GCArguments::check_args_consistency(); 2054 2055 if (LP64_ONLY(false &&) !FLAG_IS_DEFAULT(ValueTypePassFieldsAsArgs)) { 2056 FLAG_SET_CMDLINE(bool, ValueTypePassFieldsAsArgs, false); 2057 warning("ValueTypePassFieldsAsArgs is not supported on this platform"); 2058 } 2059 2060 if (LP64_ONLY(false &&) !FLAG_IS_DEFAULT(ValueTypeReturnedAsFields)) { 2061 FLAG_SET_CMDLINE(bool, ValueTypeReturnedAsFields, false); 2062 warning("ValueTypeReturnedAsFields is not supported on this platform"); 2063 } 2064 2065 if (EnableValhalla) { 2066 if (!EnableValhallaC1) { 2067 // C1 support for value types is incomplete. Don't use it by default. 2068 if (!FLAG_IS_DEFAULT(TieredCompilation)) { 2069 warning("TieredCompilation disabled because value types are not supported by C1"); 2070 } 2071 FLAG_SET_CMDLINE(bool, TieredCompilation, false); 2072 } else { 2073 if (TieredStopAtLevel > 1) { 2074 warning("C1 doesn't work with C2 yet. Forcing TieredStopAtLevel=1"); 2075 FLAG_SET_CMDLINE(intx, TieredStopAtLevel, 1); 2076 } 2077 if (ValueTypePassFieldsAsArgs) { 2078 warning("C1 doesn't work with ValueTypePassFieldsAsArgs yet. Forcing ValueTypePassFieldsAsArgs=false"); 2079 FLAG_SET_CMDLINE(bool, ValueTypePassFieldsAsArgs, false); 2080 } 2081 if (ValueTypeReturnedAsFields) { 2082 warning("C1 doesn't work with ValueTypeReturnedAsFields yet. Forcing ValueTypeReturnedAsFields=false"); 2083 FLAG_SET_CMDLINE(bool, ValueTypeReturnedAsFields, false); 2084 } 2085 } 2086 } 2087 if (!EnableValhalla && ACmpOnValues != 3) { 2088 FLAG_SET_CMDLINE(uint, ACmpOnValues, 0); 2089 } 2090 return status; 2091 } 2092 2093 bool Arguments::is_bad_option(const JavaVMOption* option, jboolean ignore, 2094 const char* option_type) { 2095 if (ignore) return false; 2096 2097 const char* spacer = " "; 2098 if (option_type == NULL) { 2099 option_type = ++spacer; // Set both to the empty string. 2100 } 2101 2102 jio_fprintf(defaultStream::error_stream(), 2103 "Unrecognized %s%soption: %s\n", option_type, spacer, 2104 option->optionString); | 2049 log_warning(arguments) ("NUMA support for Heap depends on the file system when AllocateHeapAt option is used.\n"); 2050 } 2051 } 2052 2053 status = status && GCArguments::check_args_consistency(); 2054 2055 if (LP64_ONLY(false &&) !FLAG_IS_DEFAULT(ValueTypePassFieldsAsArgs)) { 2056 FLAG_SET_CMDLINE(bool, ValueTypePassFieldsAsArgs, false); 2057 warning("ValueTypePassFieldsAsArgs is not supported on this platform"); 2058 } 2059 2060 if (LP64_ONLY(false &&) !FLAG_IS_DEFAULT(ValueTypeReturnedAsFields)) { 2061 FLAG_SET_CMDLINE(bool, ValueTypeReturnedAsFields, false); 2062 warning("ValueTypeReturnedAsFields is not supported on this platform"); 2063 } 2064 2065 if (EnableValhalla) { 2066 if (!EnableValhallaC1) { 2067 // C1 support for value types is incomplete. Don't use it by default. 2068 if (!FLAG_IS_DEFAULT(TieredCompilation)) { 2069 warning("TieredCompilation disabled because value types are not fully supported by C1"); 2070 } 2071 FLAG_SET_CMDLINE(bool, TieredCompilation, false); 2072 } else { 2073 /* 2074 TEMP: to run the valuetype tests with C1, you need to use the following command-line: 2075 2076 cd test/hotspot/jtreg/compiler/valhalla/valuetypes 2077 jtreg -Dtest.c1=true \ 2078 -vmoptions:-XX:+EnableValhallaC1 \ 2079 -vmoptions:-XX:TieredStopAtLevel=1 \ 2080 -vmoptions:-XX:-ValueTypePassFieldsAsArgs \ 2081 -vmoptions:-XX:-ValueTypeReturnedAsFields \ 2082 . 2083 2084 */ 2085 } 2086 } 2087 if (!EnableValhalla && ACmpOnValues != 3) { 2088 FLAG_SET_CMDLINE(uint, ACmpOnValues, 0); 2089 } 2090 return status; 2091 } 2092 2093 bool Arguments::is_bad_option(const JavaVMOption* option, jboolean ignore, 2094 const char* option_type) { 2095 if (ignore) return false; 2096 2097 const char* spacer = " "; 2098 if (option_type == NULL) { 2099 option_type = ++spacer; // Set both to the empty string. 2100 } 2101 2102 jio_fprintf(defaultStream::error_stream(), 2103 "Unrecognized %s%soption: %s\n", option_type, spacer, 2104 option->optionString); |