< prev index next >
src/hotspot/share/gc/z/zHeap.cpp
Print this page
rev 59026 : jmap baseline
*** 32,41 ****
--- 32,42 ----
#include "gc/z/zPageTable.inline.hpp"
#include "gc/z/zRelocationSet.inline.hpp"
#include "gc/z/zRelocationSetSelector.inline.hpp"
#include "gc/z/zResurrection.hpp"
#include "gc/z/zStat.hpp"
+ #include "gc/z/zTask.hpp"
#include "gc/z/zThread.inline.hpp"
#include "gc/z/zVerify.hpp"
#include "gc/z/zWorkers.inline.hpp"
#include "logging/log.hpp"
#include "memory/iterator.hpp"
*** 204,213 ****
--- 205,234 ----
void ZHeap::print_worker_threads_on(outputStream* st) const {
_workers.print_threads_on(st);
}
+ // Adapter class from AbstractGangTask to Ztask
+ class ZAbstractGangTaskAdapter : public ZTask {
+ private:
+ AbstractGangTask* _task;
+
+ public:
+ ZAbstractGangTaskAdapter(AbstractGangTask* task) :
+ ZTask(task->name()),
+ _task(task) { }
+
+ virtual void work() {
+ _task->work(ZThread::worker_id());
+ }
+ };
+
+ void ZHeap::run_task(AbstractGangTask* task) {
+ ZAbstractGangTaskAdapter ztask(task);
+ _workers.run_parallel(&ztask);
+ }
+
void ZHeap::out_of_memory() {
ResourceMark rm;
ZStatInc(ZCounterOutOfMemory);
log_info(gc)("Out Of Memory (%s)", Thread::current()->name());
< prev index next >