hotspot/src/share/vm/services/management.cpp
changeset 13952 e3cf184080bc
parent 13870 dd2c6a5a4722
child 13977 92de166c91b3
equal deleted inserted replaced
13918:b01a48301e67 13952:e3cf184080bc
   424 }
   424 }
   425 
   425 
   426 static void validate_thread_info_array(objArrayHandle infoArray_h, TRAPS) {
   426 static void validate_thread_info_array(objArrayHandle infoArray_h, TRAPS) {
   427   // check if the element of infoArray is of type ThreadInfo class
   427   // check if the element of infoArray is of type ThreadInfo class
   428   Klass* threadinfo_klass = Management::java_lang_management_ThreadInfo_klass(CHECK);
   428   Klass* threadinfo_klass = Management::java_lang_management_ThreadInfo_klass(CHECK);
   429   Klass* element_klass = objArrayKlass::cast(infoArray_h->klass())->element_klass();
   429   Klass* element_klass = ObjArrayKlass::cast(infoArray_h->klass())->element_klass();
   430   if (element_klass != threadinfo_klass) {
   430   if (element_klass != threadinfo_klass) {
   431     THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
   431     THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
   432               "infoArray element type is not ThreadInfo class");
   432               "infoArray element type is not ThreadInfo class");
   433   }
   433   }
   434 }
   434 }
  1713   if (names != NULL) {
  1713   if (names != NULL) {
  1714     // return the requested globals
  1714     // return the requested globals
  1715     objArrayOop ta = objArrayOop(JNIHandles::resolve_non_null(names));
  1715     objArrayOop ta = objArrayOop(JNIHandles::resolve_non_null(names));
  1716     objArrayHandle names_ah(THREAD, ta);
  1716     objArrayHandle names_ah(THREAD, ta);
  1717     // Make sure we have a String array
  1717     // Make sure we have a String array
  1718     Klass* element_klass = objArrayKlass::cast(names_ah->klass())->element_klass();
  1718     Klass* element_klass = ObjArrayKlass::cast(names_ah->klass())->element_klass();
  1719     if (element_klass != SystemDictionary::String_klass()) {
  1719     if (element_klass != SystemDictionary::String_klass()) {
  1720       THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(),
  1720       THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(),
  1721                  "Array element type is not String class", 0);
  1721                  "Array element type is not String class", 0);
  1722     }
  1722     }
  1723 
  1723 
  1889   }
  1889   }
  1890   objArrayOop na = objArrayOop(JNIHandles::resolve_non_null(names));
  1890   objArrayOop na = objArrayOop(JNIHandles::resolve_non_null(names));
  1891   objArrayHandle names_ah(THREAD, na);
  1891   objArrayHandle names_ah(THREAD, na);
  1892 
  1892 
  1893   // Make sure we have a String array
  1893   // Make sure we have a String array
  1894   Klass* element_klass = objArrayKlass::cast(names_ah->klass())->element_klass();
  1894   Klass* element_klass = ObjArrayKlass::cast(names_ah->klass())->element_klass();
  1895   if (element_klass != SystemDictionary::String_klass()) {
  1895   if (element_klass != SystemDictionary::String_klass()) {
  1896     THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(),
  1896     THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(),
  1897                "Array element type is not String class", 0);
  1897                "Array element type is not String class", 0);
  1898   }
  1898   }
  1899 
  1899 
  2006                "The length of the given MemoryUsage array does not match the number of memory pools.", 0);
  2006                "The length of the given MemoryUsage array does not match the number of memory pools.", 0);
  2007   }
  2007   }
  2008 
  2008 
  2009   // check if the element of array is of type MemoryUsage class
  2009   // check if the element of array is of type MemoryUsage class
  2010   Klass* usage_klass = Management::java_lang_management_MemoryUsage_klass(CHECK_0);
  2010   Klass* usage_klass = Management::java_lang_management_MemoryUsage_klass(CHECK_0);
  2011   Klass* element_klass = objArrayKlass::cast(array_h->klass())->element_klass();
  2011   Klass* element_klass = ObjArrayKlass::cast(array_h->klass())->element_klass();
  2012   if (element_klass != usage_klass) {
  2012   if (element_klass != usage_klass) {
  2013     THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(),
  2013     THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(),
  2014                "The element type is not MemoryUsage class", 0);
  2014                "The element type is not MemoryUsage class", 0);
  2015   }
  2015   }
  2016 
  2016 
  2154 
  2154 
  2155   objArrayOop ca = objArrayOop(JNIHandles::resolve_non_null(cmds));
  2155   objArrayOop ca = objArrayOop(JNIHandles::resolve_non_null(cmds));
  2156   objArrayHandle cmds_ah(THREAD, ca);
  2156   objArrayHandle cmds_ah(THREAD, ca);
  2157 
  2157 
  2158   // Make sure we have a String array
  2158   // Make sure we have a String array
  2159   Klass* element_klass = objArrayKlass::cast(cmds_ah->klass())->element_klass();
  2159   Klass* element_klass = ObjArrayKlass::cast(cmds_ah->klass())->element_klass();
  2160   if (element_klass != SystemDictionary::String_klass()) {
  2160   if (element_klass != SystemDictionary::String_klass()) {
  2161     THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
  2161     THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
  2162                "Array element type is not String class");
  2162                "Array element type is not String class");
  2163   }
  2163   }
  2164 
  2164