Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/concurrentMark.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 | f95d63e2154a |
children | 0fa27f37d4d4 |
comparison
equal
deleted
inserted
replaced
2031:36eef023306f | 2037:b03260081e9b |
---|---|
31 class G1CollectedHeap; | 31 class G1CollectedHeap; |
32 class CMTask; | 32 class CMTask; |
33 typedef GenericTaskQueue<oop> CMTaskQueue; | 33 typedef GenericTaskQueue<oop> CMTaskQueue; |
34 typedef GenericTaskQueueSet<CMTaskQueue> CMTaskQueueSet; | 34 typedef GenericTaskQueueSet<CMTaskQueue> CMTaskQueueSet; |
35 | 35 |
36 // Closure used by CM during concurrent reference discovery | |
37 // and reference processing (during remarking) to determine | |
38 // if a particular object is alive. It is primarily used | |
39 // to determine if referents of discovered reference objects | |
40 // are alive. An instance is also embedded into the | |
41 // reference processor as the _is_alive_non_header field | |
42 class G1CMIsAliveClosure: public BoolObjectClosure { | |
43 G1CollectedHeap* _g1; | |
44 public: | |
45 G1CMIsAliveClosure(G1CollectedHeap* g1) : | |
46 _g1(g1) | |
47 {} | |
48 | |
49 void do_object(oop obj) { | |
50 ShouldNotCallThis(); | |
51 } | |
52 bool do_object_b(oop obj); | |
53 }; | |
54 | |
36 // A generic CM bit map. This is essentially a wrapper around the BitMap | 55 // A generic CM bit map. This is essentially a wrapper around the BitMap |
37 // class, with one bit per (1<<_shifter) HeapWords. | 56 // class, with one bit per (1<<_shifter) HeapWords. |
38 | 57 |
39 class CMBitMapRO VALUE_OBJ_CLASS_SPEC { | 58 class CMBitMapRO VALUE_OBJ_CLASS_SPEC { |
40 protected: | 59 protected: |