< prev index next >

src/share/vm/gc/g1/dirtyCardQueue.hpp

Print this page
rev 8802 : G1 performance improvements: card batching, joining, sorting, prefetching and write barrier fence elision and simplification based on a global syncrhonization using handshakes piggybacking on thread-local safepoints.

*** 78,90 **** }; class DirtyCardQueueSet: public PtrQueueSet { - // The closure used in mut_process_buffer(). - CardTableEntryClosure* _mut_process_closure; - DirtyCardQueue _shared_dirty_card_queue; // Override. bool mut_process_buffer(void** buf); --- 78,87 ----
*** 96,109 **** jint _processed_buffers_mut; jint _processed_buffers_rs_thread; // Current buffer node used for parallel iteration. BufferNode* volatile _cur_par_buffer_node; public: DirtyCardQueueSet(bool notify_when_complete = true); ! void initialize(CardTableEntryClosure* cl, Monitor* cbl_mon, Mutex* fl_lock, int process_completed_threshold, int max_completed_queue, Mutex* lock, PtrQueueSet* fl_owner = NULL); // The number of parallel ids that can be claimed to allow collector or --- 93,108 ---- jint _processed_buffers_mut; jint _processed_buffers_rs_thread; // Current buffer node used for parallel iteration. BufferNode* volatile _cur_par_buffer_node; + + bool _should_do_processing; public: DirtyCardQueueSet(bool notify_when_complete = true); ! void initialize(bool should_do_processing, Monitor* cbl_mon, Mutex* fl_lock, int process_completed_threshold, int max_completed_queue, Mutex* lock, PtrQueueSet* fl_owner = NULL); // The number of parallel ids that can be claimed to allow collector or
< prev index next >