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."); |