diff options
author | jwilhelm <none@none> | 2014-01-29 23:17:05 +0100 |
---|---|---|
committer | jwilhelm <none@none> | 2014-01-29 23:17:05 +0100 |
commit | 2358eb36ebfe8c71bbf0323a36d417d6882c93e9 (patch) | |
tree | 772c2e0a022c4a9c70457855db4c6650dd81dae2 /src/share/vm/services/management.cpp | |
parent | e2080cbe746ab56739d70d687fd3db860b0e45cc (diff) |
8028391: Make the Min/MaxHeapFreeRatio flags manageable
Summary: Made the flags Min- and MaxHeapFreeRatio manageable, and implemented support for these flags in ParallelGC.
Reviewed-by: sla, mgerdin, brutisso
Diffstat (limited to 'src/share/vm/services/management.cpp')
-rw-r--r-- | src/share/vm/services/management.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/share/vm/services/management.cpp b/src/share/vm/services/management.cpp index 9585960da..7d39a2e04 100644 --- a/src/share/vm/services/management.cpp +++ b/src/share/vm/services/management.cpp @@ -1830,6 +1830,18 @@ JVM_ENTRY(void, jmm_SetVMGlobal(JNIEnv *env, jstring flag_name, jvalue new_value succeed = CommandLineFlags::intxAtPut(name, &ivalue, Flag::MANAGEMENT); } else if (flag->is_uintx()) { uintx uvalue = (uintx)new_value.j; + + if (strncmp(name, "MaxHeapFreeRatio", 17) == 0) { + FormatBuffer<80> err_msg(""); + if (!Arguments::verify_MaxHeapFreeRatio(err_msg, uvalue)) { + THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), err_msg.buffer()); + } + } else if (strncmp(name, "MinHeapFreeRatio", 17) == 0) { + FormatBuffer<80> err_msg(""); + if (!Arguments::verify_MinHeapFreeRatio(err_msg, uvalue)) { + THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), err_msg.buffer()); + } + } succeed = CommandLineFlags::uintxAtPut(name, &uvalue, Flag::MANAGEMENT); } else if (flag->is_uint64_t()) { uint64_t uvalue = (uint64_t)new_value.j; |