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




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




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


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