Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp @ 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 | 2250ee17e258 |
comparison
equal
deleted
inserted
replaced
2031:36eef023306f | 2037:b03260081e9b |
---|---|
847 #ifndef PRODUCT | 847 #ifndef PRODUCT |
848 // Useful for debugging. | 848 // Useful for debugging. |
849 void print_gc_alloc_regions(); | 849 void print_gc_alloc_regions(); |
850 #endif // !PRODUCT | 850 #endif // !PRODUCT |
851 | 851 |
852 // Instance of the concurrent mark is_alive closure for embedding | |
853 // into the reference processor as the is_alive_non_header. This | |
854 // prevents unnecessary additions to the discovered lists during | |
855 // concurrent discovery. | |
856 G1CMIsAliveClosure _is_alive_closure; | |
857 | |
852 // ("Weak") Reference processing support | 858 // ("Weak") Reference processing support |
853 ReferenceProcessor* _ref_processor; | 859 ReferenceProcessor* _ref_processor; |
854 | 860 |
855 enum G1H_process_strong_roots_tasks { | 861 enum G1H_process_strong_roots_tasks { |
856 G1H_PS_mark_stack_oops_do, | 862 G1H_PS_mark_stack_oops_do, |
891 // Initialize the G1CollectedHeap to have the initial and | 897 // Initialize the G1CollectedHeap to have the initial and |
892 // maximum sizes, permanent generation, and remembered and barrier sets | 898 // maximum sizes, permanent generation, and remembered and barrier sets |
893 // specified by the policy object. | 899 // specified by the policy object. |
894 jint initialize(); | 900 jint initialize(); |
895 | 901 |
896 void ref_processing_init(); | 902 virtual void ref_processing_init(); |
897 | 903 |
898 void set_par_threads(int t) { | 904 void set_par_threads(int t) { |
899 SharedHeap::set_par_threads(t); | 905 SharedHeap::set_par_threads(t); |
900 _process_strong_tasks->set_n_threads(t); | 906 _process_strong_tasks->set_n_threads(t); |
901 } | 907 } |