src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp

Print this page
rev 4773 : 8005849: JEP 167: Event-Based JVM Tracing
Reviewed-by: acorn, coleenp, sla
Contributed-by: Karen Kinnear <karen.kinnear@oracle.com>, Bengt Rutisson <bengt.rutisson@oracle.com>, Calvin Cheung <calvin.cheung@oracle.com>, Erik Gahlin <erik.gahlin@oracle.com>, Erik Helin <erik.helin@oracle.com>, Jesper Wilhelmsson <jesper.wilhelmsson@oracle.com>, Keith McGuigan <keith.mcguigan@oracle.com>, Mattias Tobiasson <mattias.tobiasson@oracle.com>, Markus Gronlund <markus.gronlund@oracle.com>, Mikael Auno <mikael.auno@oracle.com>, Nils Eliasson <nils.eliasson@oracle.com>, Nils Loodin <nils.loodin@oracle.com>, Rickard Backman <rickard.backman@oracle.com>, Staffan Larsen <staffan.larsen@oracle.com>, Stefan Karlsson <stefan.karlsson@oracle.com>, Yekaterina Kantserova <yekaterina.kantserova@oracle.com>

*** 44,53 **** --- 44,55 ---- class GCTaskManager; class GCTaskQueue; 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, // all the live data in a region is copied to a single destination space (e.g., // everything live in a region in eden is copied entirely into the old gen).
*** 828,837 **** --- 830,841 ---- friend class FollowKlassClosure; friend class InstanceClassLoaderKlass; 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; static jlong _time_of_last_gc; // ms static CollectorCounters* _counters;
*** 871,881 **** static void pre_compact(PreGCValues* pre_gc_values); static void post_compact(); // Mark live objects static void marking_phase(ParCompactionManager* cm, ! bool maximum_heap_compaction); template <class T> static inline void follow_root(ParCompactionManager* cm, T* p); // Compute the dense prefix for the designated space. This is an experimental --- 875,886 ---- static void pre_compact(PreGCValues* pre_gc_values); static void post_compact(); // Mark live objects static void marking_phase(ParCompactionManager* cm, ! bool maximum_heap_compaction, ! ParallelOldTracer *gc_tracer); template <class T> static inline void follow_root(ParCompactionManager* cm, T* p); // Compute the dense prefix for the designated space. This is an experimental
*** 1135,1144 **** --- 1140,1151 ---- static ParallelCompactData& summary_data() { return _summary_data; } // 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); // Time since last full gc (in milliseconds). static jlong millis_since_last_gc();