Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp @ 20804:7848fc12602b
Merge with jdk8u40-b25
author | Gilles Duboscq <gilles.m.duboscq@oracle.com> |
---|---|
date | Tue, 07 Apr 2015 14:58:49 +0200 |
parents | 2c6ef90f030a |
children |
comparison
equal
deleted
inserted
replaced
20184:84105dcdb05b | 20804:7848fc12602b |
---|---|
51 assert(Universe::heap()->is_gc_active(), "called outside gc"); | 51 assert(Universe::heap()->is_gc_active(), "called outside gc"); |
52 | 52 |
53 ResourceMark rm; | 53 ResourceMark rm; |
54 | 54 |
55 NOT_PRODUCT(GCTraceTime tm("ThreadRootsMarkingTask", | 55 NOT_PRODUCT(GCTraceTime tm("ThreadRootsMarkingTask", |
56 PrintGCDetails && TraceParallelOldGCTasks, true, NULL)); | 56 PrintGCDetails && TraceParallelOldGCTasks, true, NULL, PSParallelCompact::gc_tracer()->gc_id())); |
57 ParCompactionManager* cm = | 57 ParCompactionManager* cm = |
58 ParCompactionManager::gc_thread_compaction_manager(which); | 58 ParCompactionManager::gc_thread_compaction_manager(which); |
59 | 59 |
60 PSParallelCompact::MarkAndPushClosure mark_and_push_closure(cm); | 60 PSParallelCompact::MarkAndPushClosure mark_and_push_closure(cm); |
61 CLDToOopClosure mark_and_push_from_clds(&mark_and_push_closure, true); | 61 CLDToOopClosure mark_and_push_from_clds(&mark_and_push_closure, true); |
62 CodeBlobToOopClosure mark_and_push_in_blobs(&mark_and_push_closure, /*do_marking=*/ true); | 62 MarkingCodeBlobClosure mark_and_push_in_blobs(&mark_and_push_closure, !CodeBlobToOopClosure::FixRelocations); |
63 | 63 |
64 if (_java_thread != NULL) | 64 if (_java_thread != NULL) |
65 _java_thread->oops_do( | 65 _java_thread->oops_do( |
66 &mark_and_push_closure, | 66 &mark_and_push_closure, |
67 &mark_and_push_from_clds, | 67 &mark_and_push_from_clds, |
80 | 80 |
81 void MarkFromRootsTask::do_it(GCTaskManager* manager, uint which) { | 81 void MarkFromRootsTask::do_it(GCTaskManager* manager, uint which) { |
82 assert(Universe::heap()->is_gc_active(), "called outside gc"); | 82 assert(Universe::heap()->is_gc_active(), "called outside gc"); |
83 | 83 |
84 NOT_PRODUCT(GCTraceTime tm("MarkFromRootsTask", | 84 NOT_PRODUCT(GCTraceTime tm("MarkFromRootsTask", |
85 PrintGCDetails && TraceParallelOldGCTasks, true, NULL)); | 85 PrintGCDetails && TraceParallelOldGCTasks, true, NULL, PSParallelCompact::gc_tracer()->gc_id())); |
86 ParCompactionManager* cm = | 86 ParCompactionManager* cm = |
87 ParCompactionManager::gc_thread_compaction_manager(which); | 87 ParCompactionManager::gc_thread_compaction_manager(which); |
88 PSParallelCompact::MarkAndPushClosure mark_and_push_closure(cm); | 88 PSParallelCompact::MarkAndPushClosure mark_and_push_closure(cm); |
89 PSParallelCompact::FollowKlassClosure follow_klass_closure(&mark_and_push_closure); | 89 PSParallelCompact::FollowKlassClosure follow_klass_closure(&mark_and_push_closure); |
90 | 90 |
98 break; | 98 break; |
99 | 99 |
100 case threads: | 100 case threads: |
101 { | 101 { |
102 ResourceMark rm; | 102 ResourceMark rm; |
103 CodeBlobToOopClosure each_active_code_blob(&mark_and_push_closure, /*do_marking=*/ true); | 103 MarkingCodeBlobClosure each_active_code_blob(&mark_and_push_closure, !CodeBlobToOopClosure::FixRelocations); |
104 CLDToOopClosure mark_and_push_from_cld(&mark_and_push_closure); | 104 CLDToOopClosure mark_and_push_from_cld(&mark_and_push_closure); |
105 Threads::oops_do(&mark_and_push_closure, &mark_and_push_from_cld, &each_active_code_blob); | 105 Threads::oops_do(&mark_and_push_closure, &mark_and_push_from_cld, &each_active_code_blob); |
106 } | 106 } |
107 break; | 107 break; |
108 | 108 |
151 void RefProcTaskProxy::do_it(GCTaskManager* manager, uint which) | 151 void RefProcTaskProxy::do_it(GCTaskManager* manager, uint which) |
152 { | 152 { |
153 assert(Universe::heap()->is_gc_active(), "called outside gc"); | 153 assert(Universe::heap()->is_gc_active(), "called outside gc"); |
154 | 154 |
155 NOT_PRODUCT(GCTraceTime tm("RefProcTask", | 155 NOT_PRODUCT(GCTraceTime tm("RefProcTask", |
156 PrintGCDetails && TraceParallelOldGCTasks, true, NULL)); | 156 PrintGCDetails && TraceParallelOldGCTasks, true, NULL, PSParallelCompact::gc_tracer()->gc_id())); |
157 ParCompactionManager* cm = | 157 ParCompactionManager* cm = |
158 ParCompactionManager::gc_thread_compaction_manager(which); | 158 ParCompactionManager::gc_thread_compaction_manager(which); |
159 PSParallelCompact::MarkAndPushClosure mark_and_push_closure(cm); | 159 PSParallelCompact::MarkAndPushClosure mark_and_push_closure(cm); |
160 PSParallelCompact::FollowStackClosure follow_stack_closure(cm); | 160 PSParallelCompact::FollowStackClosure follow_stack_closure(cm); |
161 _rp_task.work(_work_id, *PSParallelCompact::is_alive_closure(), | 161 _rp_task.work(_work_id, *PSParallelCompact::is_alive_closure(), |
207 | 207 |
208 void StealMarkingTask::do_it(GCTaskManager* manager, uint which) { | 208 void StealMarkingTask::do_it(GCTaskManager* manager, uint which) { |
209 assert(Universe::heap()->is_gc_active(), "called outside gc"); | 209 assert(Universe::heap()->is_gc_active(), "called outside gc"); |
210 | 210 |
211 NOT_PRODUCT(GCTraceTime tm("StealMarkingTask", | 211 NOT_PRODUCT(GCTraceTime tm("StealMarkingTask", |
212 PrintGCDetails && TraceParallelOldGCTasks, true, NULL)); | 212 PrintGCDetails && TraceParallelOldGCTasks, true, NULL, PSParallelCompact::gc_tracer()->gc_id())); |
213 | 213 |
214 ParCompactionManager* cm = | 214 ParCompactionManager* cm = |
215 ParCompactionManager::gc_thread_compaction_manager(which); | 215 ParCompactionManager::gc_thread_compaction_manager(which); |
216 PSParallelCompact::MarkAndPushClosure mark_and_push_closure(cm); | 216 PSParallelCompact::MarkAndPushClosure mark_and_push_closure(cm); |
217 | 217 |
240 | 240 |
241 void StealRegionCompactionTask::do_it(GCTaskManager* manager, uint which) { | 241 void StealRegionCompactionTask::do_it(GCTaskManager* manager, uint which) { |
242 assert(Universe::heap()->is_gc_active(), "called outside gc"); | 242 assert(Universe::heap()->is_gc_active(), "called outside gc"); |
243 | 243 |
244 NOT_PRODUCT(GCTraceTime tm("StealRegionCompactionTask", | 244 NOT_PRODUCT(GCTraceTime tm("StealRegionCompactionTask", |
245 PrintGCDetails && TraceParallelOldGCTasks, true, NULL)); | 245 PrintGCDetails && TraceParallelOldGCTasks, true, NULL, PSParallelCompact::gc_tracer()->gc_id())); |
246 | 246 |
247 ParCompactionManager* cm = | 247 ParCompactionManager* cm = |
248 ParCompactionManager::gc_thread_compaction_manager(which); | 248 ParCompactionManager::gc_thread_compaction_manager(which); |
249 | 249 |
250 | 250 |
307 _region_index_end(region_index_end) {} | 307 _region_index_end(region_index_end) {} |
308 | 308 |
309 void UpdateDensePrefixTask::do_it(GCTaskManager* manager, uint which) { | 309 void UpdateDensePrefixTask::do_it(GCTaskManager* manager, uint which) { |
310 | 310 |
311 NOT_PRODUCT(GCTraceTime tm("UpdateDensePrefixTask", | 311 NOT_PRODUCT(GCTraceTime tm("UpdateDensePrefixTask", |
312 PrintGCDetails && TraceParallelOldGCTasks, true, NULL)); | 312 PrintGCDetails && TraceParallelOldGCTasks, true, NULL, PSParallelCompact::gc_tracer()->gc_id())); |
313 | 313 |
314 ParCompactionManager* cm = | 314 ParCompactionManager* cm = |
315 ParCompactionManager::gc_thread_compaction_manager(which); | 315 ParCompactionManager::gc_thread_compaction_manager(which); |
316 | 316 |
317 PSParallelCompact::update_and_deadwood_in_dense_prefix(cm, | 317 PSParallelCompact::update_and_deadwood_in_dense_prefix(cm, |
322 | 322 |
323 void DrainStacksCompactionTask::do_it(GCTaskManager* manager, uint which) { | 323 void DrainStacksCompactionTask::do_it(GCTaskManager* manager, uint which) { |
324 assert(Universe::heap()->is_gc_active(), "called outside gc"); | 324 assert(Universe::heap()->is_gc_active(), "called outside gc"); |
325 | 325 |
326 NOT_PRODUCT(GCTraceTime tm("DrainStacksCompactionTask", | 326 NOT_PRODUCT(GCTraceTime tm("DrainStacksCompactionTask", |
327 PrintGCDetails && TraceParallelOldGCTasks, true, NULL)); | 327 PrintGCDetails && TraceParallelOldGCTasks, true, NULL, PSParallelCompact::gc_tracer()->gc_id())); |
328 | 328 |
329 ParCompactionManager* cm = | 329 ParCompactionManager* cm = |
330 ParCompactionManager::gc_thread_compaction_manager(which); | 330 ParCompactionManager::gc_thread_compaction_manager(which); |
331 | 331 |
332 uint which_stack_index; | 332 uint which_stack_index; |