src/share/vm/memory/referenceProcessor.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/memory/referenceProcessor.hpp	Mon Jun  2 16:10:28 2014
--- new/src/share/vm/memory/referenceProcessor.hpp	Mon Jun  2 16:10:27 2014

*** 97,107 **** --- 97,106 ---- oop _next; HeapWord* _referent_addr; oop _referent; OopClosure* _keep_alive; BoolObjectClosure* _is_alive; bool _discovered_list_needs_post_barrier; DEBUG_ONLY( oop _first_seen; // cyclic linked list check )
*** 111,122 **** --- 110,120 ---- ) public: inline DiscoveredListIterator(DiscoveredList& refs_list, OopClosure* keep_alive, ! BoolObjectClosure* is_alive, bool discovered_list_needs_post_barrier = false): ! BoolObjectClosure* is_alive): _refs_list(refs_list), _prev_next(refs_list.adr_head()), _prev(NULL), _ref(refs_list.head()), #ifdef ASSERT
*** 126,137 **** --- 124,134 ---- _processed(0), _removed(0), #endif _next(NULL), _keep_alive(keep_alive), - _is_alive(is_alive), _discovered_list_needs_post_barrier(discovered_list_needs_post_barrier) { } // End Of List. inline bool has_next() const { return _ref != NULL; }
*** 228,245 **** --- 225,234 ---- bool _discovering_refs; // true when discovery enabled bool _discovery_is_atomic; // if discovery is atomic wrt // other collectors in configuration bool _discovery_is_mt; // true if reference discovery is MT. // If true, setting "next" field of a discovered refs list requires // write post barrier. (Must be true if used in a collector in which // elements of a discovered list may be moved during discovery: for // example, a collector like Garbage-First that moves objects during a // long-term concurrent marking phase that does weak reference // discovery.) bool _discovered_list_needs_post_barrier; bool _enqueuing_is_done; // true if all weak references enqueued bool _processing_is_mt; // true during phases when // reference processing is MT. uint _next_id; // round-robin mod _num_q counter in // support of work distribution
*** 380,394 **** --- 369,378 ---- const char* list_name(uint i); void enqueue_discovered_reflists(HeapWord* pending_list_addr, AbstractRefProcTaskExecutor* task_executor); protected: // Set the 'discovered' field of the given reference to // the given value - emitting post barriers depending upon // the value of _discovered_list_needs_post_barrier. void set_discovered(oop ref, oop value); // "Preclean" the given discovered reference list // by removing references with strongly reachable referents. // Currently used in support of CMS only. void preclean_discovered_reflist(DiscoveredList& refs_list, BoolObjectClosure* is_alive,
*** 425,436 **** --- 409,419 ---- // Default parameters give you a vanilla reference processor. ReferenceProcessor(MemRegion span, bool mt_processing = false, uint mt_processing_degree = 1, bool mt_discovery = false, uint mt_discovery_degree = 1, bool atomic_discovery = true, ! BoolObjectClosure* is_alive_non_header = NULL, bool discovered_list_needs_post_barrier = false); ! BoolObjectClosure* is_alive_non_header = NULL); // RefDiscoveryPolicy values enum DiscoveryPolicy { ReferenceBasedDiscovery = 0, ReferentBasedDiscovery = 1,

src/share/vm/memory/referenceProcessor.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File