< prev index next >
src/share/vm/gc/shared/preservedMarks.cpp
Print this page
@@ -21,16 +21,20 @@
* 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"
+#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,10 +110,11 @@
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,10 +149,11 @@
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 >