< prev index next >
src/share/vm/gc/cms/vmCMSOperations.hpp
Print this page
*** 25,34 ****
--- 25,35 ----
#ifndef SHARE_VM_GC_CMS_VMCMSOPERATIONS_HPP
#define SHARE_VM_GC_CMS_VMCMSOPERATIONS_HPP
#include "gc/cms/concurrentMarkSweepGeneration.hpp"
#include "gc/shared/gcCause.hpp"
+ #include "gc/shared/gcId.hpp"
#include "gc/shared/vmGCOperations.hpp"
#include "runtime/vm_operations.hpp"
// The VM_CMS_Operation is slightly different from
// a VM_GC_Operation -- and would not have subclassed easily
*** 51,71 ****
class VM_CMS_Operation: public VM_Operation {
protected:
CMSCollector* _collector; // associated collector
bool _prologue_succeeded; // whether doit_prologue succeeded
bool lost_race() const;
// java.lang.ref.Reference support
void acquire_pending_list_lock();
void release_and_notify_pending_list_lock();
public:
VM_CMS_Operation(CMSCollector* collector):
_collector(collector),
! _prologue_succeeded(false) {}
~VM_CMS_Operation() {}
// The legal collector state for executing this CMS op.
virtual const CMSCollector::CollectorState legal_state() const = 0;
--- 52,74 ----
class VM_CMS_Operation: public VM_Operation {
protected:
CMSCollector* _collector; // associated collector
bool _prologue_succeeded; // whether doit_prologue succeeded
+ uint _gc_id;
bool lost_race() const;
// java.lang.ref.Reference support
void acquire_pending_list_lock();
void release_and_notify_pending_list_lock();
public:
VM_CMS_Operation(CMSCollector* collector):
_collector(collector),
! _prologue_succeeded(false),
! _gc_id(GCId::current()) {}
~VM_CMS_Operation() {}
// The legal collector state for executing this CMS op.
virtual const CMSCollector::CollectorState legal_state() const = 0;
< prev index next >