< prev index next >
src/share/vm/gc/shared/workgroup.hpp
Print this page
*** 26,36 ****
#define SHARE_VM_GC_SHARED_WORKGROUP_HPP
#include "memory/allocation.hpp"
#include "runtime/globals.hpp"
#include "runtime/thread.hpp"
- #include "gc/shared/gcId.hpp"
#include "utilities/debug.hpp"
#include "utilities/globalDefinitions.hpp"
// Task class hierarchy:
// AbstractGangTask
--- 26,35 ----
*** 53,77 ****
// An abstract task to be worked on by a gang.
// You subclass this to supply your own work() method
class AbstractGangTask VALUE_OBJ_CLASS_SPEC {
const char* _name;
- const uint _gc_id;
public:
! AbstractGangTask(const char* name) :
! _name(name),
! _gc_id(GCId::current_raw()) // Use current_raw() here since the G1ParVerifyTask can be called outside of a GC (at VM exit)
! {}
// The abstract work method.
// The argument tells you which member of the gang you are.
virtual void work(uint worker_id) = 0;
// Debugging accessor for the name.
const char* name() const { return _name; }
- const uint gc_id() const { return _gc_id; }
};
struct WorkData {
AbstractGangTask* _task;
uint _worker_id;
--- 52,71 ----
// An abstract task to be worked on by a gang.
// You subclass this to supply your own work() method
class AbstractGangTask VALUE_OBJ_CLASS_SPEC {
const char* _name;
public:
! AbstractGangTask(const char* name) : _name(name) {}
// The abstract work method.
// The argument tells you which member of the gang you are.
virtual void work(uint worker_id) = 0;
// Debugging accessor for the name.
const char* name() const { return _name; }
};
struct WorkData {
AbstractGangTask* _task;
uint _worker_id;
< prev index next >