< prev index next >

src/hotspot/share/gc/shared/referenceProcessor.hpp

Print this page
rev 49831 : imported patch 8201492-properly-implement-non-contiguous-reference-processing
rev 49834 : [mq]: 8202021-cleanup-referenceprocessor
rev 49835 : [mq]: 8202021-stefanj-review
rev 49836 : [mq]: 8202017-reference-processor-remove-enqueue

*** 140,149 **** --- 140,155 ---- } else { _keep_alive->do_oop((oop*)_referent_addr); } } + // Do enqueuing work, i.e. notifying the GC about the changed discovered pointers. + void enqueue(); + + // Move enqueued references to the reference pending list. + void complete_enqeue(); + // NULL out referent pointer. void clear_referent(); // Statistics NOT_PRODUCT(
*** 270,282 **** bool clear_referent, BoolObjectClosure* is_alive, OopClosure* keep_alive, VoidClosure* complete_gc); - // Enqueue references with a certain reachability level - void enqueue_discovered_reflist(DiscoveredList& refs_list); - // "Preclean" all the discovered reference lists // by removing references with strongly reachable referents. // The first argument is a predicate on an oop that indicates // its (strong) reachability and the second is a closure that // may be used to incrementalize or abort the precleaning process. --- 276,285 ----
*** 292,304 **** // Returns the name of the discovered reference list // occupying the i / _num_queues slot. const char* list_name(uint i); - void enqueue_discovered_reflists(AbstractRefProcTaskExecutor* task_executor, - ReferenceProcessorPhaseTimes* phase_times); - // "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, --- 295,304 ----
*** 384,395 **** void set_enqueuing_is_done(bool v) { _enqueuing_is_done = v; } // iterate over oops void weak_oops_do(OopClosure* f); // weak roots - // Balance each of the discovered lists. - void balance_all_queues(); void verify_list(DiscoveredList& ref_list); // Discover a Reference object, using appropriate discovery criteria bool discover_reference(oop obj, ReferenceType rt); --- 384,393 ----
*** 402,415 **** OopClosure* keep_alive, VoidClosure* complete_gc, AbstractRefProcTaskExecutor* task_executor, ReferenceProcessorPhaseTimes* phase_times); - // Enqueue references at end of GC (called by the garbage collector) - void enqueue_discovered_references(AbstractRefProcTaskExecutor* task_executor, - ReferenceProcessorPhaseTimes* phase_times); - // If a discovery is in process that is being superceded, abandon it: all // the discovered lists will be empty, and all the objects on them will // have NULL discovered fields. Must be called only at a safepoint. void abandon_partial_discovery(); --- 400,409 ----
< prev index next >