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