< prev index next >

src/share/vm/memory/strongRootsScope.hpp

Print this page

        

@@ -23,21 +23,28 @@
  */
 
 #ifndef SHARE_VM_MEMORY_STRONGROOTSSCOPE_HPP
 #define SHARE_VM_MEMORY_STRONGROOTSSCOPE_HPP
 
-#include "memory/iterator.hpp"
-
 // Some collectors will perform "process_strong_roots" in parallel.
 // Such a call will involve claiming some fine-grained tasks, such as
 // scanning of threads and code blobs.
 // Claiming of these tasks requires that sequential code calls
 // initialization methods to set the claiming code in the right
 // state for parallel task claiming.
-// StrongRootsScope is a way to capture such setup code to make
-// sure that it is executed in the correct way.
-class StrongRootsScope : public MarkingCodeBlobClosure::MarkScope {
+// StrongRootsScope and MarkScope provide ways to capture such
+// setup code to make sure that it is executed in the correct way.
+
+class MarkScope : public StackObj {
+ protected:
+  bool _active;
+ public:
+  MarkScope(bool activate = true);
+  ~MarkScope();
+};
+
+class StrongRootsScope : public MarkScope {
  public:
   StrongRootsScope(bool activate = true);
   ~StrongRootsScope();
 };
 
< prev index next >