< prev index next >
src/hotspot/share/gc/parallel/psScavenge.cpp
Print this page
rev 57895 : [mq]: 8215297-remove-ptt
@@ -41,10 +41,11 @@
#include "gc/shared/gcLocker.hpp"
#include "gc/shared/gcTimer.hpp"
#include "gc/shared/gcTrace.hpp"
#include "gc/shared/gcTraceTime.inline.hpp"
#include "gc/shared/isGCActiveMark.hpp"
+#include "gc/shared/owstTaskTerminator.hpp"
#include "gc/shared/referencePolicy.hpp"
#include "gc/shared/referenceProcessor.hpp"
#include "gc/shared/referenceProcessorPhaseTimes.hpp"
#include "gc/shared/scavengableNMethods.hpp"
#include "gc/shared/spaceDecorator.inline.hpp"
@@ -136,11 +137,11 @@
// Do the real work
pm->drain_stacks(false);
}
-static void steal_work(ParallelTaskTerminator& terminator, uint worker_id) {
+static void steal_work(OWSTTaskTerminator& terminator, uint worker_id) {
assert(ParallelScavengeHeap::heap()->is_gc_active(), "called outside gc");
PSPromotionManager* pm =
PSPromotionManager::gc_thread_promotion_manager(worker_id);
pm->drain_stacks(true);
@@ -216,11 +217,11 @@
virtual void execute(ProcessTask& process_task, uint ergo_workers);
};
class PSRefProcTask : public AbstractGangTask {
typedef AbstractRefProcTaskExecutor::ProcessTask ProcessTask;
- TaskTerminator _terminator;
+ OWSTTaskTerminator _terminator;
ProcessTask& _task;
uint _active_workers;
public:
PSRefProcTask(ProcessTask& task, uint active_workers)
@@ -238,11 +239,11 @@
PSEvacuateFollowersClosure evac_followers(promotion_manager);
PSIsAliveClosure is_alive;
_task.work(worker_id, is_alive, keep_alive, evac_followers);
if (_task.marks_oops_alive() && _active_workers > 1) {
- steal_work(*_terminator.terminator(), worker_id);
+ steal_work(_terminator, worker_id);
}
}
};
void PSRefProcTaskExecutor::execute(ProcessTask& process_task, uint ergo_workers) {
@@ -312,11 +313,11 @@
SequentialSubTasksDone _subtasks;
PSOldGen* _old_gen;
HeapWord* _gen_top;
uint _active_workers;
bool _is_empty;
- TaskTerminator _terminator;
+ OWSTTaskTerminator _terminator;
public:
ScavengeRootsTask(PSOldGen* old_gen,
HeapWord* gen_top,
uint active_workers,
@@ -375,11 +376,11 @@
// PSPromotionManager::drain_stacks_depth() does not fully drain its
// stacks and expects a steal_work() to complete the draining if
// ParallelGCThreads is > 1.
if (_active_workers > 1) {
- steal_work(*_terminator.terminator() , worker_id);
+ steal_work(_terminator, worker_id);
}
}
};
// This method contains no policy. You should probably
@@ -729,11 +730,11 @@
log_debug(gc, task, time)("VM-Thread " JLONG_FORMAT " " JLONG_FORMAT " " JLONG_FORMAT,
scavenge_entry.ticks(), scavenge_midpoint.ticks(),
scavenge_exit.ticks());
#ifdef TRACESPINNING
- ParallelTaskTerminator::print_termination_counts();
+ OWSTTaskTerminator::print_termination_counts();
#endif
AdaptiveSizePolicyOutput::print(size_policy, heap->total_collections());
_gc_timer.register_gc_end();
< prev index next >