1.1 --- a/src/share/vm/gc_implementation/g1/concurrentMark.hpp Wed Apr 08 10:32:16 2015 -0400 1.2 +++ b/src/share/vm/gc_implementation/g1/concurrentMark.hpp Wed Apr 15 12:16:01 2015 -0400 1.3 @@ -1112,6 +1112,8 @@ 1.4 // mark bitmap scan, and so needs to be pushed onto the mark stack. 1.5 bool is_below_finger(HeapWord* objAddr, HeapWord* global_finger) const; 1.6 1.7 + template<bool scan> void process_grey_object(oop obj); 1.8 + 1.9 public: 1.10 // It resets the task; it should be called right at the beginning of 1.11 // a marking phase. 1.12 @@ -1164,7 +1166,7 @@ 1.13 inline void deal_with_reference(oop obj); 1.14 1.15 // It scans an object and visits its children. 1.16 - void scan_object(oop obj); 1.17 + void scan_object(oop obj) { process_grey_object<true>(obj); } 1.18 1.19 // It pushes an object on the local queue. 1.20 inline void push(oop obj);