src/share/vm/memory/metaspace.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/memory/metaspace.cpp Thu Dec 4 22:41:02 2014
--- new/src/share/vm/memory/metaspace.cpp Thu Dec 4 22:41:01 2014
*** 3155,3165 ****
--- 3155,3183 ----
SharedReadOnlySize = align_size_up(SharedReadOnlySize, max_alignment);
SharedReadWriteSize = align_size_up(SharedReadWriteSize, max_alignment);
SharedMiscDataSize = align_size_up(SharedMiscDataSize, max_alignment);
SharedMiscCodeSize = align_size_up(SharedMiscCodeSize, max_alignment);
// the min_misc_code_size estimate is based on MetaspaceShared::generate_vtable_methods()
+ // make sure SharedReadOnlySize and SharedReadWriteSize are not less than
+ // the minimum values.
+ if (SharedReadOnlySize < MetaspaceShared::min_ro_size){
+ report_out_of_shared_space(SharedReadOnly);
+ }
+
+ if (SharedReadWriteSize < MetaspaceShared::min_rw_size){
+ report_out_of_shared_space(SharedReadWrite);
+ }
+
+ // the min_misc_data_size and min_misc_code_size estimates are based on
+ // MetaspaceShared::generate_vtable_methods()
+ uint min_misc_data_size = align_size_up(
+ MetaspaceShared::num_virtuals * MetaspaceShared::vtbl_list_size * sizeof(void*), max_alignment);
+
+ if (SharedMiscDataSize < min_misc_data_size) {
+ report_out_of_shared_space(SharedMiscData);
+ }
+
uintx min_misc_code_size = align_size_up(
(MetaspaceShared::num_virtuals * MetaspaceShared::vtbl_list_size) *
(sizeof(void*) + MetaspaceShared::vtbl_method_size) + MetaspaceShared::vtbl_common_code_size,
max_alignment);
src/share/vm/memory/metaspace.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File