< prev index next >
src/share/vm/gc/shared/vmGCOperations.cpp
Print this page
*** 28,41 ****
#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 "runtime/handles.inline.hpp"
#include "runtime/init.hpp"
#include "runtime/interfaceSupport.hpp"
#include "utilities/dtrace.hpp"
#include "utilities/macros.hpp"
--- 28,39 ----
#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 "logging/log.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,79 ****
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);
}
-
void VM_GC_Operation::release_and_notify_pending_list_lock() {
!
! InstanceRefKlass::release_and_notify_pending_list_lock(&_pending_list_basic_lock);
}
// 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,
--- 60,74 ----
HOTSPOT_GC_END();
HS_DTRACE_WORKAROUND_TAIL_CALL_BUG();
}
void VM_GC_Operation::acquire_pending_list_lock() {
! _pending_list_locker.lock();
}
void VM_GC_Operation::release_and_notify_pending_list_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 >