src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp
Print this page
rev 4973 : imported patch checkpointing.diff
*** 27,36 ****
--- 27,38 ----
#include "gc_implementation/g1/heapRegionRemSet.hpp"
#include "runtime/atomic.hpp"
#include "runtime/mutexLocker.hpp"
#include "runtime/safepoint.hpp"
#include "runtime/thread.inline.hpp"
+ #include "runtime/vmThread.hpp"
+ #include "runtime/vm_operations.hpp"
#include "utilities/workgroup.hpp"
bool DirtyCardQueue::apply_closure(CardTableEntryClosure* cl,
bool consume,
size_t worker_i) {
*** 113,123 ****
worker_i);
guarantee(b, "Should not be interrupted.");
}
bool DirtyCardQueueSet::mut_process_buffer(void** buf) {
!
// Used to determine if we had already claimed a par_id
// before entering this method.
bool already_claimed = false;
// We grab the current JavaThread.
--- 115,127 ----
worker_i);
guarantee(b, "Should not be interrupted.");
}
bool DirtyCardQueueSet::mut_process_buffer(void** buf) {
! VMThread::execute (new VM_ForceAsyncSafepoint());
! return false;
! #if 0
// Used to determine if we had already claimed a par_id
// before entering this method.
bool already_claimed = false;
// We grab the current JavaThread.
*** 156,165 ****
--- 160,170 ----
// and set the claimed_id in the thread to -1
thread->set_claimed_par_id(-1);
}
}
return b;
+ #endif
}
BufferNode*
DirtyCardQueueSet::get_completed_buffer(int stop_at) {