提交 d3c6efbb 编写于 作者: A apetrusenko

6700941: G1: allocation spec missing for some G1 classes

Reviewed-by: tonyp
上级 4385acc4
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
// We need to sort heap regions by collection desirability. // We need to sort heap regions by collection desirability.
class CSetChooserCache { class CSetChooserCache VALUE_OBJ_CLASS_SPEC {
private: private:
enum { enum {
CacheLength = 16 CacheLength = 16
......
...@@ -33,7 +33,7 @@ enum PostYieldAction { ...@@ -33,7 +33,7 @@ enum PostYieldAction {
PYA_cancel // It's been completed by somebody else: cancel. PYA_cancel // It's been completed by somebody else: cancel.
}; };
class ConcurrentG1Refine { class ConcurrentG1Refine: public CHeapObj {
ConcurrentG1RefineThread* _cg1rThread; ConcurrentG1RefineThread* _cg1rThread;
volatile jint _pya; volatile jint _pya;
......
...@@ -30,7 +30,7 @@ typedef GenericTaskQueueSet<oop> CMTaskQueueSet; ...@@ -30,7 +30,7 @@ typedef GenericTaskQueueSet<oop> CMTaskQueueSet;
// A generic CM bit map. This is essentially a wrapper around the BitMap // A generic CM bit map. This is essentially a wrapper around the BitMap
// class, with one bit per (1<<_shifter) HeapWords. // class, with one bit per (1<<_shifter) HeapWords.
class CMBitMapRO { class CMBitMapRO VALUE_OBJ_CLASS_SPEC {
protected: protected:
HeapWord* _bmStartWord; // base address of range covered by map HeapWord* _bmStartWord; // base address of range covered by map
size_t _bmWordSize; // map size (in #HeapWords covered) size_t _bmWordSize; // map size (in #HeapWords covered)
...@@ -139,7 +139,7 @@ class CMBitMap : public CMBitMapRO { ...@@ -139,7 +139,7 @@ class CMBitMap : public CMBitMapRO {
// Represents a marking stack used by the CM collector. // Represents a marking stack used by the CM collector.
// Ideally this should be GrowableArray<> just like MSC's marking stack(s). // Ideally this should be GrowableArray<> just like MSC's marking stack(s).
class CMMarkStack { class CMMarkStack VALUE_OBJ_CLASS_SPEC {
ConcurrentMark* _cm; ConcurrentMark* _cm;
oop* _base; // bottom of stack oop* _base; // bottom of stack
jint _index; // one more than last occupied index jint _index; // one more than last occupied index
...@@ -237,7 +237,7 @@ class CMMarkStack { ...@@ -237,7 +237,7 @@ class CMMarkStack {
void oops_do(OopClosure* f); void oops_do(OopClosure* f);
}; };
class CMRegionStack { class CMRegionStack VALUE_OBJ_CLASS_SPEC {
MemRegion* _base; MemRegion* _base;
jint _capacity; jint _capacity;
jint _index; jint _index;
...@@ -312,7 +312,7 @@ typedef enum { ...@@ -312,7 +312,7 @@ typedef enum {
class ConcurrentMarkThread; class ConcurrentMarkThread;
class ConcurrentMark { class ConcurrentMark: public CHeapObj {
friend class ConcurrentMarkThread; friend class ConcurrentMarkThread;
friend class CMTask; friend class CMTask;
friend class CMBitMapClosure; friend class CMBitMapClosure;
......
...@@ -49,7 +49,7 @@ public: \ ...@@ -49,7 +49,7 @@ public: \
class MainBodySummary; class MainBodySummary;
class PopPreambleSummary; class PopPreambleSummary;
class PauseSummary { class PauseSummary: public CHeapObj {
define_num_seq(total) define_num_seq(total)
define_num_seq(other) define_num_seq(other)
...@@ -58,7 +58,7 @@ public: ...@@ -58,7 +58,7 @@ public:
virtual PopPreambleSummary* pop_preamble_summary() { return NULL; } virtual PopPreambleSummary* pop_preamble_summary() { return NULL; }
}; };
class MainBodySummary { class MainBodySummary: public CHeapObj {
define_num_seq(satb_drain) // optional define_num_seq(satb_drain) // optional
define_num_seq(parallel) // parallel only define_num_seq(parallel) // parallel only
define_num_seq(ext_root_scan) define_num_seq(ext_root_scan)
...@@ -75,7 +75,7 @@ class MainBodySummary { ...@@ -75,7 +75,7 @@ class MainBodySummary {
define_num_seq(clear_ct) // parallel only define_num_seq(clear_ct) // parallel only
}; };
class PopPreambleSummary { class PopPreambleSummary: public CHeapObj {
define_num_seq(pop_preamble) define_num_seq(pop_preamble)
define_num_seq(pop_update_rs) define_num_seq(pop_update_rs)
define_num_seq(pop_scan_rs) define_num_seq(pop_scan_rs)
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
/***** ALL TIMES ARE IN SECS!!!!!!! *****/ /***** ALL TIMES ARE IN SECS!!!!!!! *****/
// this is the "interface" // this is the "interface"
class G1MMUTracker { class G1MMUTracker: public CHeapObj {
protected: protected:
double _time_slice; double _time_slice;
double _max_gc_time; // this is per time slice double _max_gc_time; // this is per time slice
...@@ -67,7 +67,7 @@ public: ...@@ -67,7 +67,7 @@ public:
} }
}; };
class G1MMUTrackerQueueElem { class G1MMUTrackerQueueElem VALUE_OBJ_CLASS_SPEC {
private: private:
double _start_time; double _start_time;
double _end_time; double _end_time;
......
...@@ -30,7 +30,7 @@ class CardTableModRefBarrierSet; ...@@ -30,7 +30,7 @@ class CardTableModRefBarrierSet;
class HRInto_G1RemSet; class HRInto_G1RemSet;
class ConcurrentG1Refine; class ConcurrentG1Refine;
class G1RemSet { class G1RemSet: public CHeapObj {
protected: protected:
G1CollectedHeap* _g1; G1CollectedHeap* _g1;
......
...@@ -833,7 +833,7 @@ class HeapRegionClosure : public StackObj { ...@@ -833,7 +833,7 @@ class HeapRegionClosure : public StackObj {
// A linked lists of heap regions. It leaves the "next" field // A linked lists of heap regions. It leaves the "next" field
// unspecified; that's up to subtypes. // unspecified; that's up to subtypes.
class RegionList { class RegionList VALUE_OBJ_CLASS_SPEC {
protected: protected:
virtual HeapRegion* get_next(HeapRegion* chr) = 0; virtual HeapRegion* get_next(HeapRegion* chr) = 0;
virtual void set_next(HeapRegion* chr, virtual void set_next(HeapRegion* chr,
......
...@@ -58,7 +58,7 @@ class SparsePRT; ...@@ -58,7 +58,7 @@ class SparsePRT;
// is represented. If a deleted PRT is re-used, a thread adding a bit, // is represented. If a deleted PRT is re-used, a thread adding a bit,
// thinking the PRT is for a different region, does no harm. // thinking the PRT is for a different region, does no harm.
class OtherRegionsTable: public CHeapObj { class OtherRegionsTable VALUE_OBJ_CLASS_SPEC {
friend class HeapRegionRemSetIterator; friend class HeapRegionRemSetIterator;
G1CollectedHeap* _g1h; G1CollectedHeap* _g1h;
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
class PtrQueueSet; class PtrQueueSet;
class PtrQueue: public CHeapObj { class PtrQueue VALUE_OBJ_CLASS_SPEC {
protected: protected:
// The ptr queue set to which this queue belongs. // The ptr queue set to which this queue belongs.
...@@ -130,7 +130,7 @@ public: ...@@ -130,7 +130,7 @@ public:
// In particular, the individual queues allocate buffers from this shared // In particular, the individual queues allocate buffers from this shared
// set, and return completed buffers to the set. // set, and return completed buffers to the set.
// All these variables are are protected by the TLOQ_CBL_mon. XXX ??? // All these variables are are protected by the TLOQ_CBL_mon. XXX ???
class PtrQueueSet: public CHeapObj { class PtrQueueSet VALUE_OBJ_CLASS_SPEC {
protected: protected:
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
// old versions synchronously. // old versions synchronously.
class SparsePRTEntry { class SparsePRTEntry: public CHeapObj {
public: public:
enum SomePublicConstants { enum SomePublicConstants {
CardsPerEntry = (short)4, CardsPerEntry = (short)4,
...@@ -167,7 +167,7 @@ public: ...@@ -167,7 +167,7 @@ public:
}; };
// ValueObj because will be embedded in HRRS iterator. // ValueObj because will be embedded in HRRS iterator.
class RSHashTableIter: public CHeapObj { class RSHashTableIter VALUE_OBJ_CLASS_SPEC {
short _tbl_ind; short _tbl_ind;
short _bl_ind; short _bl_ind;
short _card_ind; short _card_ind;
...@@ -213,7 +213,7 @@ class RSHashTableIter: public CHeapObj { ...@@ -213,7 +213,7 @@ class RSHashTableIter: public CHeapObj {
class SparsePRTIter; class SparsePRTIter;
class SparsePRT : public CHeapObj { class SparsePRT VALUE_OBJ_CLASS_SPEC {
// Iterations are done on the _cur hash table, since they only need to // Iterations are done on the _cur hash table, since they only need to
// see entries visible at the start of a collection pause. // see entries visible at the start of a collection pause.
// All other operations are done using the _next hash table. // All other operations are done using the _next hash table.
......
...@@ -48,6 +48,7 @@ concurrentG1Refine.cpp g1RemSet.hpp ...@@ -48,6 +48,7 @@ concurrentG1Refine.cpp g1RemSet.hpp
concurrentG1Refine.cpp space.inline.hpp concurrentG1Refine.cpp space.inline.hpp
concurrentG1Refine.hpp globalDefinitions.hpp concurrentG1Refine.hpp globalDefinitions.hpp
concurrentG1Refine.hpp allocation.hpp
concurrentG1RefineThread.cpp concurrentG1Refine.hpp concurrentG1RefineThread.cpp concurrentG1Refine.hpp
concurrentG1RefineThread.cpp concurrentG1RefineThread.hpp concurrentG1RefineThread.cpp concurrentG1RefineThread.hpp
...@@ -229,7 +230,7 @@ g1MMUTracker.cpp ostream.hpp ...@@ -229,7 +230,7 @@ g1MMUTracker.cpp ostream.hpp
g1MMUTracker.cpp mutexLocker.hpp g1MMUTracker.cpp mutexLocker.hpp
g1MMUTracker.hpp debug.hpp g1MMUTracker.hpp debug.hpp
g1MMUTracker.hpp allocation.hpp
g1RemSet.cpp bufferingOopClosure.hpp g1RemSet.cpp bufferingOopClosure.hpp
g1RemSet.cpp concurrentG1Refine.hpp g1RemSet.cpp concurrentG1Refine.hpp
g1RemSet.cpp concurrentG1RefineThread.hpp g1RemSet.cpp concurrentG1RefineThread.hpp
......
...@@ -32,7 +32,7 @@ class WorkData; ...@@ -32,7 +32,7 @@ class WorkData;
// An abstract task to be worked on by a gang. // An abstract task to be worked on by a gang.
// You subclass this to supply your own work() method // You subclass this to supply your own work() method
class AbstractGangTask: public CHeapObj { class AbstractGangTask VALUE_OBJ_CLASS_SPEC {
public: public:
// The abstract work method. // The abstract work method.
// The argument tells you which member of the gang you are. // The argument tells you which member of the gang you are.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册