--- old/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp 2018-03-19 19:09:49.149637722 -0400 +++ new/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp 2018-03-19 19:09:48.549582583 -0400 @@ -30,10 +30,6 @@ #include "runtime/jniHandles.inline.hpp" #include "runtime/thread.hpp" #include "utilities/stack.inline.hpp" -#if INCLUDE_ALL_GCS -#include "gc/g1/g1BarrierSet.hpp" -#endif - // The closure for GetLoadedClasses class LoadedClassesClosure : public KlassClosure { @@ -42,20 +38,6 @@ JvmtiEnv* _env; Thread* _cur_thread; -// Tell the GC to keep this klass alive -static void ensure_klass_alive(oop o) { - // A klass that was previously considered dead can be looked up in the - // CLD/SD, and its _java_mirror or _class_loader can be stored in a root - // or a reachable object making it alive again. The SATB part of G1 needs - // to get notified about this potential resurrection, otherwise the marking - // might not find the object. -#if INCLUDE_ALL_GCS - if (UseG1GC && o != NULL) { - G1BarrierSet::enqueue(o); - } -#endif -} - public: LoadedClassesClosure(Thread* thread, JvmtiEnv* env) : _cur_thread(thread), _env(env) { assert(_cur_thread == Thread::current(), "must be current thread"); @@ -64,7 +46,6 @@ void do_klass(Klass* k) { // Collect all jclasses _classStack.push((jclass) _env->jni_reference(Handle(_cur_thread, k->java_mirror()))); - ensure_klass_alive(k->java_mirror()); } int extract(jclass* result_list) {