2046 AddProperty, UnwriteableProperty, InternalProperty); 2047 if (!create_numbered_property("jdk.module.addmods", "jdk.internal.vm.ci", addmods_count++)) { 2048 return false; 2049 } 2050 } 2051 #endif 2052 2053 #ifndef SUPPORT_RESERVED_STACK_AREA 2054 if (StackReservedPages != 0) { 2055 FLAG_SET_CMDLINE(intx, StackReservedPages, 0); 2056 warning("Reserved Stack Area not supported on this platform"); 2057 } 2058 #endif 2059 2060 if (!FLAG_IS_DEFAULT(AllocateHeapAt)) { 2061 if ((UseNUMAInterleaving && !FLAG_IS_DEFAULT(UseNUMAInterleaving)) || (UseNUMA && !FLAG_IS_DEFAULT(UseNUMA))) { 2062 log_warning(arguments) ("NUMA support for Heap depends on the file system when AllocateHeapAt option is used.\n"); 2063 } 2064 } 2065 2066 // FIXME 2067 //if (LP64_ONLY(false &&) !FLAG_IS_DEFAULT(ValueTypePassFieldsAsArgs)) { 2068 if (!FLAG_IS_DEFAULT(ValueTypePassFieldsAsArgs)) { 2069 FLAG_SET_CMDLINE(bool, ValueTypePassFieldsAsArgs, false); 2070 warning("ValueTypePassFieldsAsArgs is not supported on this platform"); 2071 } 2072 2073 // FIXME 2074 //if (LP64_ONLY(false &&) !FLAG_IS_DEFAULT(ValueTypeReturnedAsFields)) { 2075 if (!FLAG_IS_DEFAULT(ValueTypeReturnedAsFields)) { 2076 FLAG_SET_CMDLINE(bool, ValueTypeReturnedAsFields, false); 2077 warning("ValueTypeReturnedAsFields is not supported on this platform"); 2078 } 2079 2080 if (EnableValhalla) { 2081 if (!EnableValhallaC1) { 2082 // C1 support for value types is incomplete. Don't use it by default. 2083 if (!FLAG_IS_DEFAULT(TieredCompilation)) { 2084 warning("TieredCompilation disabled because value types are not supported by C1"); 2085 } 2086 FLAG_SET_CMDLINE(bool, TieredCompilation, false); 2087 } else { 2088 if (TieredStopAtLevel > 1) { 2089 warning("C1 doesn't work with C2 yet. Forcing TieredStopAtLevel=1"); 2090 FLAG_SET_CMDLINE(intx, TieredStopAtLevel, 1); 2091 } 2092 } 2093 } else { 2094 FLAG_SET_CMDLINE(bool, ValueArrayFlatten, false); 2095 } 2096 2097 return status; 2098 } 2099 2100 bool Arguments::is_bad_option(const JavaVMOption* option, jboolean ignore, 2101 const char* option_type) { 2102 if (ignore) return false; 2103 2104 const char* spacer = " "; 2105 if (option_type == NULL) { 2106 option_type = ++spacer; // Set both to the empty string. 2107 } 2108 2109 jio_fprintf(defaultStream::error_stream(), 2110 "Unrecognized %s%soption: %s\n", option_type, spacer, | 2046 AddProperty, UnwriteableProperty, InternalProperty); 2047 if (!create_numbered_property("jdk.module.addmods", "jdk.internal.vm.ci", addmods_count++)) { 2048 return false; 2049 } 2050 } 2051 #endif 2052 2053 #ifndef SUPPORT_RESERVED_STACK_AREA 2054 if (StackReservedPages != 0) { 2055 FLAG_SET_CMDLINE(intx, StackReservedPages, 0); 2056 warning("Reserved Stack Area not supported on this platform"); 2057 } 2058 #endif 2059 2060 if (!FLAG_IS_DEFAULT(AllocateHeapAt)) { 2061 if ((UseNUMAInterleaving && !FLAG_IS_DEFAULT(UseNUMAInterleaving)) || (UseNUMA && !FLAG_IS_DEFAULT(UseNUMA))) { 2062 log_warning(arguments) ("NUMA support for Heap depends on the file system when AllocateHeapAt option is used.\n"); 2063 } 2064 } 2065 2066 if (LP64_ONLY(false &&) !FLAG_IS_DEFAULT(ValueTypePassFieldsAsArgs)) { 2067 FLAG_SET_CMDLINE(bool, ValueTypePassFieldsAsArgs, false); 2068 warning("ValueTypePassFieldsAsArgs is not supported on this platform"); 2069 } 2070 2071 if (LP64_ONLY(false &&) !FLAG_IS_DEFAULT(ValueTypeReturnedAsFields)) { 2072 FLAG_SET_CMDLINE(bool, ValueTypeReturnedAsFields, false); 2073 warning("ValueTypeReturnedAsFields is not supported on this platform"); 2074 } 2075 2076 if (EnableValhalla) { 2077 if (!EnableValhallaC1) { 2078 // C1 support for value types is incomplete. Don't use it by default. 2079 if (!FLAG_IS_DEFAULT(TieredCompilation)) { 2080 warning("TieredCompilation disabled because value types are not supported by C1"); 2081 } 2082 FLAG_SET_CMDLINE(bool, TieredCompilation, false); 2083 } else { 2084 if (TieredStopAtLevel > 1) { 2085 warning("C1 doesn't work with C2 yet. Forcing TieredStopAtLevel=1"); 2086 FLAG_SET_CMDLINE(intx, TieredStopAtLevel, 1); 2087 } 2088 if (ValueTypePassFieldsAsArgs) { 2089 warning("C1 doesn't work with ValueTypePassFieldsAsArgs yet. Forcing ValueTypePassFieldsAsArgs=false"); 2090 FLAG_SET_CMDLINE(bool, ValueTypePassFieldsAsArgs, false); 2091 } 2092 if (ValueTypeReturnedAsFields) { 2093 warning("C1 doesn't work with ValueTypeReturnedAsFields yet. Forcing ValueTypeReturnedAsFields=false"); 2094 FLAG_SET_CMDLINE(bool, ValueTypeReturnedAsFields, false); 2095 } 2096 } 2097 } else { 2098 FLAG_SET_CMDLINE(bool, ValueArrayFlatten, false); 2099 } 2100 2101 return status; 2102 } 2103 2104 bool Arguments::is_bad_option(const JavaVMOption* option, jboolean ignore, 2105 const char* option_type) { 2106 if (ignore) return false; 2107 2108 const char* spacer = " "; 2109 if (option_type == NULL) { 2110 option_type = ++spacer; // Set both to the empty string. 2111 } 2112 2113 jio_fprintf(defaultStream::error_stream(), 2114 "Unrecognized %s%soption: %s\n", option_type, spacer, |