< prev index next >

src/share/vm/memory/referenceProcessor.hpp

Print this page

        

*** 195,218 **** inline size_t processed() const { return _processed; } inline size_t removed() const { return _removed; } ) inline void move_to_next() { ! if (_ref == _next) { // End of the list. _ref = NULL; } else { _ref = _next; } ! assert(_ref != _first_seen, "cyclic ref_list found"); NOT_PRODUCT(_processed++); } }; class ReferenceProcessor : public CHeapObj<mtGC> { ! private: size_t total_count(DiscoveredList lists[]); protected: // Compatibility with pre-4965777 JDK's static bool _pending_list_uses_discovered_field; --- 195,218 ---- inline size_t processed() const { return _processed; } inline size_t removed() const { return _removed; } ) inline void move_to_next() { ! if (oopDesc::unsafe_equals(_ref, _next)) { // End of the list. _ref = NULL; } else { _ref = _next; } ! assert(! oopDesc::unsafe_equals(_ref, _first_seen), "cyclic ref_list found"); NOT_PRODUCT(_processed++); } }; class ReferenceProcessor : public CHeapObj<mtGC> { ! public: size_t total_count(DiscoveredList lists[]); protected: // Compatibility with pre-4965777 JDK's static bool _pending_list_uses_discovered_field;
*** 666,675 **** --- 666,679 ---- // Returns true if a task marks some oops as alive. bool marks_oops_alive() const { return _marks_oops_alive; } + bool is_empty() const { + return _ref_processor.total_count(_refs_lists) == 0; + } + protected: ReferenceProcessor& _ref_processor; DiscoveredList* _refs_lists; const bool _marks_oops_alive; };
< prev index next >