< prev index next >

src/share/vm/gc_implementation/g1/concurrentMark.hpp

Print this page
rev 7994 : [mq]: filter

@@ -1097,10 +1097,12 @@
   // it checks a bunch of conditions that might cause the marking step
   // to abort
   void regular_clock_call();
   bool concurrent() { return _concurrent; }
 
+  template<bool scan> void process_grey_object(oop obj);
+
 public:
   // It resets the task; it should be called right at the beginning of
   // a marking phase.
   void reset(CMBitMap* _nextMarkBitMap);
   // it clears all the fields that correspond to a claimed region.

@@ -1149,11 +1151,11 @@
   // It grays the object by marking it and, if necessary, pushing it
   // on the local queue
   inline void deal_with_reference(oop obj);
 
   // It scans an object and visits its children.
-  void scan_object(oop obj);
+  void scan_object(oop obj) { process_grey_object<true>(obj); }
 
   // It pushes an object on the local queue.
   inline void push(oop obj);
 
   // These two move entries to/from the global stack.
< prev index next >