equal
deleted
inserted
replaced
47 #include "runtime/orderAccess.hpp" |
47 #include "runtime/orderAccess.hpp" |
48 #include "utilities/growableArray.hpp" |
48 #include "utilities/growableArray.hpp" |
49 |
49 |
50 int HeapRegion::LogOfHRGrainBytes = 0; |
50 int HeapRegion::LogOfHRGrainBytes = 0; |
51 int HeapRegion::LogOfHRGrainWords = 0; |
51 int HeapRegion::LogOfHRGrainWords = 0; |
|
52 int HeapRegion::LogCardsPerRegion = 0; |
52 size_t HeapRegion::GrainBytes = 0; |
53 size_t HeapRegion::GrainBytes = 0; |
53 size_t HeapRegion::GrainWords = 0; |
54 size_t HeapRegion::GrainWords = 0; |
54 size_t HeapRegion::CardsPerRegion = 0; |
55 size_t HeapRegion::CardsPerRegion = 0; |
55 |
56 |
56 size_t HeapRegion::max_region_size() { |
57 size_t HeapRegion::max_region_size() { |
102 GrainWords = GrainBytes >> LogHeapWordSize; |
103 GrainWords = GrainBytes >> LogHeapWordSize; |
103 guarantee((size_t) 1 << LogOfHRGrainWords == GrainWords, "sanity"); |
104 guarantee((size_t) 1 << LogOfHRGrainWords == GrainWords, "sanity"); |
104 |
105 |
105 guarantee(CardsPerRegion == 0, "we should only set it once"); |
106 guarantee(CardsPerRegion == 0, "we should only set it once"); |
106 CardsPerRegion = GrainBytes >> G1CardTable::card_shift; |
107 CardsPerRegion = GrainBytes >> G1CardTable::card_shift; |
|
108 |
|
109 LogCardsPerRegion = log2_long((jlong) CardsPerRegion); |
107 |
110 |
108 if (G1HeapRegionSize != GrainBytes) { |
111 if (G1HeapRegionSize != GrainBytes) { |
109 FLAG_SET_ERGO(G1HeapRegionSize, GrainBytes); |
112 FLAG_SET_ERGO(G1HeapRegionSize, GrainBytes); |
110 } |
113 } |
111 } |
114 } |