src/share/vm/services/management.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 8059557_open Sdiff src/share/vm/services

src/share/vm/services/management.cpp

Print this page




1686         num_entries++;
1687       }
1688     }
1689     return num_entries;
1690   }
1691 JVM_END
1692 
1693 JVM_ENTRY(void, jmm_SetVMGlobal(JNIEnv *env, jstring flag_name, jvalue new_value))
1694   ResourceMark rm(THREAD);
1695 
1696   oop fn = JNIHandles::resolve_external_guard(flag_name);
1697   if (fn == NULL) {
1698     THROW_MSG(vmSymbols::java_lang_NullPointerException(),
1699               "The flag name cannot be null.");
1700   }
1701   char* name = java_lang_String::as_utf8_string(fn);
1702 
1703   FormatBuffer<80> err_msg("%s", "");
1704   int succeed = WriteableFlags::set_flag(name, new_value, Flag::MANAGEMENT, err_msg);
1705 
1706   if (succeed != WriteableFlags::SUCCESS) {
1707     if (succeed == WriteableFlags::MISSING_VALUE) {
1708       // missing value causes NPE to be thrown
1709       THROW(vmSymbols::java_lang_NullPointerException());
1710     } else {
1711       // all the other errors are reported as IAE with the appropriate error message
1712       THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
1713                 err_msg.buffer());
1714     }
1715   }
1716   assert(succeed == WriteableFlags::SUCCESS, "Setting flag should succeed");
1717 JVM_END
1718 
1719 class ThreadTimesClosure: public ThreadClosure {
1720  private:
1721   objArrayHandle _names_strings;
1722   char **_names_chars;
1723   typeArrayHandle _times;
1724   int _names_len;
1725   int _times_len;
1726   int _count;
1727 
1728  public:
1729   ThreadTimesClosure(objArrayHandle names, typeArrayHandle times);
1730   ~ThreadTimesClosure();
1731   virtual void do_thread(Thread* thread);
1732   void do_unlocked();
1733   int count() { return _count; }
1734 };
1735 
1736 ThreadTimesClosure::ThreadTimesClosure(objArrayHandle names,




1686         num_entries++;
1687       }
1688     }
1689     return num_entries;
1690   }
1691 JVM_END
1692 
1693 JVM_ENTRY(void, jmm_SetVMGlobal(JNIEnv *env, jstring flag_name, jvalue new_value))
1694   ResourceMark rm(THREAD);
1695 
1696   oop fn = JNIHandles::resolve_external_guard(flag_name);
1697   if (fn == NULL) {
1698     THROW_MSG(vmSymbols::java_lang_NullPointerException(),
1699               "The flag name cannot be null.");
1700   }
1701   char* name = java_lang_String::as_utf8_string(fn);
1702 
1703   FormatBuffer<80> err_msg("%s", "");
1704   int succeed = WriteableFlags::set_flag(name, new_value, Flag::MANAGEMENT, err_msg);
1705 
1706   if (succeed != Flag::SUCCESS) {
1707     if (succeed == Flag::MISSING_VALUE) {
1708       // missing value causes NPE to be thrown
1709       THROW(vmSymbols::java_lang_NullPointerException());
1710     } else {
1711       // all the other errors are reported as IAE with the appropriate error message
1712       THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
1713                 err_msg.buffer());
1714     }
1715   }
1716   assert(succeed == Flag::SUCCESS, "Setting flag should succeed");
1717 JVM_END
1718 
1719 class ThreadTimesClosure: public ThreadClosure {
1720  private:
1721   objArrayHandle _names_strings;
1722   char **_names_chars;
1723   typeArrayHandle _times;
1724   int _names_len;
1725   int _times_len;
1726   int _count;
1727 
1728  public:
1729   ThreadTimesClosure(objArrayHandle names, typeArrayHandle times);
1730   ~ThreadTimesClosure();
1731   virtual void do_thread(Thread* thread);
1732   void do_unlocked();
1733   int count() { return _count; }
1734 };
1735 
1736 ThreadTimesClosure::ThreadTimesClosure(objArrayHandle names,


src/share/vm/services/management.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File