src/hotspot/share/code/codeCache.cpp
changeset 54983 81becad91321
parent 54901 631d51796dbf
child 55005 9b70ebd131b4
equal deleted inserted replaced
54982:b18c8301b8c2 54983:81becad91321
   281         non_nmethod_size/K, min_code_cache_size/K));
   281         non_nmethod_size/K, min_code_cache_size/K));
   282   }
   282   }
   283 
   283 
   284   // Verify sizes and update flag values
   284   // Verify sizes and update flag values
   285   assert(non_profiled_size + profiled_size + non_nmethod_size == cache_size, "Invalid code heap sizes");
   285   assert(non_profiled_size + profiled_size + non_nmethod_size == cache_size, "Invalid code heap sizes");
   286   FLAG_SET_ERGO(uintx, NonNMethodCodeHeapSize, non_nmethod_size);
   286   FLAG_SET_ERGO(NonNMethodCodeHeapSize, non_nmethod_size);
   287   FLAG_SET_ERGO(uintx, ProfiledCodeHeapSize, profiled_size);
   287   FLAG_SET_ERGO(ProfiledCodeHeapSize, profiled_size);
   288   FLAG_SET_ERGO(uintx, NonProfiledCodeHeapSize, non_profiled_size);
   288   FLAG_SET_ERGO(NonProfiledCodeHeapSize, non_profiled_size);
   289 
   289 
   290   // If large page support is enabled, align code heaps according to large
   290   // If large page support is enabled, align code heaps according to large
   291   // page size to make sure that code cache is covered by large pages.
   291   // page size to make sure that code cache is covered by large pages.
   292   const size_t alignment = MAX2(page_size(false, 8), (size_t) os::vm_allocation_granularity());
   292   const size_t alignment = MAX2(page_size(false, 8), (size_t) os::vm_allocation_granularity());
   293   non_nmethod_size = align_up(non_nmethod_size, alignment);
   293   non_nmethod_size = align_up(non_nmethod_size, alignment);
   939   if (SegmentedCodeCache) {
   939   if (SegmentedCodeCache) {
   940     // Use multiple code heaps
   940     // Use multiple code heaps
   941     initialize_heaps();
   941     initialize_heaps();
   942   } else {
   942   } else {
   943     // Use a single code heap
   943     // Use a single code heap
   944     FLAG_SET_ERGO(uintx, NonNMethodCodeHeapSize, 0);
   944     FLAG_SET_ERGO(NonNMethodCodeHeapSize, 0);
   945     FLAG_SET_ERGO(uintx, ProfiledCodeHeapSize, 0);
   945     FLAG_SET_ERGO(ProfiledCodeHeapSize, 0);
   946     FLAG_SET_ERGO(uintx, NonProfiledCodeHeapSize, 0);
   946     FLAG_SET_ERGO(NonProfiledCodeHeapSize, 0);
   947     ReservedCodeSpace rs = reserve_heap_memory(ReservedCodeCacheSize);
   947     ReservedCodeSpace rs = reserve_heap_memory(ReservedCodeCacheSize);
   948     add_heap(rs, "CodeCache", CodeBlobType::All);
   948     add_heap(rs, "CodeCache", CodeBlobType::All);
   949   }
   949   }
   950 
   950 
   951   // Initialize ICache flush mechanism
   951   // Initialize ICache flush mechanism