comparison src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.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 e2722a66aba7
comparison
equal deleted inserted replaced
12009:39127bb12d32 12029:9766f73e770d
30 #include "gc_implementation/parallelScavenge/psScavenge.hpp" 30 #include "gc_implementation/parallelScavenge/psScavenge.hpp"
31 31
32 inline PSPromotionManager* PSPromotionManager::manager_array(int index) { 32 inline PSPromotionManager* PSPromotionManager::manager_array(int index) {
33 assert(_manager_array != NULL, "access of NULL manager_array"); 33 assert(_manager_array != NULL, "access of NULL manager_array");
34 assert(index >= 0 && index <= (int)ParallelGCThreads, "out of range manager_array access"); 34 assert(index >= 0 && index <= (int)ParallelGCThreads, "out of range manager_array access");
35 return _manager_array[index]; 35 return &_manager_array[index];
36 } 36 }
37 37
38 template <class T> 38 template <class T>
39 inline void PSPromotionManager::claim_or_forward_internal_depth(T* p) { 39 inline void PSPromotionManager::claim_or_forward_internal_depth(T* p) {
40 if (p != NULL) { // XXX: error if p != NULL here 40 if (p != NULL) { // XXX: error if p != NULL here