Tue, 10 Feb 2009 18:39:09 +0300
6700941: G1: allocation spec missing for some G1 classes
Reviewed-by: tonyp
1.1 --- a/src/share/vm/gc_implementation/g1/collectionSetChooser.hpp Mon Feb 09 12:26:05 2009 -0800 1.2 +++ b/src/share/vm/gc_implementation/g1/collectionSetChooser.hpp Tue Feb 10 18:39:09 2009 +0300 1.3 @@ -24,7 +24,7 @@ 1.4 1.5 // We need to sort heap regions by collection desirability. 1.6 1.7 -class CSetChooserCache { 1.8 +class CSetChooserCache VALUE_OBJ_CLASS_SPEC { 1.9 private: 1.10 enum { 1.11 CacheLength = 16
2.1 --- a/src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp Mon Feb 09 12:26:05 2009 -0800 2.2 +++ b/src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp Tue Feb 10 18:39:09 2009 +0300 2.3 @@ -33,7 +33,7 @@ 2.4 PYA_cancel // It's been completed by somebody else: cancel. 2.5 }; 2.6 2.7 -class ConcurrentG1Refine { 2.8 +class ConcurrentG1Refine: public CHeapObj { 2.9 ConcurrentG1RefineThread* _cg1rThread; 2.10 2.11 volatile jint _pya;
3.1 --- a/src/share/vm/gc_implementation/g1/concurrentMark.hpp Mon Feb 09 12:26:05 2009 -0800 3.2 +++ b/src/share/vm/gc_implementation/g1/concurrentMark.hpp Tue Feb 10 18:39:09 2009 +0300 3.3 @@ -30,7 +30,7 @@ 3.4 // A generic CM bit map. This is essentially a wrapper around the BitMap 3.5 // class, with one bit per (1<<_shifter) HeapWords. 3.6 3.7 -class CMBitMapRO { 3.8 +class CMBitMapRO VALUE_OBJ_CLASS_SPEC { 3.9 protected: 3.10 HeapWord* _bmStartWord; // base address of range covered by map 3.11 size_t _bmWordSize; // map size (in #HeapWords covered) 3.12 @@ -139,7 +139,7 @@ 3.13 3.14 // Represents a marking stack used by the CM collector. 3.15 // Ideally this should be GrowableArray<> just like MSC's marking stack(s). 3.16 -class CMMarkStack { 3.17 +class CMMarkStack VALUE_OBJ_CLASS_SPEC { 3.18 ConcurrentMark* _cm; 3.19 oop* _base; // bottom of stack 3.20 jint _index; // one more than last occupied index 3.21 @@ -237,7 +237,7 @@ 3.22 void oops_do(OopClosure* f); 3.23 }; 3.24 3.25 -class CMRegionStack { 3.26 +class CMRegionStack VALUE_OBJ_CLASS_SPEC { 3.27 MemRegion* _base; 3.28 jint _capacity; 3.29 jint _index; 3.30 @@ -312,7 +312,7 @@ 3.31 3.32 class ConcurrentMarkThread; 3.33 3.34 -class ConcurrentMark { 3.35 +class ConcurrentMark: public CHeapObj { 3.36 friend class ConcurrentMarkThread; 3.37 friend class CMTask; 3.38 friend class CMBitMapClosure;
4.1 --- a/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Mon Feb 09 12:26:05 2009 -0800 4.2 +++ b/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Tue Feb 10 18:39:09 2009 +0300 4.3 @@ -49,7 +49,7 @@ 4.4 class MainBodySummary; 4.5 class PopPreambleSummary; 4.6 4.7 -class PauseSummary { 4.8 +class PauseSummary: public CHeapObj { 4.9 define_num_seq(total) 4.10 define_num_seq(other) 4.11 4.12 @@ -58,7 +58,7 @@ 4.13 virtual PopPreambleSummary* pop_preamble_summary() { return NULL; } 4.14 }; 4.15 4.16 -class MainBodySummary { 4.17 +class MainBodySummary: public CHeapObj { 4.18 define_num_seq(satb_drain) // optional 4.19 define_num_seq(parallel) // parallel only 4.20 define_num_seq(ext_root_scan) 4.21 @@ -75,7 +75,7 @@ 4.22 define_num_seq(clear_ct) // parallel only 4.23 }; 4.24 4.25 -class PopPreambleSummary { 4.26 +class PopPreambleSummary: public CHeapObj { 4.27 define_num_seq(pop_preamble) 4.28 define_num_seq(pop_update_rs) 4.29 define_num_seq(pop_scan_rs)
5.1 --- a/src/share/vm/gc_implementation/g1/g1MMUTracker.hpp Mon Feb 09 12:26:05 2009 -0800 5.2 +++ b/src/share/vm/gc_implementation/g1/g1MMUTracker.hpp Tue Feb 10 18:39:09 2009 +0300 5.3 @@ -28,7 +28,7 @@ 5.4 /***** ALL TIMES ARE IN SECS!!!!!!! *****/ 5.5 5.6 // this is the "interface" 5.7 -class G1MMUTracker { 5.8 +class G1MMUTracker: public CHeapObj { 5.9 protected: 5.10 double _time_slice; 5.11 double _max_gc_time; // this is per time slice 5.12 @@ -67,7 +67,7 @@ 5.13 } 5.14 }; 5.15 5.16 -class G1MMUTrackerQueueElem { 5.17 +class G1MMUTrackerQueueElem VALUE_OBJ_CLASS_SPEC { 5.18 private: 5.19 double _start_time; 5.20 double _end_time;
6.1 --- a/src/share/vm/gc_implementation/g1/g1RemSet.hpp Mon Feb 09 12:26:05 2009 -0800 6.2 +++ b/src/share/vm/gc_implementation/g1/g1RemSet.hpp Tue Feb 10 18:39:09 2009 +0300 6.3 @@ -30,7 +30,7 @@ 6.4 class HRInto_G1RemSet; 6.5 class ConcurrentG1Refine; 6.6 6.7 -class G1RemSet { 6.8 +class G1RemSet: public CHeapObj { 6.9 protected: 6.10 G1CollectedHeap* _g1; 6.11
7.1 --- a/src/share/vm/gc_implementation/g1/heapRegion.hpp Mon Feb 09 12:26:05 2009 -0800 7.2 +++ b/src/share/vm/gc_implementation/g1/heapRegion.hpp Tue Feb 10 18:39:09 2009 +0300 7.3 @@ -833,7 +833,7 @@ 7.4 7.5 // A linked lists of heap regions. It leaves the "next" field 7.6 // unspecified; that's up to subtypes. 7.7 -class RegionList { 7.8 +class RegionList VALUE_OBJ_CLASS_SPEC { 7.9 protected: 7.10 virtual HeapRegion* get_next(HeapRegion* chr) = 0; 7.11 virtual void set_next(HeapRegion* chr,
8.1 --- a/src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp Mon Feb 09 12:26:05 2009 -0800 8.2 +++ b/src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp Tue Feb 10 18:39:09 2009 +0300 8.3 @@ -58,7 +58,7 @@ 8.4 // is represented. If a deleted PRT is re-used, a thread adding a bit, 8.5 // thinking the PRT is for a different region, does no harm. 8.6 8.7 -class OtherRegionsTable: public CHeapObj { 8.8 +class OtherRegionsTable VALUE_OBJ_CLASS_SPEC { 8.9 friend class HeapRegionRemSetIterator; 8.10 8.11 G1CollectedHeap* _g1h;
9.1 --- a/src/share/vm/gc_implementation/g1/ptrQueue.hpp Mon Feb 09 12:26:05 2009 -0800 9.2 +++ b/src/share/vm/gc_implementation/g1/ptrQueue.hpp Tue Feb 10 18:39:09 2009 +0300 9.3 @@ -29,7 +29,7 @@ 9.4 9.5 class PtrQueueSet; 9.6 9.7 -class PtrQueue: public CHeapObj { 9.8 +class PtrQueue VALUE_OBJ_CLASS_SPEC { 9.9 9.10 protected: 9.11 // The ptr queue set to which this queue belongs. 9.12 @@ -130,7 +130,7 @@ 9.13 // In particular, the individual queues allocate buffers from this shared 9.14 // set, and return completed buffers to the set. 9.15 // All these variables are are protected by the TLOQ_CBL_mon. XXX ??? 9.16 -class PtrQueueSet: public CHeapObj { 9.17 +class PtrQueueSet VALUE_OBJ_CLASS_SPEC { 9.18 9.19 protected: 9.20
10.1 --- a/src/share/vm/gc_implementation/g1/sparsePRT.hpp Mon Feb 09 12:26:05 2009 -0800 10.2 +++ b/src/share/vm/gc_implementation/g1/sparsePRT.hpp Tue Feb 10 18:39:09 2009 +0300 10.3 @@ -33,7 +33,7 @@ 10.4 // old versions synchronously. 10.5 10.6 10.7 -class SparsePRTEntry { 10.8 +class SparsePRTEntry: public CHeapObj { 10.9 public: 10.10 enum SomePublicConstants { 10.11 CardsPerEntry = (short)4, 10.12 @@ -167,7 +167,7 @@ 10.13 }; 10.14 10.15 // ValueObj because will be embedded in HRRS iterator. 10.16 -class RSHashTableIter: public CHeapObj { 10.17 +class RSHashTableIter VALUE_OBJ_CLASS_SPEC { 10.18 short _tbl_ind; 10.19 short _bl_ind; 10.20 short _card_ind; 10.21 @@ -213,7 +213,7 @@ 10.22 10.23 class SparsePRTIter; 10.24 10.25 -class SparsePRT : public CHeapObj { 10.26 +class SparsePRT VALUE_OBJ_CLASS_SPEC { 10.27 // Iterations are done on the _cur hash table, since they only need to 10.28 // see entries visible at the start of a collection pause. 10.29 // All other operations are done using the _next hash table.
11.1 --- a/src/share/vm/gc_implementation/includeDB_gc_g1 Mon Feb 09 12:26:05 2009 -0800 11.2 +++ b/src/share/vm/gc_implementation/includeDB_gc_g1 Tue Feb 10 18:39:09 2009 +0300 11.3 @@ -48,6 +48,7 @@ 11.4 concurrentG1Refine.cpp space.inline.hpp 11.5 11.6 concurrentG1Refine.hpp globalDefinitions.hpp 11.7 +concurrentG1Refine.hpp allocation.hpp 11.8 11.9 concurrentG1RefineThread.cpp concurrentG1Refine.hpp 11.10 concurrentG1RefineThread.cpp concurrentG1RefineThread.hpp 11.11 @@ -229,7 +230,7 @@ 11.12 g1MMUTracker.cpp mutexLocker.hpp 11.13 11.14 g1MMUTracker.hpp debug.hpp 11.15 - 11.16 +g1MMUTracker.hpp allocation.hpp 11.17 g1RemSet.cpp bufferingOopClosure.hpp 11.18 g1RemSet.cpp concurrentG1Refine.hpp 11.19 g1RemSet.cpp concurrentG1RefineThread.hpp
12.1 --- a/src/share/vm/utilities/workgroup.hpp Mon Feb 09 12:26:05 2009 -0800 12.2 +++ b/src/share/vm/utilities/workgroup.hpp Tue Feb 10 18:39:09 2009 +0300 12.3 @@ -32,7 +32,7 @@ 12.4 12.5 // An abstract task to be worked on by a gang. 12.6 // You subclass this to supply your own work() method 12.7 -class AbstractGangTask: public CHeapObj { 12.8 +class AbstractGangTask VALUE_OBJ_CLASS_SPEC { 12.9 public: 12.10 // The abstract work method. 12.11 // The argument tells you which member of the gang you are.