--- old/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp 2013-06-05 10:56:25.000000000 +0200 +++ new/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp 2013-06-05 10:56:25.000000000 +0200 @@ -46,6 +46,8 @@ class PreGCValues; class MoveAndUpdateClosure; class RefProcTaskExecutor; +class ParallelOldTracer; +class STWGCTimer; // The SplitInfo class holds the information needed to 'split' a source region // so that the live data can be copied to two destination *spaces*. Normally, @@ -830,6 +832,8 @@ friend class RefProcTaskProxy; private: + static STWGCTimer _gc_timer; + static ParallelOldTracer _gc_tracer; static elapsedTimer _accumulated_time; static unsigned int _total_invocations; static unsigned int _maximum_compaction_gc_num; @@ -873,7 +877,8 @@ // Mark live objects static void marking_phase(ParCompactionManager* cm, - bool maximum_heap_compaction); + bool maximum_heap_compaction, + ParallelOldTracer *gc_tracer); template static inline void follow_root(ParCompactionManager* cm, T* p); @@ -1137,6 +1142,8 @@ // Reference Processing static ReferenceProcessor* const ref_processor() { return _ref_processor; } + static STWGCTimer* gc_timer() { return &_gc_timer; } + // Return the SpaceId for the given address. static SpaceId space_id(HeapWord* addr);