Mercurial > hg > graal-compiler
comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @ 2037:b03260081e9b
7006113: G1: Initialize ReferenceProcessor::_is_alive_non_header field
Summary: Initialize the _is_alive_non_header field of G1's reference processor with an instance of the G1CMIsAliveClosure. This will stop adding reference objects with live referents to the discovered reference lists unnecessarily.
Reviewed-by: tonyp, ysr, jwilhelm, brutisso
author | johnc |
---|---|
date | Fri, 17 Dec 2010 11:26:53 -0800 |
parents | fb712ff22571 |
children | 74ee0db180fa |
comparison
equal
deleted
inserted
replaced
2031:36eef023306f | 2037:b03260081e9b |
---|---|
1766 G1CollectedHeap::G1CollectedHeap(G1CollectorPolicy* policy_) : | 1766 G1CollectedHeap::G1CollectedHeap(G1CollectorPolicy* policy_) : |
1767 SharedHeap(policy_), | 1767 SharedHeap(policy_), |
1768 _g1_policy(policy_), | 1768 _g1_policy(policy_), |
1769 _dirty_card_queue_set(false), | 1769 _dirty_card_queue_set(false), |
1770 _into_cset_dirty_card_queue_set(false), | 1770 _into_cset_dirty_card_queue_set(false), |
1771 _is_alive_closure(this), | |
1771 _ref_processor(NULL), | 1772 _ref_processor(NULL), |
1772 _process_strong_tasks(new SubTasksDone(G1H_PS_NumElements)), | 1773 _process_strong_tasks(new SubTasksDone(G1H_PS_NumElements)), |
1773 _bot_shared(NULL), | 1774 _bot_shared(NULL), |
1774 _par_alloc_during_gc_lock(Mutex::leaf, "par alloc during GC lock"), | 1775 _par_alloc_during_gc_lock(Mutex::leaf, "par alloc during GC lock"), |
1775 _objs_with_preserved_marks(NULL), _preserved_marks_of_objs(NULL), | 1776 _objs_with_preserved_marks(NULL), _preserved_marks_of_objs(NULL), |
2059 MemRegion mr = reserved_region(); | 2060 MemRegion mr = reserved_region(); |
2060 _ref_processor = ReferenceProcessor::create_ref_processor( | 2061 _ref_processor = ReferenceProcessor::create_ref_processor( |
2061 mr, // span | 2062 mr, // span |
2062 false, // Reference discovery is not atomic | 2063 false, // Reference discovery is not atomic |
2063 true, // mt_discovery | 2064 true, // mt_discovery |
2064 NULL, // is alive closure: need to fill this in for efficiency | 2065 &_is_alive_closure, // is alive closure |
2066 // for efficiency | |
2065 ParallelGCThreads, | 2067 ParallelGCThreads, |
2066 ParallelRefProcEnabled, | 2068 ParallelRefProcEnabled, |
2067 true); // Setting next fields of discovered | 2069 true); // Setting next fields of discovered |
2068 // lists requires a barrier. | 2070 // lists requires a barrier. |
2069 } | 2071 } |