Merge
This commit is contained in:
commit
2945c4da22
@ -220,13 +220,13 @@ void StealMarkingTask::do_it(GCTaskManager* manager, uint which) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// StealRegionCompactionTask
|
// CompactionWithStealingTask
|
||||||
//
|
//
|
||||||
|
|
||||||
StealRegionCompactionTask::StealRegionCompactionTask(ParallelTaskTerminator* t):
|
CompactionWithStealingTask::CompactionWithStealingTask(ParallelTaskTerminator* t):
|
||||||
_terminator(t) {}
|
_terminator(t) {}
|
||||||
|
|
||||||
void StealRegionCompactionTask::do_it(GCTaskManager* manager, uint which) {
|
void CompactionWithStealingTask::do_it(GCTaskManager* manager, uint which) {
|
||||||
assert(ParallelScavengeHeap::heap()->is_gc_active(), "called outside gc");
|
assert(ParallelScavengeHeap::heap()->is_gc_active(), "called outside gc");
|
||||||
|
|
||||||
ParCompactionManager* cm =
|
ParCompactionManager* cm =
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -195,16 +195,16 @@ class StealMarkingTask : public GCTask {
|
|||||||
};
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
// StealRegionCompactionTask
|
// CompactionWithStealingTask
|
||||||
//
|
//
|
||||||
// This task is used to distribute work to idle threads.
|
// This task is used to distribute work to idle threads.
|
||||||
//
|
//
|
||||||
|
|
||||||
class StealRegionCompactionTask : public GCTask {
|
class CompactionWithStealingTask : public GCTask {
|
||||||
private:
|
private:
|
||||||
ParallelTaskTerminator* const _terminator;
|
ParallelTaskTerminator* const _terminator;
|
||||||
public:
|
public:
|
||||||
StealRegionCompactionTask(ParallelTaskTerminator* t);
|
CompactionWithStealingTask(ParallelTaskTerminator* t);
|
||||||
|
|
||||||
char* name() { return (char *)"steal-region-task"; }
|
char* name() { return (char *)"steal-region-task"; }
|
||||||
ParallelTaskTerminator* terminator() { return _terminator; }
|
ParallelTaskTerminator* terminator() { return _terminator; }
|
||||||
|
@ -40,7 +40,7 @@ class ParCompactionManager : public CHeapObj<mtGC> {
|
|||||||
friend class ParallelTaskTerminator;
|
friend class ParallelTaskTerminator;
|
||||||
friend class ParMarkBitMap;
|
friend class ParMarkBitMap;
|
||||||
friend class PSParallelCompact;
|
friend class PSParallelCompact;
|
||||||
friend class StealRegionCompactionTask;
|
friend class CompactionWithStealingTask;
|
||||||
friend class UpdateAndFillClosure;
|
friend class UpdateAndFillClosure;
|
||||||
friend class RefProcTaskExecutor;
|
friend class RefProcTaskExecutor;
|
||||||
friend class IdleGCTask;
|
friend class IdleGCTask;
|
||||||
|
@ -2371,7 +2371,7 @@ void PSParallelCompact::enqueue_region_stealing_tasks(
|
|||||||
// Once a thread has drained it's stack, it should try to steal regions from
|
// Once a thread has drained it's stack, it should try to steal regions from
|
||||||
// other threads.
|
// other threads.
|
||||||
for (uint j = 0; j < parallel_gc_threads; j++) {
|
for (uint j = 0; j < parallel_gc_threads; j++) {
|
||||||
q->enqueue(new StealRegionCompactionTask(terminator_ptr));
|
q->enqueue(new CompactionWithStealingTask(terminator_ptr));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user