< prev index next >

src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.cpp

Print this page
*** 36,11 ***
  #include "jfr/leakprofiler/utilities/unifiedOopRef.inline.hpp"
  #include "memory/universe.hpp"
  #include "oops/access.inline.hpp"
  #include "oops/oop.inline.hpp"
  #include "prims/jvmtiExport.hpp"
- #include "runtime/jniHandles.inline.hpp"
  #include "runtime/synchronizer.hpp"
  #include "runtime/thread.hpp"
  #include "services/management.hpp"
  #include "utilities/align.hpp"
  
--- 36,10 ---

*** 74,13 ***
    ClassLoaderDataGraph::always_strong_cld_do(&cldt_closure);
    // We don't follow code blob oops, because they have misaligned oops.
    Threads::oops_do(this, NULL);
    ObjectSynchronizer::oops_do(this);
    Universe::oops_do(this);
-   JNIHandles::oops_do(this);
    JvmtiExport::oops_do(this);
!   OopStorageSet::vm_global()->oops_do(this);
    Management::oops_do(this);
    AOTLoader::oops_do(this);
  }
  
  template class RootSetClosure<BFSClosure>;
--- 73,14 ---
    ClassLoaderDataGraph::always_strong_cld_do(&cldt_closure);
    // We don't follow code blob oops, because they have misaligned oops.
    Threads::oops_do(this, NULL);
    ObjectSynchronizer::oops_do(this);
    Universe::oops_do(this);
    JvmtiExport::oops_do(this);
!   for (OopStorageSet::Iterator it = OopStorageSet::strong_iterator(); !it.is_end(); ++it) {
+     it->oops_do(this);
+   }
    Management::oops_do(this);
    AOTLoader::oops_do(this);
  }
  
  template class RootSetClosure<BFSClosure>;
< prev index next >