--- a/hotspot/src/share/vm/gc_implementation/g1/collectionSetChooser.hpp Mon Feb 09 12:26:05 2009 -0800
+++ b/hotspot/src/share/vm/gc_implementation/g1/collectionSetChooser.hpp Tue Feb 10 18:39:09 2009 +0300
@@ -24,7 +24,7 @@
// We need to sort heap regions by collection desirability.
-class CSetChooserCache {
+class CSetChooserCache VALUE_OBJ_CLASS_SPEC {
private:
enum {
CacheLength = 16
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp Mon Feb 09 12:26:05 2009 -0800
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp Tue Feb 10 18:39:09 2009 +0300
@@ -33,7 +33,7 @@
PYA_cancel // It's been completed by somebody else: cancel.
};
-class ConcurrentG1Refine {
+class ConcurrentG1Refine: public CHeapObj {
ConcurrentG1RefineThread* _cg1rThread;
volatile jint _pya;
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.hpp Mon Feb 09 12:26:05 2009 -0800
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.hpp Tue Feb 10 18:39:09 2009 +0300
@@ -30,7 +30,7 @@
// A generic CM bit map. This is essentially a wrapper around the BitMap
// class, with one bit per (1<<_shifter) HeapWords.
-class CMBitMapRO {
+class CMBitMapRO VALUE_OBJ_CLASS_SPEC {
protected:
HeapWord* _bmStartWord; // base address of range covered by map
size_t _bmWordSize; // map size (in #HeapWords covered)
@@ -139,7 +139,7 @@
// Represents a marking stack used by the CM collector.
// Ideally this should be GrowableArray<> just like MSC's marking stack(s).
-class CMMarkStack {
+class CMMarkStack VALUE_OBJ_CLASS_SPEC {
ConcurrentMark* _cm;
oop* _base; // bottom of stack
jint _index; // one more than last occupied index
@@ -237,7 +237,7 @@
void oops_do(OopClosure* f);
};
-class CMRegionStack {
+class CMRegionStack VALUE_OBJ_CLASS_SPEC {
MemRegion* _base;
jint _capacity;
jint _index;
@@ -312,7 +312,7 @@
class ConcurrentMarkThread;
-class ConcurrentMark {
+class ConcurrentMark: public CHeapObj {
friend class ConcurrentMarkThread;
friend class CMTask;
friend class CMBitMapClosure;
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Mon Feb 09 12:26:05 2009 -0800
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Tue Feb 10 18:39:09 2009 +0300
@@ -49,7 +49,7 @@
class MainBodySummary;
class PopPreambleSummary;
-class PauseSummary {
+class PauseSummary: public CHeapObj {
define_num_seq(total)
define_num_seq(other)
@@ -58,7 +58,7 @@
virtual PopPreambleSummary* pop_preamble_summary() { return NULL; }
};
-class MainBodySummary {
+class MainBodySummary: public CHeapObj {
define_num_seq(satb_drain) // optional
define_num_seq(parallel) // parallel only
define_num_seq(ext_root_scan)
@@ -75,7 +75,7 @@
define_num_seq(clear_ct) // parallel only
};
-class PopPreambleSummary {
+class PopPreambleSummary: public CHeapObj {
define_num_seq(pop_preamble)
define_num_seq(pop_update_rs)
define_num_seq(pop_scan_rs)
--- a/hotspot/src/share/vm/gc_implementation/g1/g1MMUTracker.hpp Mon Feb 09 12:26:05 2009 -0800
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1MMUTracker.hpp Tue Feb 10 18:39:09 2009 +0300
@@ -28,7 +28,7 @@
/***** ALL TIMES ARE IN SECS!!!!!!! *****/
// this is the "interface"
-class G1MMUTracker {
+class G1MMUTracker: public CHeapObj {
protected:
double _time_slice;
double _max_gc_time; // this is per time slice
@@ -67,7 +67,7 @@
}
};
-class G1MMUTrackerQueueElem {
+class G1MMUTrackerQueueElem VALUE_OBJ_CLASS_SPEC {
private:
double _start_time;
double _end_time;
--- a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.hpp Mon Feb 09 12:26:05 2009 -0800
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.hpp Tue Feb 10 18:39:09 2009 +0300
@@ -30,7 +30,7 @@
class HRInto_G1RemSet;
class ConcurrentG1Refine;
-class G1RemSet {
+class G1RemSet: public CHeapObj {
protected:
G1CollectedHeap* _g1;
--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.hpp Mon Feb 09 12:26:05 2009 -0800
+++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.hpp Tue Feb 10 18:39:09 2009 +0300
@@ -833,7 +833,7 @@
// A linked lists of heap regions. It leaves the "next" field
// unspecified; that's up to subtypes.
-class RegionList {
+class RegionList VALUE_OBJ_CLASS_SPEC {
protected:
virtual HeapRegion* get_next(HeapRegion* chr) = 0;
virtual void set_next(HeapRegion* chr,
--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp Mon Feb 09 12:26:05 2009 -0800
+++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp Tue Feb 10 18:39:09 2009 +0300
@@ -58,7 +58,7 @@
// 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.
-class OtherRegionsTable: public CHeapObj {
+class OtherRegionsTable VALUE_OBJ_CLASS_SPEC {
friend class HeapRegionRemSetIterator;
G1CollectedHeap* _g1h;
--- a/hotspot/src/share/vm/gc_implementation/g1/ptrQueue.hpp Mon Feb 09 12:26:05 2009 -0800
+++ b/hotspot/src/share/vm/gc_implementation/g1/ptrQueue.hpp Tue Feb 10 18:39:09 2009 +0300
@@ -29,7 +29,7 @@
class PtrQueueSet;
-class PtrQueue: public CHeapObj {
+class PtrQueue VALUE_OBJ_CLASS_SPEC {
protected:
// The ptr queue set to which this queue belongs.
@@ -130,7 +130,7 @@
// In particular, the individual queues allocate buffers from this shared
// set, and return completed buffers to the set.
// All these variables are are protected by the TLOQ_CBL_mon. XXX ???
-class PtrQueueSet: public CHeapObj {
+class PtrQueueSet VALUE_OBJ_CLASS_SPEC {
protected:
--- a/hotspot/src/share/vm/gc_implementation/g1/sparsePRT.hpp Mon Feb 09 12:26:05 2009 -0800
+++ b/hotspot/src/share/vm/gc_implementation/g1/sparsePRT.hpp Tue Feb 10 18:39:09 2009 +0300
@@ -33,7 +33,7 @@
// old versions synchronously.
-class SparsePRTEntry {
+class SparsePRTEntry: public CHeapObj {
public:
enum SomePublicConstants {
CardsPerEntry = (short)4,
@@ -167,7 +167,7 @@
};
// ValueObj because will be embedded in HRRS iterator.
-class RSHashTableIter: public CHeapObj {
+class RSHashTableIter VALUE_OBJ_CLASS_SPEC {
short _tbl_ind;
short _bl_ind;
short _card_ind;
@@ -213,7 +213,7 @@
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
// see entries visible at the start of a collection pause.
// All other operations are done using the _next hash table.
--- a/hotspot/src/share/vm/gc_implementation/includeDB_gc_g1 Mon Feb 09 12:26:05 2009 -0800
+++ b/hotspot/src/share/vm/gc_implementation/includeDB_gc_g1 Tue Feb 10 18:39:09 2009 +0300
@@ -48,6 +48,7 @@
concurrentG1Refine.cpp space.inline.hpp
concurrentG1Refine.hpp globalDefinitions.hpp
+concurrentG1Refine.hpp allocation.hpp
concurrentG1RefineThread.cpp concurrentG1Refine.hpp
concurrentG1RefineThread.cpp concurrentG1RefineThread.hpp
@@ -229,7 +230,7 @@
g1MMUTracker.cpp mutexLocker.hpp
g1MMUTracker.hpp debug.hpp
-
+g1MMUTracker.hpp allocation.hpp
g1RemSet.cpp bufferingOopClosure.hpp
g1RemSet.cpp concurrentG1Refine.hpp
g1RemSet.cpp concurrentG1RefineThread.hpp
--- a/hotspot/src/share/vm/utilities/workgroup.hpp Mon Feb 09 12:26:05 2009 -0800
+++ b/hotspot/src/share/vm/utilities/workgroup.hpp Tue Feb 10 18:39:09 2009 +0300
@@ -32,7 +32,7 @@
// An abstract task to be worked on by a gang.
// You subclass this to supply your own work() method
-class AbstractGangTask: public CHeapObj {
+class AbstractGangTask VALUE_OBJ_CLASS_SPEC {
public:
// The abstract work method.
// The argument tells you which member of the gang you are.