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); |