8176831: Dead code: function jmm_GetLoadedClasses is not used in jmm_interface
authorsspitsyn
Fri, 17 Mar 2017 08:19:05 -0700
changeset 46335 da075aa9241f
parent 46333 cef2c78aaa56
child 46336 676abd5f6407
8176831: Dead code: function jmm_GetLoadedClasses is not used in jmm_interface Summary: Remove the dead code Reviewed-by: dholmes, coleenp
hotspot/src/share/vm/services/classLoadingService.cpp
hotspot/src/share/vm/services/classLoadingService.hpp
hotspot/src/share/vm/services/management.cpp
--- a/hotspot/src/share/vm/services/classLoadingService.cpp	Wed Dec 14 09:14:16 2016 +0100
+++ b/hotspot/src/share/vm/services/classLoadingService.cpp	Fri Mar 17 08:19:05 2017 -0700
@@ -197,26 +197,4 @@
   LogConfiguration::configure_stdout(level, false, LOG_TAGS(class, unload));
 }
 
-GrowableArray<Klass*>* LoadedClassesEnumerator::_loaded_classes = NULL;
-
-LoadedClassesEnumerator::LoadedClassesEnumerator() {
-
-  int init_size = ClassLoadingService::loaded_class_count();
-  _klass_array = new GrowableArray<Klass*>(init_size);
-
-  // For consistency of the loaded classes, grab the SystemDictionary lock
-  MutexLocker sd_mutex(SystemDictionary_lock);
-
-  // Set _loaded_classes and begin enumerating all classes.
-  // Only one thread will do the enumeration at a time.
-  // These static variables are needed and they are used by the static method
-  // add_loaded_class called from classes_do().
-  _loaded_classes = _klass_array;
-
-  SystemDictionary::classes_do(&add_loaded_class);
-
-  // FIXME: Exclude array klasses for now
-  // Universe::basic_type_classes_do(&add_loaded_class);
-}
-
 #endif // INCLUDE_MANAGEMENT
--- a/hotspot/src/share/vm/services/classLoadingService.hpp	Wed Dec 14 09:14:16 2016 +0100
+++ b/hotspot/src/share/vm/services/classLoadingService.hpp	Fri Mar 17 08:19:05 2017 -0700
@@ -117,28 +117,4 @@
   }
 };
 
-// FIXME: make this piece of code to be shared by M&M and JVMTI
-class LoadedClassesEnumerator : public StackObj {
-private:
-  static GrowableArray<Klass*>* _loaded_classes;
-  GrowableArray<Klass*>* _klass_array;
-
-public:
-  LoadedClassesEnumerator();
-
-  int num_loaded_classes()         { return _klass_array->length(); }
-  Klass* get_klass(int index)      { return _klass_array->at(index); }
-
-  static void add_loaded_class(Klass* k) {
-    // FIXME: For now - don't include array klasses
-    // The spec is unclear at this point to count array klasses or not
-    // and also indirect creation of array of super class and secondaries
-    //
-    // for (Klass* l = k; l != NULL; l = l->array_klass_or_null()) {
-    //  _loaded_classes->append(l);
-    // }
-    _loaded_classes->append(k);
-  }
-};
-
 #endif // SHARE_VM_SERVICES_CLASSLOADINGSERVICE_HPP
--- a/hotspot/src/share/vm/services/management.cpp	Wed Dec 14 09:14:16 2016 +0100
+++ b/hotspot/src/share/vm/services/management.cpp	Fri Mar 17 08:19:05 2017 -0700
@@ -1291,25 +1291,6 @@
   return (jobjectArray) JNIHandles::make_local(env, result_h());
 JVM_END
 
-// Returns an array of Class objects.
-JVM_ENTRY(jobjectArray, jmm_GetLoadedClasses(JNIEnv *env))
-  ResourceMark rm(THREAD);
-
-  LoadedClassesEnumerator lce;
-
-  int num_classes = lce.num_loaded_classes();
-  objArrayOop r = oopFactory::new_objArray(SystemDictionary::Class_klass(), num_classes, CHECK_0);
-  objArrayHandle classes_ah(THREAD, r);
-
-  for (int i = 0; i < num_classes; i++) {
-    Klass* k = lce.get_klass(i);
-    oop mirror = k->java_mirror();
-    classes_ah->obj_at_put(i, mirror);
-  }
-
-  return (jobjectArray) JNIHandles::make_local(env, classes_ah());
-JVM_END
-
 // Reset statistic.  Return true if the requested statistic is reset.
 // Otherwise, return false.
 //