< prev index next >
src/share/vm/gc_implementation/g1/concurrentMark.hpp
Print this page
rev 7994 : [mq]: filter
*** 1097,1106 ****
--- 1097,1108 ----
// 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,1159 ****
// 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);
// It pushes an object on the local queue.
inline void push(oop obj);
// These two move entries to/from the global stack.
--- 1151,1161 ----
// 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) { 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 >