Mercurial > hg > graal-compiler
comparison src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp @ 10405:f2110083203d
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>
author | sla |
---|---|
date | Mon, 10 Jun 2013 11:30:51 +0200 |
parents | 5534bd30c151 |
children | ad72068ac41e |
comparison
equal
deleted
inserted
replaced
10404:d0add7016434 | 10405:f2110083203d |
---|---|
44 class GCTaskManager; | 44 class GCTaskManager; |
45 class GCTaskQueue; | 45 class GCTaskQueue; |
46 class PreGCValues; | 46 class PreGCValues; |
47 class MoveAndUpdateClosure; | 47 class MoveAndUpdateClosure; |
48 class RefProcTaskExecutor; | 48 class RefProcTaskExecutor; |
49 class ParallelOldTracer; | |
50 class STWGCTimer; | |
49 | 51 |
50 // The SplitInfo class holds the information needed to 'split' a source region | 52 // The SplitInfo class holds the information needed to 'split' a source region |
51 // so that the live data can be copied to two destination *spaces*. Normally, | 53 // so that the live data can be copied to two destination *spaces*. Normally, |
52 // all the live data in a region is copied to a single destination space (e.g., | 54 // all the live data in a region is copied to a single destination space (e.g., |
53 // everything live in a region in eden is copied entirely into the old gen). | 55 // everything live in a region in eden is copied entirely into the old gen). |
970 friend class FollowKlassClosure; | 972 friend class FollowKlassClosure; |
971 friend class InstanceClassLoaderKlass; | 973 friend class InstanceClassLoaderKlass; |
972 friend class RefProcTaskProxy; | 974 friend class RefProcTaskProxy; |
973 | 975 |
974 private: | 976 private: |
977 static STWGCTimer _gc_timer; | |
978 static ParallelOldTracer _gc_tracer; | |
975 static elapsedTimer _accumulated_time; | 979 static elapsedTimer _accumulated_time; |
976 static unsigned int _total_invocations; | 980 static unsigned int _total_invocations; |
977 static unsigned int _maximum_compaction_gc_num; | 981 static unsigned int _maximum_compaction_gc_num; |
978 static jlong _time_of_last_gc; // ms | 982 static jlong _time_of_last_gc; // ms |
979 static CollectorCounters* _counters; | 983 static CollectorCounters* _counters; |
1013 static void pre_compact(PreGCValues* pre_gc_values); | 1017 static void pre_compact(PreGCValues* pre_gc_values); |
1014 static void post_compact(); | 1018 static void post_compact(); |
1015 | 1019 |
1016 // Mark live objects | 1020 // Mark live objects |
1017 static void marking_phase(ParCompactionManager* cm, | 1021 static void marking_phase(ParCompactionManager* cm, |
1018 bool maximum_heap_compaction); | 1022 bool maximum_heap_compaction, |
1023 ParallelOldTracer *gc_tracer); | |
1019 | 1024 |
1020 template <class T> | 1025 template <class T> |
1021 static inline void follow_root(ParCompactionManager* cm, T* p); | 1026 static inline void follow_root(ParCompactionManager* cm, T* p); |
1022 | 1027 |
1023 // Compute the dense prefix for the designated space. This is an experimental | 1028 // Compute the dense prefix for the designated space. This is an experimental |
1281 static ParMarkBitMap* mark_bitmap() { return &_mark_bitmap; } | 1286 static ParMarkBitMap* mark_bitmap() { return &_mark_bitmap; } |
1282 static ParallelCompactData& summary_data() { return _summary_data; } | 1287 static ParallelCompactData& summary_data() { return _summary_data; } |
1283 | 1288 |
1284 // Reference Processing | 1289 // Reference Processing |
1285 static ReferenceProcessor* const ref_processor() { return _ref_processor; } | 1290 static ReferenceProcessor* const ref_processor() { return _ref_processor; } |
1291 | |
1292 static STWGCTimer* gc_timer() { return &_gc_timer; } | |
1286 | 1293 |
1287 // Return the SpaceId for the given address. | 1294 // Return the SpaceId for the given address. |
1288 static SpaceId space_id(HeapWord* addr); | 1295 static SpaceId space_id(HeapWord* addr); |
1289 | 1296 |
1290 // Time since last full gc (in milliseconds). | 1297 // Time since last full gc (in milliseconds). |