src/share/vm/gc_implementation/g1/concurrentG1RefineThread.hpp

Print this page
rev 6327 : 8019342: G1: High "Other" time most likely due to card redirtying
Summary: Parallelize card redirtying to decrease the time it takes.
Reviewed-by: brutisso

*** 26,35 **** --- 26,36 ---- #define SHARE_VM_GC_IMPLEMENTATION_G1_CONCURRENTG1REFINETHREAD_HPP #include "gc_implementation/shared/concurrentGCThread.hpp" // Forward Decl. + class CardTableEntryClosure; class ConcurrentG1Refine; // The G1 Concurrent Refinement Thread (could be several in the future). class ConcurrentG1RefineThread: public ConcurrentGCThread {
*** 47,56 **** --- 48,60 ---- bool _active; ConcurrentG1RefineThread* _next; Monitor* _monitor; ConcurrentG1Refine* _cg1r; + // The closure applied to completed log buffers. + CardTableEntryClosure* _refine_closure; + int _thread_threshold_step; // This thread activation threshold int _threshold; // This thread deactivation threshold int _deactivation_threshold;
*** 66,75 **** --- 70,80 ---- public: virtual void run(); // Constructor ConcurrentG1RefineThread(ConcurrentG1Refine* cg1r, ConcurrentG1RefineThread* next, + CardTableEntryClosure* refine_closure, uint worker_id_offset, uint worker_id); void initialize(); // Printing