--- 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;