< prev index next >
src/share/vm/gc/cms/vmCMSOperations.hpp
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -26,10 +26,11 @@
#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/referencePendingListLocker.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
@@ -49,10 +50,13 @@
// Forward decl.
class CMSCollector;
class VM_CMS_Operation: public VM_Operation {
+ private:
+ ReferencePendingListLocker _pending_list_locker;
+
protected:
CMSCollector* _collector; // associated collector
bool _prologue_succeeded; // whether doit_prologue succeeded
uint _gc_id;
@@ -71,11 +75,11 @@
// The legal collector state for executing this CMS op.
virtual const CMSCollector::CollectorState legal_state() const = 0;
// Whether the pending list lock needs to be held
- virtual const bool needs_pll() const = 0;
+ virtual const bool needs_pending_list_lock() const = 0;
// Execute operations in the context of the caller,
// prior to execution of the vm operation itself.
virtual bool doit_prologue();
// Execute operations in the context of the caller,
@@ -103,11 +107,11 @@
virtual const CMSCollector::CollectorState legal_state() const {
return CMSCollector::InitialMarking;
}
- virtual const bool needs_pll() const {
+ virtual const bool needs_pending_list_lock() const {
return false;
}
};
// VM_CMS_Operation for the final remark phase of CMS.
@@ -120,11 +124,11 @@
virtual const CMSCollector::CollectorState legal_state() const {
return CMSCollector::FinalMarking;
}
- virtual const bool needs_pll() const {
+ virtual const bool needs_pending_list_lock() const {
return true;
}
};
< prev index next >