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

Print this page
rev 6796 : [mq]: templateOopIterate

*** 239,249 **** // argument, if non-null, may be used to verify that only marked objects // are on the mark stack. If "yield_after" is "true", then the // concurrent marker performing the drain offers to yield after // processing each object. If a yield occurs, stops the drain operation // and returns false. Otherwise, returns true. ! template<class OopClosureClass> bool drain(OopClosureClass* cl, CMBitMap* bm, bool yield_after = false); bool isEmpty() { return _index == 0; } bool isFull() { return _index == _capacity; } int maxElems() { return _capacity; } --- 239,249 ---- // argument, if non-null, may be used to verify that only marked objects // are on the mark stack. If "yield_after" is "true", then the // concurrent marker performing the drain offers to yield after // processing each object. If a yield occurs, stops the drain operation // and returns false. Otherwise, returns true. ! template<bool nv, typename OopClosureClass> bool drain(OopClosureClass* cl, CMBitMap* bm, bool yield_after = false); bool isEmpty() { return _index == 0; } bool isFull() { return _index == _capacity; } int maxElems() { return _capacity; }