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) {