Mercurial > hg > graal-compiler
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 |