2035 return false;
2036 }
2037 }
2038 #endif
2039
2040 #ifndef SUPPORT_RESERVED_STACK_AREA
2041 if (StackReservedPages != 0) {
2042 FLAG_SET_CMDLINE(intx, StackReservedPages, 0);
2043 warning("Reserved Stack Area not supported on this platform");
2044 }
2045 #endif
2046
2047 if (!FLAG_IS_DEFAULT(AllocateHeapAt)) {
2048 if ((UseNUMAInterleaving && !FLAG_IS_DEFAULT(UseNUMAInterleaving)) || (UseNUMA && !FLAG_IS_DEFAULT(UseNUMA))) {
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 }
|
2035 return false;
2036 }
2037 }
2038 #endif
2039
2040 #ifndef SUPPORT_RESERVED_STACK_AREA
2041 if (StackReservedPages != 0) {
2042 FLAG_SET_CMDLINE(intx, StackReservedPages, 0);
2043 warning("Reserved Stack Area not supported on this platform");
2044 }
2045 #endif
2046
2047 if (!FLAG_IS_DEFAULT(AllocateHeapAt)) {
2048 if ((UseNUMAInterleaving && !FLAG_IS_DEFAULT(UseNUMAInterleaving)) || (UseNUMA && !FLAG_IS_DEFAULT(UseNUMA))) {
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 (AMD64_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 (AMD64_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 }
|