< prev index next >
src/share/vm/memory/referenceProcessor.hpp
Print this page
rev 7522 : * * *
8066827: Remove ReferenceProcessor::clean_up_discovered_references()
Summary: Abandon rather than clean up discovered references.
Reviewed-by:
@@ -351,23 +351,10 @@
VoidClosure* complete_gc,
YieldClosure* yield,
GCTimer* gc_timer,
GCId gc_id);
- // Delete entries in the discovered lists that have
- // either a null referent or are not active. Such
- // Reference objects can result from the clearing
- // or enqueueing of Reference objects concurrent
- // with their discovery by a (concurrent) collector.
- // For a definition of "active" see java.lang.ref.Reference;
- // Refs are born active, become inactive when enqueued,
- // and never become active again. The state of being
- // active is encoded as follows: A Ref is active
- // if and only if its "next" field is NULL.
- void clean_up_discovered_references();
- void clean_up_discovered_reflist(DiscoveredList& refs_list);
-
// Returns the name of the discovered reference list
// occupying the i / _num_q slot.
const char* list_name(uint i);
void enqueue_discovered_reflists(HeapWord* pending_list_addr, AbstractRefProcTaskExecutor* task_executor);
@@ -437,11 +424,11 @@
// get and set span
MemRegion span() { return _span; }
void set_span(MemRegion span) { _span = span; }
// start and stop weak ref discovery
- void enable_discovery(bool verify_disabled, bool check_no_refs);
+ void enable_discovery(bool check_no_refs = true);
void disable_discovery() { _discovering_refs = false; }
bool discovery_enabled() { return _discovering_refs; }
// whether discovery is atomic wrt other collectors
bool discovery_is_atomic() const { return _discovery_is_atomic; }
@@ -515,11 +502,11 @@
}
}
~NoRefDiscovery() {
if (_was_discovering_refs) {
- _rp->enable_discovery(true /*verify_disabled*/, false /*check_no_refs*/);
+ _rp->enable_discovery(false /*check_no_refs*/);
}
}
};
< prev index next >