2241 "Invalid InitialCodeCacheSize=%dK. Must be at least %dK.\n", InitialCodeCacheSize/K, 2242 os::vm_page_size()/K); 2243 status = false; 2244 } else if (ReservedCodeCacheSize < InitialCodeCacheSize) { 2245 jio_fprintf(defaultStream::error_stream(), 2246 "Invalid ReservedCodeCacheSize: %dK. Must be at least InitialCodeCacheSize=%dK.\n", 2247 ReservedCodeCacheSize/K, InitialCodeCacheSize/K); 2248 status = false; 2249 } else if (ReservedCodeCacheSize < min_code_cache_size) { 2250 jio_fprintf(defaultStream::error_stream(), 2251 "Invalid ReservedCodeCacheSize=%dK. Must be at least %uK.\n", ReservedCodeCacheSize/K, 2252 min_code_cache_size/K); 2253 status = false; 2254 } else if (ReservedCodeCacheSize > 2*G) { 2255 // Code cache size larger than MAXINT is not supported. 2256 jio_fprintf(defaultStream::error_stream(), 2257 "Invalid ReservedCodeCacheSize=%dM. Must be at most %uM.\n", ReservedCodeCacheSize/M, 2258 (2*G)/M); 2259 status = false; 2260 } 2261 return status; 2262 } 2263 2264 bool Arguments::is_bad_option(const JavaVMOption* option, jboolean ignore, 2265 const char* option_type) { 2266 if (ignore) return false; 2267 2268 const char* spacer = " "; 2269 if (option_type == NULL) { 2270 option_type = ++spacer; // Set both to the empty string. 2271 } 2272 2273 if (os::obsolete_option(option)) { 2274 jio_fprintf(defaultStream::error_stream(), 2275 "Obsolete %s%soption: %s\n", option_type, spacer, 2276 option->optionString); 2277 return false; 2278 } else { 2279 jio_fprintf(defaultStream::error_stream(), 2280 "Unrecognized %s%soption: %s\n", option_type, spacer, | 2241 "Invalid InitialCodeCacheSize=%dK. Must be at least %dK.\n", InitialCodeCacheSize/K, 2242 os::vm_page_size()/K); 2243 status = false; 2244 } else if (ReservedCodeCacheSize < InitialCodeCacheSize) { 2245 jio_fprintf(defaultStream::error_stream(), 2246 "Invalid ReservedCodeCacheSize: %dK. Must be at least InitialCodeCacheSize=%dK.\n", 2247 ReservedCodeCacheSize/K, InitialCodeCacheSize/K); 2248 status = false; 2249 } else if (ReservedCodeCacheSize < min_code_cache_size) { 2250 jio_fprintf(defaultStream::error_stream(), 2251 "Invalid ReservedCodeCacheSize=%dK. Must be at least %uK.\n", ReservedCodeCacheSize/K, 2252 min_code_cache_size/K); 2253 status = false; 2254 } else if (ReservedCodeCacheSize > 2*G) { 2255 // Code cache size larger than MAXINT is not supported. 2256 jio_fprintf(defaultStream::error_stream(), 2257 "Invalid ReservedCodeCacheSize=%dM. Must be at most %uM.\n", ReservedCodeCacheSize/M, 2258 (2*G)/M); 2259 status = false; 2260 } 2261 2262 status = status && verify_interval(TieredStartAtLevel, 0, 4, "TieredStartAtLevel"); 2263 status = status && verify_interval(TieredStopAtLevel, 0, 4, "TieredStopAtLevel"); 2264 2265 if (TieredStartAtLevel > TieredStopAtLevel) { 2266 jio_fprintf(defaultStream::error_stream(), 2267 "TieredStartAtLevel=%d must be <= TieredStopAtLevel=%d.\n", 2268 TieredStartAtLevel, TieredStopAtLevel); 2269 status = false; 2270 } 2271 2272 return status; 2273 } 2274 2275 bool Arguments::is_bad_option(const JavaVMOption* option, jboolean ignore, 2276 const char* option_type) { 2277 if (ignore) return false; 2278 2279 const char* spacer = " "; 2280 if (option_type == NULL) { 2281 option_type = ++spacer; // Set both to the empty string. 2282 } 2283 2284 if (os::obsolete_option(option)) { 2285 jio_fprintf(defaultStream::error_stream(), 2286 "Obsolete %s%soption: %s\n", option_type, spacer, 2287 option->optionString); 2288 return false; 2289 } else { 2290 jio_fprintf(defaultStream::error_stream(), 2291 "Unrecognized %s%soption: %s\n", option_type, spacer, |