comparison src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp @ 6750:859cd1a76f8a

7197906: BlockOffsetArray::power_to_cards_back() needs to handle > 32 bit shifts Reviewed-by: brutisso, johnc, ysr Contributed-by: Hal Mo <kungu.mjh@taobao.com>
author brutisso
date Thu, 13 Sep 2012 21:20:26 +0200
parents db823a892a55
children 6f817ce50129 5c93c1f61226
comparison
equal deleted inserted replaced
6749:a6fe94b9759f 6750:859cd1a76f8a
271 typedef PerRegionTable* PerRegionTablePtr; 271 typedef PerRegionTable* PerRegionTablePtr;
272 272
273 if (_max_fine_entries == 0) { 273 if (_max_fine_entries == 0) {
274 assert(_mod_max_fine_entries_mask == 0, "Both or none."); 274 assert(_mod_max_fine_entries_mask == 0, "Both or none.");
275 size_t max_entries_log = (size_t)log2_long((jlong)G1RSetRegionEntries); 275 size_t max_entries_log = (size_t)log2_long((jlong)G1RSetRegionEntries);
276 _max_fine_entries = (size_t)(1 << max_entries_log); 276 _max_fine_entries = (size_t)1 << max_entries_log;
277 _mod_max_fine_entries_mask = _max_fine_entries - 1; 277 _mod_max_fine_entries_mask = _max_fine_entries - 1;
278 278
279 assert(_fine_eviction_sample_size == 0 279 assert(_fine_eviction_sample_size == 0
280 && _fine_eviction_stride == 0, "All init at same time."); 280 && _fine_eviction_stride == 0, "All init at same time.");
281 _fine_eviction_sample_size = MAX2((size_t)4, max_entries_log); 281 _fine_eviction_sample_size = MAX2((size_t)4, max_entries_log);