1144 jio_fprintf(defaultStream::error_stream(), 1145 "Class data sharing is inconsistent with other specified options.\n"); 1146 vm_exit_during_initialization("Unable to use shared archive.", message); 1147 } else { 1148 FLAG_SET_DEFAULT(UseSharedSpaces, false); 1149 } 1150 } 1151 #endif 1152 1153 void Arguments::set_tiered_flags() { 1154 // With tiered, set default policy to AdvancedThresholdPolicy, which is 3. 1155 if (FLAG_IS_DEFAULT(CompilationPolicyChoice)) { 1156 FLAG_SET_DEFAULT(CompilationPolicyChoice, 3); 1157 } 1158 if (CompilationPolicyChoice < 2) { 1159 vm_exit_during_initialization( 1160 "Incompatible compilation policy selected", NULL); 1161 } 1162 // Increase the code cache size - tiered compiles a lot more. 1163 if (FLAG_IS_DEFAULT(ReservedCodeCacheSize)) { 1164 FLAG_SET_DEFAULT(ReservedCodeCacheSize, ReservedCodeCacheSize * 5); 1165 } 1166 if (!UseInterpreter) { // -Xcomp 1167 Tier3InvokeNotifyFreqLog = 0; 1168 Tier4InvocationThreshold = 0; 1169 } 1170 } 1171 1172 /** 1173 * Returns the minimum number of compiler threads needed to run the JVM. The following 1174 * configurations are possible. 1175 * 1176 * 1) The JVM is build using an interpreter only. As a result, the minimum number of 1177 * compiler threads is 0. 1178 * 2) The JVM is build using the compiler(s) and tiered compilation is disabled. As 1179 * a result, either C1 or C2 is used, so the minimum number of compiler threads is 1. 1180 * 3) The JVM is build using the compiler(s) and tiered compilation is enabled. However, 1181 * the option "TieredStopAtLevel < CompLevel_full_optimization". As a result, only 1182 * C1 can be used, so the minimum number of compiler threads is 1. 1183 * 4) The JVM is build using the compilers and tiered compilation is enabled. The option 1184 * 'TieredStopAtLevel = CompLevel_full_optimization' (the default value). As a result, | 1144 jio_fprintf(defaultStream::error_stream(), 1145 "Class data sharing is inconsistent with other specified options.\n"); 1146 vm_exit_during_initialization("Unable to use shared archive.", message); 1147 } else { 1148 FLAG_SET_DEFAULT(UseSharedSpaces, false); 1149 } 1150 } 1151 #endif 1152 1153 void Arguments::set_tiered_flags() { 1154 // With tiered, set default policy to AdvancedThresholdPolicy, which is 3. 1155 if (FLAG_IS_DEFAULT(CompilationPolicyChoice)) { 1156 FLAG_SET_DEFAULT(CompilationPolicyChoice, 3); 1157 } 1158 if (CompilationPolicyChoice < 2) { 1159 vm_exit_during_initialization( 1160 "Incompatible compilation policy selected", NULL); 1161 } 1162 // Increase the code cache size - tiered compiles a lot more. 1163 if (FLAG_IS_DEFAULT(ReservedCodeCacheSize)) { 1164 #ifndef AARCH64 1165 FLAG_SET_DEFAULT(ReservedCodeCacheSize, ReservedCodeCacheSize * 5); 1166 #else 1167 FLAG_SET_DEFAULT(ReservedCodeCacheSize, 1168 MIN2(CODE_CACHE_DEFAULT_LIMIT, ReservedCodeCacheSize * 5)); 1169 #endif 1170 } 1171 if (!UseInterpreter) { // -Xcomp 1172 Tier3InvokeNotifyFreqLog = 0; 1173 Tier4InvocationThreshold = 0; 1174 } 1175 } 1176 1177 /** 1178 * Returns the minimum number of compiler threads needed to run the JVM. The following 1179 * configurations are possible. 1180 * 1181 * 1) The JVM is build using an interpreter only. As a result, the minimum number of 1182 * compiler threads is 0. 1183 * 2) The JVM is build using the compiler(s) and tiered compilation is disabled. As 1184 * a result, either C1 or C2 is used, so the minimum number of compiler threads is 1. 1185 * 3) The JVM is build using the compiler(s) and tiered compilation is enabled. However, 1186 * the option "TieredStopAtLevel < CompLevel_full_optimization". As a result, only 1187 * C1 can be used, so the minimum number of compiler threads is 1. 1188 * 4) The JVM is build using the compilers and tiered compilation is enabled. The option 1189 * 'TieredStopAtLevel = CompLevel_full_optimization' (the default value). As a result, |