Mercurial > hg > truffle
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 { |