< prev index next >
src/share/vm/gc/shared/preservedMarks.cpp
Print this page
*** 21,36 ****
* questions.
*
*/
#include "precompiled.hpp"
- #include "gc/parallel/gcTaskManager.hpp"
#include "gc/shared/preservedMarks.inline.hpp"
#include "gc/shared/workgroup.hpp"
#include "memory/allocation.inline.hpp"
#include "memory/resourceArea.hpp"
void PreservedMarks::restore() {
while (!_stack.is_empty()) {
const OopAndMarkOop elem = _stack.pop();
elem.set_mark();
}
--- 21,40 ----
* questions.
*
*/
#include "precompiled.hpp"
#include "gc/shared/preservedMarks.inline.hpp"
#include "gc/shared/workgroup.hpp"
#include "memory/allocation.inline.hpp"
#include "memory/resourceArea.hpp"
+ #include "utilities/macros.hpp"
+ #if INCLUDE_ALL_GCS
+ #include "gc/parallel/gcTaskManager.hpp"
+ #endif
+
void PreservedMarks::restore() {
while (!_stack.is_empty()) {
const OopAndMarkOop elem = _stack.pop();
elem.set_mark();
}
*** 106,115 ****
--- 110,120 ----
assert(workers != NULL, "pre-condition");
ParRestoreTask task(workers->active_workers(), this, total_size_addr);
workers->run_task(&task);
}
+ #if INCLUDE_ALL_GCS
class ParRestoreGCTask : public GCTask {
private:
const uint _id;
PreservedMarksSet* const _preserved_marks_set;
volatile size_t* const _total_size_addr;
*** 144,153 ****
--- 149,159 ----
for (uint i = 0; i < num(); i += 1) {
q->enqueue(new ParRestoreGCTask(i, this, total_size_addr));
}
gc_task_manager->execute_and_wait(q);
}
+ #endif
void PreservedMarksSet::reclaim() {
assert_empty();
for (uint i = 0; i < _num; i += 1) {
< prev index next >