Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/g1/concurrentG1RefineThread.hpp @ 20216:570cb6369f17
8019342: G1: High "Other" time most likely due to card redirtying
Summary: Parallelize card redirtying to decrease the time it takes.
Reviewed-by: brutisso
author | tschatzl |
---|---|
date | Mon, 21 Jul 2014 09:40:19 +0200 |
parents | 581e70386ec9 |
children |
comparison
equal
deleted
inserted
replaced
20215:983092f35ff7 | 20216:570cb6369f17 |
---|---|
26 #define SHARE_VM_GC_IMPLEMENTATION_G1_CONCURRENTG1REFINETHREAD_HPP | 26 #define SHARE_VM_GC_IMPLEMENTATION_G1_CONCURRENTG1REFINETHREAD_HPP |
27 | 27 |
28 #include "gc_implementation/shared/concurrentGCThread.hpp" | 28 #include "gc_implementation/shared/concurrentGCThread.hpp" |
29 | 29 |
30 // Forward Decl. | 30 // Forward Decl. |
31 class CardTableEntryClosure; | |
31 class ConcurrentG1Refine; | 32 class ConcurrentG1Refine; |
32 | 33 |
33 // The G1 Concurrent Refinement Thread (could be several in the future). | 34 // The G1 Concurrent Refinement Thread (could be several in the future). |
34 | 35 |
35 class ConcurrentG1RefineThread: public ConcurrentGCThread { | 36 class ConcurrentG1RefineThread: public ConcurrentGCThread { |
47 bool _active; | 48 bool _active; |
48 ConcurrentG1RefineThread* _next; | 49 ConcurrentG1RefineThread* _next; |
49 Monitor* _monitor; | 50 Monitor* _monitor; |
50 ConcurrentG1Refine* _cg1r; | 51 ConcurrentG1Refine* _cg1r; |
51 | 52 |
53 // The closure applied to completed log buffers. | |
54 CardTableEntryClosure* _refine_closure; | |
55 | |
52 int _thread_threshold_step; | 56 int _thread_threshold_step; |
53 // This thread activation threshold | 57 // This thread activation threshold |
54 int _threshold; | 58 int _threshold; |
55 // This thread deactivation threshold | 59 // This thread deactivation threshold |
56 int _deactivation_threshold; | 60 int _deactivation_threshold; |
66 | 70 |
67 public: | 71 public: |
68 virtual void run(); | 72 virtual void run(); |
69 // Constructor | 73 // Constructor |
70 ConcurrentG1RefineThread(ConcurrentG1Refine* cg1r, ConcurrentG1RefineThread* next, | 74 ConcurrentG1RefineThread(ConcurrentG1Refine* cg1r, ConcurrentG1RefineThread* next, |
75 CardTableEntryClosure* refine_closure, | |
71 uint worker_id_offset, uint worker_id); | 76 uint worker_id_offset, uint worker_id); |
72 | 77 |
73 void initialize(); | 78 void initialize(); |
74 | 79 |
75 // Printing | 80 // Printing |