< 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 >