hotspot/src/share/vm/runtime/arguments.cpp
changeset 34186 69c8391e72e1
parent 34185 ee71c590a456
parent 34182 82d1b1696016
child 34211 d25c2fc1e248
equal deleted inserted replaced
34185:ee71c590a456 34186:69c8391e72e1
  1464                   MIN2(CODE_CACHE_DEFAULT_LIMIT, ReservedCodeCacheSize * 5));
  1464                   MIN2(CODE_CACHE_DEFAULT_LIMIT, ReservedCodeCacheSize * 5));
  1465   }
  1465   }
  1466   // Enable SegmentedCodeCache if TieredCompilation is enabled and ReservedCodeCacheSize >= 240M
  1466   // Enable SegmentedCodeCache if TieredCompilation is enabled and ReservedCodeCacheSize >= 240M
  1467   if (FLAG_IS_DEFAULT(SegmentedCodeCache) && ReservedCodeCacheSize >= 240*M) {
  1467   if (FLAG_IS_DEFAULT(SegmentedCodeCache) && ReservedCodeCacheSize >= 240*M) {
  1468     FLAG_SET_ERGO(bool, SegmentedCodeCache, true);
  1468     FLAG_SET_ERGO(bool, SegmentedCodeCache, true);
  1469 
       
  1470     if (FLAG_IS_DEFAULT(ReservedCodeCacheSize)) {
       
  1471       // Multiply sizes by 5 but fix NonNMethodCodeHeapSize (distribute among non-profiled and profiled code heap)
       
  1472       if (FLAG_IS_DEFAULT(ProfiledCodeHeapSize)) {
       
  1473         FLAG_SET_ERGO(uintx, ProfiledCodeHeapSize, ProfiledCodeHeapSize * 5 + NonNMethodCodeHeapSize * 2);
       
  1474       }
       
  1475       if (FLAG_IS_DEFAULT(NonProfiledCodeHeapSize)) {
       
  1476         FLAG_SET_ERGO(uintx, NonProfiledCodeHeapSize, NonProfiledCodeHeapSize * 5 + NonNMethodCodeHeapSize * 2);
       
  1477       }
       
  1478       // Check consistency of code heap sizes
       
  1479       if ((NonNMethodCodeHeapSize + NonProfiledCodeHeapSize + ProfiledCodeHeapSize) != ReservedCodeCacheSize) {
       
  1480         jio_fprintf(defaultStream::error_stream(),
       
  1481                     "Invalid code heap sizes: NonNMethodCodeHeapSize(%dK) + ProfiledCodeHeapSize(%dK) + NonProfiledCodeHeapSize(%dK) = %dK. Must be equal to ReservedCodeCacheSize = %uK.\n",
       
  1482                     NonNMethodCodeHeapSize/K, ProfiledCodeHeapSize/K, NonProfiledCodeHeapSize/K,
       
  1483                     (NonNMethodCodeHeapSize + ProfiledCodeHeapSize + NonProfiledCodeHeapSize)/K, ReservedCodeCacheSize/K);
       
  1484         vm_exit(1);
       
  1485       }
       
  1486     }
       
  1487   }
  1469   }
  1488   if (!UseInterpreter) { // -Xcomp
  1470   if (!UseInterpreter) { // -Xcomp
  1489     Tier3InvokeNotifyFreqLog = 0;
  1471     Tier3InvokeNotifyFreqLog = 0;
  1490     Tier4InvocationThreshold = 0;
  1472     Tier4InvocationThreshold = 0;
  1491   }
  1473   }
  2531     // Code cache size larger than CODE_CACHE_SIZE_LIMIT is not supported.
  2513     // Code cache size larger than CODE_CACHE_SIZE_LIMIT is not supported.
  2532     jio_fprintf(defaultStream::error_stream(),
  2514     jio_fprintf(defaultStream::error_stream(),
  2533                 "Invalid ReservedCodeCacheSize=%dM. Must be at most %uM.\n", ReservedCodeCacheSize/M,
  2515                 "Invalid ReservedCodeCacheSize=%dM. Must be at most %uM.\n", ReservedCodeCacheSize/M,
  2534                 CODE_CACHE_SIZE_LIMIT/M);
  2516                 CODE_CACHE_SIZE_LIMIT/M);
  2535     status = false;
  2517     status = false;
  2536   } else if (NonNMethodCodeHeapSize < min_code_cache_size){
  2518   } else if (NonNMethodCodeHeapSize < min_code_cache_size) {
  2537     jio_fprintf(defaultStream::error_stream(),
  2519     jio_fprintf(defaultStream::error_stream(),
  2538                 "Invalid NonNMethodCodeHeapSize=%dK. Must be at least %uK.\n", NonNMethodCodeHeapSize/K,
  2520                 "Invalid NonNMethodCodeHeapSize=%dK. Must be at least %uK.\n", NonNMethodCodeHeapSize/K,
  2539                 min_code_cache_size/K);
  2521                 min_code_cache_size/K);
  2540     status = false;
       
  2541   } else if ((!FLAG_IS_DEFAULT(NonNMethodCodeHeapSize) || !FLAG_IS_DEFAULT(ProfiledCodeHeapSize) || !FLAG_IS_DEFAULT(NonProfiledCodeHeapSize))
       
  2542              && (NonNMethodCodeHeapSize + NonProfiledCodeHeapSize + ProfiledCodeHeapSize) != ReservedCodeCacheSize) {
       
  2543     jio_fprintf(defaultStream::error_stream(),
       
  2544                 "Invalid code heap sizes: NonNMethodCodeHeapSize(%dK) + ProfiledCodeHeapSize(%dK) + NonProfiledCodeHeapSize(%dK) = %dK. Must be equal to ReservedCodeCacheSize = %uK.\n",
       
  2545                 NonNMethodCodeHeapSize/K, ProfiledCodeHeapSize/K, NonProfiledCodeHeapSize/K,
       
  2546                 (NonNMethodCodeHeapSize + ProfiledCodeHeapSize + NonProfiledCodeHeapSize)/K, ReservedCodeCacheSize/K);
       
  2547     status = false;
  2522     status = false;
  2548   }
  2523   }
  2549 
  2524 
  2550   if (!FLAG_IS_DEFAULT(CICompilerCount) && !FLAG_IS_DEFAULT(CICompilerCountPerCPU) && CICompilerCountPerCPU) {
  2525   if (!FLAG_IS_DEFAULT(CICompilerCount) && !FLAG_IS_DEFAULT(CICompilerCountPerCPU) && CICompilerCountPerCPU) {
  2551     warning("The VM option CICompilerCountPerCPU overrides CICompilerCount.");
  2526     warning("The VM option CICompilerCountPerCPU overrides CICompilerCount.");