< prev index next >
src/share/vm/gc/shared/vmGCOperations.cpp
Print this page
@@ -28,14 +28,12 @@
#include "gc/shared/allocTracer.hpp"
#include "gc/shared/gcId.hpp"
#include "gc/shared/gcLocker.inline.hpp"
#include "gc/shared/genCollectedHeap.hpp"
#include "gc/shared/vmGCOperations.hpp"
-#include "memory/oopFactory.hpp"
#include "logging/log.hpp"
-#include "oops/instanceKlass.hpp"
-#include "oops/instanceRefKlass.hpp"
+#include "memory/oopFactory.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/init.hpp"
#include "runtime/interfaceSupport.hpp"
#include "utilities/dtrace.hpp"
#include "utilities/macros.hpp"
@@ -62,18 +60,15 @@
HOTSPOT_GC_END();
HS_DTRACE_WORKAROUND_TAIL_CALL_BUG();
}
void VM_GC_Operation::acquire_pending_list_lock() {
- // we may enter this with pending exception set
- InstanceRefKlass::acquire_pending_list_lock(&_pending_list_basic_lock);
+ _pending_list_locker.lock();
}
-
void VM_GC_Operation::release_and_notify_pending_list_lock() {
-
- InstanceRefKlass::release_and_notify_pending_list_lock(&_pending_list_basic_lock);
+ _pending_list_locker.unlock();
}
// Allocations may fail in several threads at about the same time,
// resulting in multiple gc requests. We only want to do one of them.
// In case a GC locker is active and the need for a GC is already signaled,
< prev index next >