comparison src/share/vm/services/management.cpp @ 14518:d8041d695d19

Merged with jdk9/dev/hotspot changeset 3812c088b945
author twisti
date Tue, 11 Mar 2014 18:45:59 -0700
parents 44315152d434
children 4ca6dc0799b6
comparison
equal deleted inserted replaced
14141:f97c5ec83832 14518:d8041d695d19
1722 global->origin = JMM_VMGLOBAL_ORIGIN_MANAGEMENT; 1722 global->origin = JMM_VMGLOBAL_ORIGIN_MANAGEMENT;
1723 break; 1723 break;
1724 case Flag::ERGONOMIC: 1724 case Flag::ERGONOMIC:
1725 global->origin = JMM_VMGLOBAL_ORIGIN_ERGONOMIC; 1725 global->origin = JMM_VMGLOBAL_ORIGIN_ERGONOMIC;
1726 break; 1726 break;
1727 case Flag::ATTACH_ON_DEMAND:
1728 global->origin = JMM_VMGLOBAL_ORIGIN_ATTACH_ON_DEMAND;
1729 break;
1727 default: 1730 default:
1728 global->origin = JMM_VMGLOBAL_ORIGIN_OTHER; 1731 global->origin = JMM_VMGLOBAL_ORIGIN_OTHER;
1729 } 1732 }
1730 1733
1731 return true; 1734 return true;
1819 if (!flag->is_writeable()) { 1822 if (!flag->is_writeable()) {
1820 THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), 1823 THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
1821 "This flag is not writeable."); 1824 "This flag is not writeable.");
1822 } 1825 }
1823 1826
1824 bool succeed; 1827 bool succeed = false;
1825 if (flag->is_bool()) { 1828 if (flag->is_bool()) {
1826 bool bvalue = (new_value.z == JNI_TRUE ? true : false); 1829 bool bvalue = (new_value.z == JNI_TRUE ? true : false);
1827 succeed = CommandLineFlags::boolAtPut(name, &bvalue, Flag::MANAGEMENT); 1830 succeed = CommandLineFlags::boolAtPut(name, &bvalue, Flag::MANAGEMENT);
1828 } else if (flag->is_intx()) { 1831 } else if (flag->is_intx()) {
1829 intx ivalue = (intx)new_value.j; 1832 intx ivalue = (intx)new_value.j;
1830 succeed = CommandLineFlags::intxAtPut(name, &ivalue, Flag::MANAGEMENT); 1833 succeed = CommandLineFlags::intxAtPut(name, &ivalue, Flag::MANAGEMENT);
1831 } else if (flag->is_uintx()) { 1834 } else if (flag->is_uintx()) {
1832 uintx uvalue = (uintx)new_value.j; 1835 uintx uvalue = (uintx)new_value.j;
1836
1837 if (strncmp(name, "MaxHeapFreeRatio", 17) == 0) {
1838 FormatBuffer<80> err_msg("");
1839 if (!Arguments::verify_MaxHeapFreeRatio(err_msg, uvalue)) {
1840 THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), err_msg.buffer());
1841 }
1842 } else if (strncmp(name, "MinHeapFreeRatio", 17) == 0) {
1843 FormatBuffer<80> err_msg("");
1844 if (!Arguments::verify_MinHeapFreeRatio(err_msg, uvalue)) {
1845 THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), err_msg.buffer());
1846 }
1847 }
1833 succeed = CommandLineFlags::uintxAtPut(name, &uvalue, Flag::MANAGEMENT); 1848 succeed = CommandLineFlags::uintxAtPut(name, &uvalue, Flag::MANAGEMENT);
1834 } else if (flag->is_uint64_t()) { 1849 } else if (flag->is_uint64_t()) {
1835 uint64_t uvalue = (uint64_t)new_value.j; 1850 uint64_t uvalue = (uint64_t)new_value.j;
1836 succeed = CommandLineFlags::uint64_tAtPut(name, &uvalue, Flag::MANAGEMENT); 1851 succeed = CommandLineFlags::uint64_tAtPut(name, &uvalue, Flag::MANAGEMENT);
1837 } else if (flag->is_ccstr()) { 1852 } else if (flag->is_ccstr()) {
1839 if (str == NULL) { 1854 if (str == NULL) {
1840 THROW(vmSymbols::java_lang_NullPointerException()); 1855 THROW(vmSymbols::java_lang_NullPointerException());
1841 } 1856 }
1842 ccstr svalue = java_lang_String::as_utf8_string(str); 1857 ccstr svalue = java_lang_String::as_utf8_string(str);
1843 succeed = CommandLineFlags::ccstrAtPut(name, &svalue, Flag::MANAGEMENT); 1858 succeed = CommandLineFlags::ccstrAtPut(name, &svalue, Flag::MANAGEMENT);
1859 if (succeed) {
1860 FREE_C_HEAP_ARRAY(char, svalue, mtInternal);
1861 }
1844 } 1862 }
1845 assert(succeed, "Setting flag should succeed"); 1863 assert(succeed, "Setting flag should succeed");
1846 JVM_END 1864 JVM_END
1847 1865
1848 class ThreadTimesClosure: public ThreadClosure { 1866 class ThreadTimesClosure: public ThreadClosure {