comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp @ 14487:97300b6165f8

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 Mon, 24 Feb 2014 09:41:04 +0100
parents 4f227ecd7beb
children 60fd6d24f49f
comparison
equal deleted inserted replaced
14486:4f227ecd7beb 14487:97300b6165f8
1873 G1ParGCAllocBufferContainer _surviving_alloc_buffer; 1873 G1ParGCAllocBufferContainer _surviving_alloc_buffer;
1874 G1ParGCAllocBufferContainer _tenured_alloc_buffer; 1874 G1ParGCAllocBufferContainer _tenured_alloc_buffer;
1875 G1ParGCAllocBufferContainer* _alloc_buffers[GCAllocPurposeCount]; 1875 G1ParGCAllocBufferContainer* _alloc_buffers[GCAllocPurposeCount];
1876 ageTable _age_table; 1876 ageTable _age_table;
1877 1877
1878 G1ParScanClosure _scanner;
1879
1878 size_t _alloc_buffer_waste; 1880 size_t _alloc_buffer_waste;
1879 size_t _undo_waste; 1881 size_t _undo_waste;
1880 1882
1881 OopsInHeapRegionClosure* _evac_failure_cl; 1883 OopsInHeapRegionClosure* _evac_failure_cl;
1882 G1ParScanHeapEvacClosure* _evac_cl; 1884 G1ParScanHeapEvacClosure* _evac_cl;
1925 } 1927 }
1926 } 1928 }
1927 } 1929 }
1928 1930
1929 public: 1931 public:
1930 G1ParScanThreadState(G1CollectedHeap* g1h, uint queue_num); 1932 G1ParScanThreadState(G1CollectedHeap* g1h, uint queue_num, ReferenceProcessor* rp);
1931 1933
1932 ~G1ParScanThreadState() { 1934 ~G1ParScanThreadState() {
1933 FREE_C_HEAP_ARRAY(size_t, _surviving_young_words_base, mtGC); 1935 FREE_C_HEAP_ARRAY(size_t, _surviving_young_words_base, mtGC);
1934 } 1936 }
1935 1937
2059 _alloc_buffers[ap]->flush_stats_and_retire(_g1h->stats_for_purpose((GCAllocPurpose)ap), 2061 _alloc_buffers[ap]->flush_stats_and_retire(_g1h->stats_for_purpose((GCAllocPurpose)ap),
2060 true /* end_of_gc */, 2062 true /* end_of_gc */,
2061 false /* retain */); 2063 false /* retain */);
2062 } 2064 }
2063 } 2065 }
2066
2067 oop copy_to_survivor_space(oop const obj);
2064 2068
2065 template <class T> void deal_with_reference(T* ref_to_scan) { 2069 template <class T> void deal_with_reference(T* ref_to_scan) {
2066 if (has_partial_array_mask(ref_to_scan)) { 2070 if (has_partial_array_mask(ref_to_scan)) {
2067 _partial_scan_cl->do_oop_nv(ref_to_scan); 2071 _partial_scan_cl->do_oop_nv(ref_to_scan);
2068 } else { 2072 } else {