2531 CODE_CACHE_SIZE_LIMIT/M); 2532 status = false; 2533 } else if (NonNMethodCodeHeapSize < min_code_cache_size){ 2534 jio_fprintf(defaultStream::error_stream(), 2535 "Invalid NonNMethodCodeHeapSize=%dK. Must be at least %uK.\n", NonNMethodCodeHeapSize/K, 2536 min_code_cache_size/K); 2537 status = false; 2538 } else if ((!FLAG_IS_DEFAULT(NonNMethodCodeHeapSize) || !FLAG_IS_DEFAULT(ProfiledCodeHeapSize) || !FLAG_IS_DEFAULT(NonProfiledCodeHeapSize)) 2539 && (NonNMethodCodeHeapSize + NonProfiledCodeHeapSize + ProfiledCodeHeapSize) != ReservedCodeCacheSize) { 2540 jio_fprintf(defaultStream::error_stream(), 2541 "Invalid code heap sizes: NonNMethodCodeHeapSize(%dK) + ProfiledCodeHeapSize(%dK) + NonProfiledCodeHeapSize(%dK) = %dK. Must be equal to ReservedCodeCacheSize = %uK.\n", 2542 NonNMethodCodeHeapSize/K, ProfiledCodeHeapSize/K, NonProfiledCodeHeapSize/K, 2543 (NonNMethodCodeHeapSize + ProfiledCodeHeapSize + NonProfiledCodeHeapSize)/K, ReservedCodeCacheSize/K); 2544 status = false; 2545 } 2546 2547 if (!FLAG_IS_DEFAULT(CICompilerCount) && !FLAG_IS_DEFAULT(CICompilerCountPerCPU) && CICompilerCountPerCPU) { 2548 warning("The VM option CICompilerCountPerCPU overrides CICompilerCount."); 2549 } 2550 2551 return status; 2552 } 2553 2554 bool Arguments::is_bad_option(const JavaVMOption* option, jboolean ignore, 2555 const char* option_type) { 2556 if (ignore) return false; 2557 2558 const char* spacer = " "; 2559 if (option_type == NULL) { 2560 option_type = ++spacer; // Set both to the empty string. 2561 } 2562 2563 if (os::obsolete_option(option)) { 2564 jio_fprintf(defaultStream::error_stream(), 2565 "Obsolete %s%soption: %s\n", option_type, spacer, 2566 option->optionString); 2567 return false; 2568 } else { 2569 jio_fprintf(defaultStream::error_stream(), 2570 "Unrecognized %s%soption: %s\n", option_type, spacer, | 2531 CODE_CACHE_SIZE_LIMIT/M); 2532 status = false; 2533 } else if (NonNMethodCodeHeapSize < min_code_cache_size){ 2534 jio_fprintf(defaultStream::error_stream(), 2535 "Invalid NonNMethodCodeHeapSize=%dK. Must be at least %uK.\n", NonNMethodCodeHeapSize/K, 2536 min_code_cache_size/K); 2537 status = false; 2538 } else if ((!FLAG_IS_DEFAULT(NonNMethodCodeHeapSize) || !FLAG_IS_DEFAULT(ProfiledCodeHeapSize) || !FLAG_IS_DEFAULT(NonProfiledCodeHeapSize)) 2539 && (NonNMethodCodeHeapSize + NonProfiledCodeHeapSize + ProfiledCodeHeapSize) != ReservedCodeCacheSize) { 2540 jio_fprintf(defaultStream::error_stream(), 2541 "Invalid code heap sizes: NonNMethodCodeHeapSize(%dK) + ProfiledCodeHeapSize(%dK) + NonProfiledCodeHeapSize(%dK) = %dK. Must be equal to ReservedCodeCacheSize = %uK.\n", 2542 NonNMethodCodeHeapSize/K, ProfiledCodeHeapSize/K, NonProfiledCodeHeapSize/K, 2543 (NonNMethodCodeHeapSize + ProfiledCodeHeapSize + NonProfiledCodeHeapSize)/K, ReservedCodeCacheSize/K); 2544 status = false; 2545 } 2546 2547 if (!FLAG_IS_DEFAULT(CICompilerCount) && !FLAG_IS_DEFAULT(CICompilerCountPerCPU) && CICompilerCountPerCPU) { 2548 warning("The VM option CICompilerCountPerCPU overrides CICompilerCount."); 2549 } 2550 2551 #ifndef SUPPORT_RESERVED_STACK_AREA 2552 if (StackReservedPages != 0) { 2553 FLAG_SET_CMDLINE(intx, StackReservedPages, 0); 2554 warning("Reserved Stack Area not supported on this platform"); 2555 } 2556 #endif 2557 return status; 2558 } 2559 2560 bool Arguments::is_bad_option(const JavaVMOption* option, jboolean ignore, 2561 const char* option_type) { 2562 if (ignore) return false; 2563 2564 const char* spacer = " "; 2565 if (option_type == NULL) { 2566 option_type = ++spacer; // Set both to the empty string. 2567 } 2568 2569 if (os::obsolete_option(option)) { 2570 jio_fprintf(defaultStream::error_stream(), 2571 "Obsolete %s%soption: %s\n", option_type, spacer, 2572 option->optionString); 2573 return false; 2574 } else { 2575 jio_fprintf(defaultStream::error_stream(), 2576 "Unrecognized %s%soption: %s\n", option_type, spacer, |