8189748: More precise closures for WeakProcessor::weak_oops_do calls

Reviewed-by: pliden, sjohanss
This commit is contained in:
Stefan Karlsson 2017-10-23 11:20:53 +02:00
parent 817d6bc039
commit d129d1cdf2
14 changed files with 90 additions and 75 deletions

View file

@ -2119,14 +2119,14 @@ void PSParallelCompact::marking_phase(ParCompactionManager* cm,
pt.print_all_references();
}
{
GCTraceTime(Debug, gc, phases) tm("Weak Processing", &_gc_timer);
WeakProcessor::weak_oops_do(is_alive_closure(), &mark_and_push_closure, &follow_stack_closure);
}
// This is the point where the entire marking should have completed.
assert(cm->marking_stacks_empty(), "Marking should have completed");
{
GCTraceTime(Debug, gc, phases) tm("Weak Processing", &_gc_timer);
WeakProcessor::weak_oops_do(is_alive_closure(), &do_nothing_cl);
}
{
GCTraceTime(Debug, gc, phases) tm_m("Class Unloading", &_gc_timer);