Mercurial > hg > graal-compiler
comparison src/share/vm/services/management.cpp @ 12816:2720ab7a0d70
Merge
author | ccheung |
---|---|
date | Fri, 04 Oct 2013 21:00:43 -0700 |
parents | 72b7e96c1922 |
children | e4f478e7781b |
comparison
equal
deleted
inserted
replaced
12815:4212bfb33d76 | 12816:2720ab7a0d70 |
---|---|
1641 nFlags, CHECK_0); | 1641 nFlags, CHECK_0); |
1642 objArrayHandle flags_ah(THREAD, r); | 1642 objArrayHandle flags_ah(THREAD, r); |
1643 int num_entries = 0; | 1643 int num_entries = 0; |
1644 for (int i = 0; i < nFlags; i++) { | 1644 for (int i = 0; i < nFlags; i++) { |
1645 Flag* flag = &Flag::flags[i]; | 1645 Flag* flag = &Flag::flags[i]; |
1646 // Exclude notproduct and develop flags in product builds. | |
1647 if (flag->is_constant_in_binary()) { | |
1648 continue; | |
1649 } | |
1646 // Exclude the locked (experimental, diagnostic) flags | 1650 // Exclude the locked (experimental, diagnostic) flags |
1647 if (flag->is_unlocked() || flag->is_unlocker()) { | 1651 if (flag->is_unlocked() || flag->is_unlocker()) { |
1648 Handle s = java_lang_String::create_from_str(flag->name, CHECK_0); | 1652 Handle s = java_lang_String::create_from_str(flag->_name, CHECK_0); |
1649 flags_ah->obj_at_put(num_entries, s()); | 1653 flags_ah->obj_at_put(num_entries, s()); |
1650 num_entries++; | 1654 num_entries++; |
1651 } | 1655 } |
1652 } | 1656 } |
1653 | 1657 |
1667 // can't be determined, true otherwise. If false is returned, then *global | 1671 // can't be determined, true otherwise. If false is returned, then *global |
1668 // will be incomplete and invalid. | 1672 // will be incomplete and invalid. |
1669 bool add_global_entry(JNIEnv* env, Handle name, jmmVMGlobal *global, Flag *flag, TRAPS) { | 1673 bool add_global_entry(JNIEnv* env, Handle name, jmmVMGlobal *global, Flag *flag, TRAPS) { |
1670 Handle flag_name; | 1674 Handle flag_name; |
1671 if (name() == NULL) { | 1675 if (name() == NULL) { |
1672 flag_name = java_lang_String::create_from_str(flag->name, CHECK_false); | 1676 flag_name = java_lang_String::create_from_str(flag->_name, CHECK_false); |
1673 } else { | 1677 } else { |
1674 flag_name = name; | 1678 flag_name = name; |
1675 } | 1679 } |
1676 global->name = (jstring)JNIHandles::make_local(env, flag_name()); | 1680 global->name = (jstring)JNIHandles::make_local(env, flag_name()); |
1677 | 1681 |
1696 return false; | 1700 return false; |
1697 } | 1701 } |
1698 | 1702 |
1699 global->writeable = flag->is_writeable(); | 1703 global->writeable = flag->is_writeable(); |
1700 global->external = flag->is_external(); | 1704 global->external = flag->is_external(); |
1701 switch (flag->origin) { | 1705 switch (flag->get_origin()) { |
1702 case DEFAULT: | 1706 case Flag::DEFAULT: |
1703 global->origin = JMM_VMGLOBAL_ORIGIN_DEFAULT; | 1707 global->origin = JMM_VMGLOBAL_ORIGIN_DEFAULT; |
1704 break; | 1708 break; |
1705 case COMMAND_LINE: | 1709 case Flag::COMMAND_LINE: |
1706 global->origin = JMM_VMGLOBAL_ORIGIN_COMMAND_LINE; | 1710 global->origin = JMM_VMGLOBAL_ORIGIN_COMMAND_LINE; |
1707 break; | 1711 break; |
1708 case ENVIRON_VAR: | 1712 case Flag::ENVIRON_VAR: |
1709 global->origin = JMM_VMGLOBAL_ORIGIN_ENVIRON_VAR; | 1713 global->origin = JMM_VMGLOBAL_ORIGIN_ENVIRON_VAR; |
1710 break; | 1714 break; |
1711 case CONFIG_FILE: | 1715 case Flag::CONFIG_FILE: |
1712 global->origin = JMM_VMGLOBAL_ORIGIN_CONFIG_FILE; | 1716 global->origin = JMM_VMGLOBAL_ORIGIN_CONFIG_FILE; |
1713 break; | 1717 break; |
1714 case MANAGEMENT: | 1718 case Flag::MANAGEMENT: |
1715 global->origin = JMM_VMGLOBAL_ORIGIN_MANAGEMENT; | 1719 global->origin = JMM_VMGLOBAL_ORIGIN_MANAGEMENT; |
1716 break; | 1720 break; |
1717 case ERGONOMIC: | 1721 case Flag::ERGONOMIC: |
1718 global->origin = JMM_VMGLOBAL_ORIGIN_ERGONOMIC; | 1722 global->origin = JMM_VMGLOBAL_ORIGIN_ERGONOMIC; |
1719 break; | 1723 break; |
1720 default: | 1724 default: |
1721 global->origin = JMM_VMGLOBAL_ORIGIN_OTHER; | 1725 global->origin = JMM_VMGLOBAL_ORIGIN_OTHER; |
1722 } | 1726 } |
1779 int nFlags = (int) Flag::numFlags - 1; | 1783 int nFlags = (int) Flag::numFlags - 1; |
1780 Handle null_h; | 1784 Handle null_h; |
1781 int num_entries = 0; | 1785 int num_entries = 0; |
1782 for (int i = 0; i < nFlags && num_entries < count; i++) { | 1786 for (int i = 0; i < nFlags && num_entries < count; i++) { |
1783 Flag* flag = &Flag::flags[i]; | 1787 Flag* flag = &Flag::flags[i]; |
1788 // Exclude notproduct and develop flags in product builds. | |
1789 if (flag->is_constant_in_binary()) { | |
1790 continue; | |
1791 } | |
1784 // Exclude the locked (diagnostic, experimental) flags | 1792 // Exclude the locked (diagnostic, experimental) flags |
1785 if ((flag->is_unlocked() || flag->is_unlocker()) && | 1793 if ((flag->is_unlocked() || flag->is_unlocker()) && |
1786 add_global_entry(env, null_h, &globals[num_entries], flag, THREAD)) { | 1794 add_global_entry(env, null_h, &globals[num_entries], flag, THREAD)) { |
1787 num_entries++; | 1795 num_entries++; |
1788 } | 1796 } |
1811 } | 1819 } |
1812 | 1820 |
1813 bool succeed; | 1821 bool succeed; |
1814 if (flag->is_bool()) { | 1822 if (flag->is_bool()) { |
1815 bool bvalue = (new_value.z == JNI_TRUE ? true : false); | 1823 bool bvalue = (new_value.z == JNI_TRUE ? true : false); |
1816 succeed = CommandLineFlags::boolAtPut(name, &bvalue, MANAGEMENT); | 1824 succeed = CommandLineFlags::boolAtPut(name, &bvalue, Flag::MANAGEMENT); |
1817 } else if (flag->is_intx()) { | 1825 } else if (flag->is_intx()) { |
1818 intx ivalue = (intx)new_value.j; | 1826 intx ivalue = (intx)new_value.j; |
1819 succeed = CommandLineFlags::intxAtPut(name, &ivalue, MANAGEMENT); | 1827 succeed = CommandLineFlags::intxAtPut(name, &ivalue, Flag::MANAGEMENT); |
1820 } else if (flag->is_uintx()) { | 1828 } else if (flag->is_uintx()) { |
1821 uintx uvalue = (uintx)new_value.j; | 1829 uintx uvalue = (uintx)new_value.j; |
1822 succeed = CommandLineFlags::uintxAtPut(name, &uvalue, MANAGEMENT); | 1830 succeed = CommandLineFlags::uintxAtPut(name, &uvalue, Flag::MANAGEMENT); |
1823 } else if (flag->is_uint64_t()) { | 1831 } else if (flag->is_uint64_t()) { |
1824 uint64_t uvalue = (uint64_t)new_value.j; | 1832 uint64_t uvalue = (uint64_t)new_value.j; |
1825 succeed = CommandLineFlags::uint64_tAtPut(name, &uvalue, MANAGEMENT); | 1833 succeed = CommandLineFlags::uint64_tAtPut(name, &uvalue, Flag::MANAGEMENT); |
1826 } else if (flag->is_ccstr()) { | 1834 } else if (flag->is_ccstr()) { |
1827 oop str = JNIHandles::resolve_external_guard(new_value.l); | 1835 oop str = JNIHandles::resolve_external_guard(new_value.l); |
1828 if (str == NULL) { | 1836 if (str == NULL) { |
1829 THROW(vmSymbols::java_lang_NullPointerException()); | 1837 THROW(vmSymbols::java_lang_NullPointerException()); |
1830 } | 1838 } |
1831 ccstr svalue = java_lang_String::as_utf8_string(str); | 1839 ccstr svalue = java_lang_String::as_utf8_string(str); |
1832 succeed = CommandLineFlags::ccstrAtPut(name, &svalue, MANAGEMENT); | 1840 succeed = CommandLineFlags::ccstrAtPut(name, &svalue, Flag::MANAGEMENT); |
1833 } | 1841 } |
1834 assert(succeed, "Setting flag should succeed"); | 1842 assert(succeed, "Setting flag should succeed"); |
1835 JVM_END | 1843 JVM_END |
1836 | 1844 |
1837 class ThreadTimesClosure: public ThreadClosure { | 1845 class ThreadTimesClosure: public ThreadClosure { |