src/share/vm/memory/metaspace.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 8038422 Sdiff src/share/vm/memory

src/share/vm/memory/metaspace.cpp

Print this page
8038422: CDS test failed: assert((size % os::vm_allocation_granularity()) == 0) failed when limiting SharedMiscDataSize


3078     MetaspaceSize = MaxMetaspaceSize;
3079   }
3080 
3081   MetaspaceSize = align_size_down_bounded(MetaspaceSize, _commit_alignment);
3082 
3083   assert(MetaspaceSize <= MaxMetaspaceSize, "MetaspaceSize should be limited by MaxMetaspaceSize");
3084 
3085   if (MetaspaceSize < 256*K) {
3086     vm_exit_during_initialization("Too small initial Metaspace size");
3087   }
3088 
3089   MinMetaspaceExpansion = align_size_down_bounded(MinMetaspaceExpansion, _commit_alignment);
3090   MaxMetaspaceExpansion = align_size_down_bounded(MaxMetaspaceExpansion, _commit_alignment);
3091 
3092   CompressedClassSpaceSize = align_size_down_bounded(CompressedClassSpaceSize, _reserve_alignment);
3093   set_compressed_class_space_size(CompressedClassSpaceSize);
3094 }
3095 
3096 void Metaspace::global_initialize() {
3097   // Initialize the alignment for shared spaces.
3098   int max_alignment = os::vm_page_size();
3099   size_t cds_total = 0;
3100 
3101   MetaspaceShared::set_max_alignment(max_alignment);
3102 
3103   if (DumpSharedSpaces) {
3104     SharedReadOnlySize  = align_size_up(SharedReadOnlySize,  max_alignment);
3105     SharedReadWriteSize = align_size_up(SharedReadWriteSize, max_alignment);
3106     SharedMiscDataSize  = align_size_up(SharedMiscDataSize,  max_alignment);
3107     SharedMiscCodeSize  = align_size_up(SharedMiscCodeSize,  max_alignment);
3108 
3109     // Initialize with the sum of the shared space sizes.  The read-only
3110     // and read write metaspace chunks will be allocated out of this and the
3111     // remainder is the misc code and data chunks.
3112     cds_total = FileMapInfo::shared_spaces_size();
3113     cds_total = align_size_up(cds_total, _reserve_alignment);
3114     _space_list = new VirtualSpaceList(cds_total/wordSize);
3115     _chunk_manager_metadata = new ChunkManager(SpecializedChunk, SmallChunk, MediumChunk);
3116 
3117     if (!_space_list->initialization_succeeded()) {
3118       vm_exit_during_initialization("Unable to dump shared archive.", NULL);




3078     MetaspaceSize = MaxMetaspaceSize;
3079   }
3080 
3081   MetaspaceSize = align_size_down_bounded(MetaspaceSize, _commit_alignment);
3082 
3083   assert(MetaspaceSize <= MaxMetaspaceSize, "MetaspaceSize should be limited by MaxMetaspaceSize");
3084 
3085   if (MetaspaceSize < 256*K) {
3086     vm_exit_during_initialization("Too small initial Metaspace size");
3087   }
3088 
3089   MinMetaspaceExpansion = align_size_down_bounded(MinMetaspaceExpansion, _commit_alignment);
3090   MaxMetaspaceExpansion = align_size_down_bounded(MaxMetaspaceExpansion, _commit_alignment);
3091 
3092   CompressedClassSpaceSize = align_size_down_bounded(CompressedClassSpaceSize, _reserve_alignment);
3093   set_compressed_class_space_size(CompressedClassSpaceSize);
3094 }
3095 
3096 void Metaspace::global_initialize() {
3097   // Initialize the alignment for shared spaces.
3098   int max_alignment = os::vm_allocation_granularity();
3099   size_t cds_total = 0;
3100 
3101   MetaspaceShared::set_max_alignment(max_alignment);
3102 
3103   if (DumpSharedSpaces) {
3104     SharedReadOnlySize  = align_size_up(SharedReadOnlySize,  max_alignment);
3105     SharedReadWriteSize = align_size_up(SharedReadWriteSize, max_alignment);
3106     SharedMiscDataSize  = align_size_up(SharedMiscDataSize,  max_alignment);
3107     SharedMiscCodeSize  = align_size_up(SharedMiscCodeSize,  max_alignment);
3108 
3109     // Initialize with the sum of the shared space sizes.  The read-only
3110     // and read write metaspace chunks will be allocated out of this and the
3111     // remainder is the misc code and data chunks.
3112     cds_total = FileMapInfo::shared_spaces_size();
3113     cds_total = align_size_up(cds_total, _reserve_alignment);
3114     _space_list = new VirtualSpaceList(cds_total/wordSize);
3115     _chunk_manager_metadata = new ChunkManager(SpecializedChunk, SmallChunk, MediumChunk);
3116 
3117     if (!_space_list->initialization_succeeded()) {
3118       vm_exit_during_initialization("Unable to dump shared archive.", NULL);


src/share/vm/memory/metaspace.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File