提交 4d9472e7 编写于 作者: E ehelin

8025313: MetaspaceMemoryPool incorrectly reports undefined size for max

Reviewed-by: stefank, tschatzl
上级 fc25e668
...@@ -64,19 +64,21 @@ void CollectorPolicy::initialize_flags() { ...@@ -64,19 +64,21 @@ void CollectorPolicy::initialize_flags() {
vm_exit_during_initialization("Incompatible initial and maximum heap sizes specified"); vm_exit_during_initialization("Incompatible initial and maximum heap sizes specified");
} }
if (!is_size_aligned(MaxMetaspaceSize, max_alignment())) { // Do not use FLAG_SET_ERGO to update MaxMetaspaceSize, since this will
FLAG_SET_ERGO(uintx, MaxMetaspaceSize, // override if MaxMetaspaceSize was set on the command line or not.
restricted_align_down(MaxMetaspaceSize, max_alignment())); // This information is needed later to conform to the specification of the
} // java.lang.management.MemoryUsage API.
//
// Ideally, we would be able to set the default value of MaxMetaspaceSize in
// globals.hpp to the aligned value, but this is not possible, since the
// alignment depends on other flags being parsed.
MaxMetaspaceSize = restricted_align_down(MaxMetaspaceSize, max_alignment());
if (MetaspaceSize > MaxMetaspaceSize) { if (MetaspaceSize > MaxMetaspaceSize) {
FLAG_SET_ERGO(uintx, MetaspaceSize, MaxMetaspaceSize); MetaspaceSize = MaxMetaspaceSize;
} }
if (!is_size_aligned(MetaspaceSize, min_alignment())) { MetaspaceSize = restricted_align_down(MetaspaceSize, min_alignment());
FLAG_SET_ERGO(uintx, MetaspaceSize,
restricted_align_down(MetaspaceSize, min_alignment()));
}
assert(MetaspaceSize <= MaxMetaspaceSize, "Must be"); assert(MetaspaceSize <= MaxMetaspaceSize, "Must be");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册