comparison src/share/vm/services/management.cpp @ 14183:6c583aa36bc9

8029070: memory leak in jmm_SetVMGlobal Reviewed-by: kvn, dholmes
author iignatyev
date Mon, 23 Dec 2013 20:56:18 +0400
parents e4f478e7781b
children 1a899ea6b7ed
comparison
equal deleted inserted replaced
14181:27c84ba76954 14183:6c583aa36bc9
1819 if (!flag->is_writeable()) { 1819 if (!flag->is_writeable()) {
1820 THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), 1820 THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
1821 "This flag is not writeable."); 1821 "This flag is not writeable.");
1822 } 1822 }
1823 1823
1824 bool succeed; 1824 bool succeed = false;
1825 if (flag->is_bool()) { 1825 if (flag->is_bool()) {
1826 bool bvalue = (new_value.z == JNI_TRUE ? true : false); 1826 bool bvalue = (new_value.z == JNI_TRUE ? true : false);
1827 succeed = CommandLineFlags::boolAtPut(name, &bvalue, Flag::MANAGEMENT); 1827 succeed = CommandLineFlags::boolAtPut(name, &bvalue, Flag::MANAGEMENT);
1828 } else if (flag->is_intx()) { 1828 } else if (flag->is_intx()) {
1829 intx ivalue = (intx)new_value.j; 1829 intx ivalue = (intx)new_value.j;
1839 if (str == NULL) { 1839 if (str == NULL) {
1840 THROW(vmSymbols::java_lang_NullPointerException()); 1840 THROW(vmSymbols::java_lang_NullPointerException());
1841 } 1841 }
1842 ccstr svalue = java_lang_String::as_utf8_string(str); 1842 ccstr svalue = java_lang_String::as_utf8_string(str);
1843 succeed = CommandLineFlags::ccstrAtPut(name, &svalue, Flag::MANAGEMENT); 1843 succeed = CommandLineFlags::ccstrAtPut(name, &svalue, Flag::MANAGEMENT);
1844 if (succeed) {
1845 FREE_C_HEAP_ARRAY(char, svalue, mtInternal);
1846 }
1844 } 1847 }
1845 assert(succeed, "Setting flag should succeed"); 1848 assert(succeed, "Setting flag should succeed");
1846 JVM_END 1849 JVM_END
1847 1850
1848 class ThreadTimesClosure: public ThreadClosure { 1851 class ThreadTimesClosure: public ThreadClosure {