< prev index next >

src/hotspot/share/runtime/arguments.cpp

Print this page


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);


< prev index next >