comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp @ 17689:5d492d192cbf

8035329: Move G1ParCopyClosure::copy_to_survivor_space into G1ParScanThreadState Summary: Move G1ParCopyClosure::copy_to_survivor_space to decrease code size. Reviewed-by: stefank, jmasa
author tschatzl
date Wed, 26 Feb 2014 15:32:47 +0100
parents 2c2ae9e5f65d
children e5c0b296deb2
comparison
equal deleted inserted replaced
17688:2c2ae9e5f65d 17689:5d492d192cbf
1885 G1ParGCAllocBufferContainer _surviving_alloc_buffer; 1885 G1ParGCAllocBufferContainer _surviving_alloc_buffer;
1886 G1ParGCAllocBufferContainer _tenured_alloc_buffer; 1886 G1ParGCAllocBufferContainer _tenured_alloc_buffer;
1887 G1ParGCAllocBufferContainer* _alloc_buffers[GCAllocPurposeCount]; 1887 G1ParGCAllocBufferContainer* _alloc_buffers[GCAllocPurposeCount];
1888 ageTable _age_table; 1888 ageTable _age_table;
1889 1889
1890 G1ParScanClosure _scanner;
1891
1890 size_t _alloc_buffer_waste; 1892 size_t _alloc_buffer_waste;
1891 size_t _undo_waste; 1893 size_t _undo_waste;
1892 1894
1893 OopsInHeapRegionClosure* _evac_failure_cl; 1895 OopsInHeapRegionClosure* _evac_failure_cl;
1894 G1ParScanHeapEvacClosure* _evac_cl; 1896 G1ParScanHeapEvacClosure* _evac_cl;
1937 } 1939 }
1938 } 1940 }
1939 } 1941 }
1940 1942
1941 public: 1943 public:
1942 G1ParScanThreadState(G1CollectedHeap* g1h, uint queue_num); 1944 G1ParScanThreadState(G1CollectedHeap* g1h, uint queue_num, ReferenceProcessor* rp);
1943 1945
1944 ~G1ParScanThreadState() { 1946 ~G1ParScanThreadState() {
1945 FREE_C_HEAP_ARRAY(size_t, _surviving_young_words_base, mtGC); 1947 FREE_C_HEAP_ARRAY(size_t, _surviving_young_words_base, mtGC);
1946 } 1948 }
1947 1949
2071 _alloc_buffers[ap]->flush_stats_and_retire(_g1h->stats_for_purpose((GCAllocPurpose)ap), 2073 _alloc_buffers[ap]->flush_stats_and_retire(_g1h->stats_for_purpose((GCAllocPurpose)ap),
2072 true /* end_of_gc */, 2074 true /* end_of_gc */,
2073 false /* retain */); 2075 false /* retain */);
2074 } 2076 }
2075 } 2077 }
2078
2079 oop copy_to_survivor_space(oop const obj);
2076 2080
2077 template <class T> void deal_with_reference(T* ref_to_scan) { 2081 template <class T> void deal_with_reference(T* ref_to_scan) {
2078 if (has_partial_array_mask(ref_to_scan)) { 2082 if (has_partial_array_mask(ref_to_scan)) {
2079 _partial_scan_cl->do_oop_nv(ref_to_scan); 2083 _partial_scan_cl->do_oop_nv(ref_to_scan);
2080 } else { 2084 } else {