3180 // alignment depends on other flags being parsed. 3181 MaxMetaspaceSize = align_size_down_bounded(MaxMetaspaceSize, _reserve_alignment); 3182 3183 if (MetaspaceSize > MaxMetaspaceSize) { 3184 MetaspaceSize = MaxMetaspaceSize; 3185 } 3186 3187 MetaspaceSize = align_size_down_bounded(MetaspaceSize, _commit_alignment); 3188 3189 assert(MetaspaceSize <= MaxMetaspaceSize, "MetaspaceSize should be limited by MaxMetaspaceSize"); 3190 3191 if (MetaspaceSize < 256*K) { 3192 vm_exit_during_initialization("Too small initial Metaspace size"); 3193 } 3194 3195 MinMetaspaceExpansion = align_size_down_bounded(MinMetaspaceExpansion, _commit_alignment); 3196 MaxMetaspaceExpansion = align_size_down_bounded(MaxMetaspaceExpansion, _commit_alignment); 3197 3198 CompressedClassSpaceSize = align_size_down_bounded(CompressedClassSpaceSize, _reserve_alignment); 3199 set_compressed_class_space_size(CompressedClassSpaceSize); 3200 } 3201 3202 void Metaspace::global_initialize() { 3203 MetaspaceGC::initialize(); 3204 3205 // Initialize the alignment for shared spaces. 3206 int max_alignment = os::vm_allocation_granularity(); 3207 size_t cds_total = 0; 3208 3209 MetaspaceShared::set_max_alignment(max_alignment); 3210 3211 if (DumpSharedSpaces) { 3212 #if INCLUDE_CDS 3213 MetaspaceShared::estimate_regions_size(); 3214 3215 SharedReadOnlySize = align_size_up(SharedReadOnlySize, max_alignment); 3216 SharedReadWriteSize = align_size_up(SharedReadWriteSize, max_alignment); 3217 SharedMiscDataSize = align_size_up(SharedMiscDataSize, max_alignment); 3218 SharedMiscCodeSize = align_size_up(SharedMiscCodeSize, max_alignment); 3219 | 3180 // alignment depends on other flags being parsed. 3181 MaxMetaspaceSize = align_size_down_bounded(MaxMetaspaceSize, _reserve_alignment); 3182 3183 if (MetaspaceSize > MaxMetaspaceSize) { 3184 MetaspaceSize = MaxMetaspaceSize; 3185 } 3186 3187 MetaspaceSize = align_size_down_bounded(MetaspaceSize, _commit_alignment); 3188 3189 assert(MetaspaceSize <= MaxMetaspaceSize, "MetaspaceSize should be limited by MaxMetaspaceSize"); 3190 3191 if (MetaspaceSize < 256*K) { 3192 vm_exit_during_initialization("Too small initial Metaspace size"); 3193 } 3194 3195 MinMetaspaceExpansion = align_size_down_bounded(MinMetaspaceExpansion, _commit_alignment); 3196 MaxMetaspaceExpansion = align_size_down_bounded(MaxMetaspaceExpansion, _commit_alignment); 3197 3198 CompressedClassSpaceSize = align_size_down_bounded(CompressedClassSpaceSize, _reserve_alignment); 3199 set_compressed_class_space_size(CompressedClassSpaceSize); 3200 3201 size_t min_metaspace_sz = InitialBootClassLoaderMetaspaceSize + 3202 (MediumChunk * HeapWordSize); 3203 if (!UseCompressedClassPointers && (min_metaspace_sz >= MaxMetaspaceSize)) { 3204 FLAG_SET_ERGO(size_t, InitialBootClassLoaderMetaspaceSize, 3205 min_metaspace_sz); 3206 } 3207 3208 } 3209 3210 void Metaspace::global_initialize() { 3211 MetaspaceGC::initialize(); 3212 3213 // Initialize the alignment for shared spaces. 3214 int max_alignment = os::vm_allocation_granularity(); 3215 size_t cds_total = 0; 3216 3217 MetaspaceShared::set_max_alignment(max_alignment); 3218 3219 if (DumpSharedSpaces) { 3220 #if INCLUDE_CDS 3221 MetaspaceShared::estimate_regions_size(); 3222 3223 SharedReadOnlySize = align_size_up(SharedReadOnlySize, max_alignment); 3224 SharedReadWriteSize = align_size_up(SharedReadWriteSize, max_alignment); 3225 SharedMiscDataSize = align_size_up(SharedMiscDataSize, max_alignment); 3226 SharedMiscCodeSize = align_size_up(SharedMiscCodeSize, max_alignment); 3227 |