comparison src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp @ 1261:0414c1049f15

6923991: G1: improve scalability of RSet scanning Summary: Implemented block-based work stealing. Moved copying during the rset scanning phase to the main copying phase. Made the size of rset table depend on the region size. Reviewed-by: apetrusenko, tonyp
author iveresov
date Thu, 11 Feb 2010 15:52:19 -0800
parents df6caf649ff7
children c18cbe5936b8
comparison
equal deleted inserted replaced
1260:8859772195c6 1261:0414c1049f15
31 enum G1Barrier { 31 enum G1Barrier {
32 G1BarrierNone, G1BarrierRS, G1BarrierEvac 32 G1BarrierNone, G1BarrierRS, G1BarrierEvac
33 }; 33 };
34 34
35 template<bool do_gen_barrier, G1Barrier barrier, 35 template<bool do_gen_barrier, G1Barrier barrier,
36 bool do_mark_forwardee, bool skip_cset_test> 36 bool do_mark_forwardee>
37 class G1ParCopyClosure; 37 class G1ParCopyClosure;
38 class G1ParScanClosure; 38 class G1ParScanClosure;
39 class G1ParPushHeapRSClosure;
39 40
40 typedef G1ParCopyClosure<false, G1BarrierEvac, false, true> G1ParScanHeapEvacClosure; 41 typedef G1ParCopyClosure<false, G1BarrierEvac, false> G1ParScanHeapEvacClosure;
41 42
42 class FilterIntoCSClosure; 43 class FilterIntoCSClosure;
43 class FilterOutOfRegionClosure; 44 class FilterOutOfRegionClosure;
44 class FilterInHeapRegionAndIntoCSClosure; 45 class FilterInHeapRegionAndIntoCSClosure;
45 class FilterAndMarkInHeapRegionAndIntoCSClosure; 46 class FilterAndMarkInHeapRegionAndIntoCSClosure;
49 #endif 50 #endif
50 51
51 #define FURTHER_SPECIALIZED_OOP_OOP_ITERATE_CLOSURES(f) \ 52 #define FURTHER_SPECIALIZED_OOP_OOP_ITERATE_CLOSURES(f) \
52 f(G1ParScanHeapEvacClosure,_nv) \ 53 f(G1ParScanHeapEvacClosure,_nv) \
53 f(G1ParScanClosure,_nv) \ 54 f(G1ParScanClosure,_nv) \
55 f(G1ParPushHeapRSClosure,_nv) \
54 f(FilterIntoCSClosure,_nv) \ 56 f(FilterIntoCSClosure,_nv) \
55 f(FilterOutOfRegionClosure,_nv) \ 57 f(FilterOutOfRegionClosure,_nv) \
56 f(FilterInHeapRegionAndIntoCSClosure,_nv) \ 58 f(FilterInHeapRegionAndIntoCSClosure,_nv) \
57 f(FilterAndMarkInHeapRegionAndIntoCSClosure,_nv) 59 f(FilterAndMarkInHeapRegionAndIntoCSClosure,_nv)
58 60