Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.hpp @ 12029:9766f73e770d
8022880: False sharing between PSPromotionManager instances
Summary: Pad the PSPromotionManager instances in the manager array.
Reviewed-by: brutisso, jmasa
author | stefank |
---|---|
date | Fri, 31 May 2013 14:32:44 +0200 |
parents | f2110083203d |
children | 190899198332 |
comparison
equal
deleted
inserted
replaced
12009:39127bb12d32 | 12029:9766f73e770d |
---|---|
27 | 27 |
28 #include "gc_implementation/parallelScavenge/psPromotionLAB.hpp" | 28 #include "gc_implementation/parallelScavenge/psPromotionLAB.hpp" |
29 #include "gc_implementation/shared/gcTrace.hpp" | 29 #include "gc_implementation/shared/gcTrace.hpp" |
30 #include "gc_implementation/shared/copyFailedInfo.hpp" | 30 #include "gc_implementation/shared/copyFailedInfo.hpp" |
31 #include "memory/allocation.hpp" | 31 #include "memory/allocation.hpp" |
32 #include "memory/padded.hpp" | |
33 #include "utilities/globalDefinitions.hpp" | |
32 #include "utilities/taskqueue.hpp" | 34 #include "utilities/taskqueue.hpp" |
33 | 35 |
34 // | 36 // |
35 // psPromotionManager is used by a single thread to manage object survival | 37 // psPromotionManager is used by a single thread to manage object survival |
36 // during a scavenge. The promotion manager contains thread local data only. | 38 // during a scavenge. The promotion manager contains thread local data only. |
49 | 51 |
50 class MutableSpace; | 52 class MutableSpace; |
51 class PSOldGen; | 53 class PSOldGen; |
52 class ParCompactionManager; | 54 class ParCompactionManager; |
53 | 55 |
54 class PSPromotionManager : public CHeapObj<mtGC> { | 56 class PSPromotionManager VALUE_OBJ_CLASS_SPEC { |
55 friend class PSScavenge; | 57 friend class PSScavenge; |
56 friend class PSRefProcTaskExecutor; | 58 friend class PSRefProcTaskExecutor; |
57 private: | 59 private: |
58 static PSPromotionManager** _manager_array; | 60 static PaddedEnd<PSPromotionManager>* _manager_array; |
59 static OopStarTaskQueueSet* _stack_array_depth; | 61 static OopStarTaskQueueSet* _stack_array_depth; |
60 static PSOldGen* _old_gen; | 62 static PSOldGen* _old_gen; |
61 static MutableSpace* _young_space; | 63 static MutableSpace* _young_space; |
62 | 64 |
63 #if TASKQUEUE_STATS | 65 #if TASKQUEUE_STATS |
64 size_t _masked_pushes; | 66 size_t _masked_pushes; |
65 size_t _masked_steals; | 67 size_t _masked_steals; |
66 size_t _arrays_chunked; | 68 size_t _arrays_chunked; |