aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/services/management.cpp
diff options
context:
space:
mode:
authorjwilhelm <none@none>2014-01-29 23:17:05 +0100
committerjwilhelm <none@none>2014-01-29 23:17:05 +0100
commit2358eb36ebfe8c71bbf0323a36d417d6882c93e9 (patch)
tree772c2e0a022c4a9c70457855db4c6650dd81dae2 /src/share/vm/services/management.cpp
parente2080cbe746ab56739d70d687fd3db860b0e45cc (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.cpp12
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;