mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 19:44:41 +02:00
6700941: G1: allocation spec missing for some G1 classes
Reviewed-by: tonyp
This commit is contained in:
parent
0badccf962
commit
a7da5440dd
12 changed files with 22 additions and 21 deletions
|
@ -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 {
|
||||||
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;
|
||||||
// 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 {
|
||||||
|
|
||||||
// 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 {
|
||||||
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 {
|
||||||
|
|
||||||
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: \
|
||||||
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:
|
||||||
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 {
|
||||||
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 @@
|
||||||
/***** 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:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
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;
|
||||||
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 {
|
||||||
|
|
||||||
// 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;
|
||||||
// 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 @@
|
||||||
|
|
||||||
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:
|
||||||
// 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 @@
|
||||||
// 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:
|
||||||
};
|
};
|
||||||
|
|
||||||
// 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 {
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
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;
|
||||||
|
|
||||||
// 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.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue