equal
deleted
inserted
replaced
37 CommitMask _mask; |
37 CommitMask _mask; |
38 |
38 |
39 void verify_mask() { |
39 void verify_mask() { |
40 // Note: we omit the touch test since we operate on fictional |
40 // Note: we omit the touch test since we operate on fictional |
41 // memory |
41 // memory |
42 DEBUG_ONLY(_mask.verify(true, false);) |
42 DEBUG_ONLY(_mask.verify(false);) |
43 } |
43 } |
44 |
44 |
45 // Return a random sub range within [_base.._base + word_size), |
45 // Return a random sub range within [_base.._base + word_size), |
46 // aligned to granule size |
46 // aligned to granule size |
47 const MetaWord* calc_random_subrange(size_t* p_word_size) { |
47 const MetaWord* calc_random_subrange(size_t* p_word_size) { |
256 } |
256 } |
257 |
257 |
258 |
258 |
259 }; |
259 }; |
260 |
260 |
261 TEST(metaspace, commit_mask_basics) { |
261 TEST_VM(metaspace, commit_mask_basics) { |
262 |
262 |
263 const MetaWord* const base = (const MetaWord*) 0x100000; |
263 const MetaWord* const base = (const MetaWord*) 0x100000; |
264 |
264 |
265 CommitMask mask1(base, Settings::commit_granule_words()); |
265 CommitMask mask1(base, Settings::commit_granule_words()); |
266 ASSERT_EQ(mask1.size(), (BitMap::idx_t)1); |
266 ASSERT_EQ(mask1.size(), (BitMap::idx_t)1); |
280 } |
280 } |
281 ASSERT_EQ(mask3.at(42), 1); |
281 ASSERT_EQ(mask3.at(42), 1); |
282 |
282 |
283 } |
283 } |
284 |
284 |
285 TEST(metaspace, commit_mask_small) { |
285 TEST_VM(metaspace, commit_mask_small) { |
286 |
286 |
287 const MetaWord* const base = (const MetaWord*) 0x100000; |
287 const MetaWord* const base = (const MetaWord*) 0x100000; |
288 |
288 |
289 CommitMaskTest test(base, Settings::commit_granule_words()); |
289 CommitMaskTest test(base, Settings::commit_granule_words()); |
290 test.test(); |
290 test.test(); |
291 |
291 |
292 } |
292 } |
293 |
293 |
294 TEST(metaspace, commit_mask_range) { |
294 TEST_VM(metaspace, commit_mask_range) { |
295 |
295 |
296 const MetaWord* const base = (const MetaWord*) 0x100000; |
296 const MetaWord* const base = (const MetaWord*) 0x100000; |
297 const size_t len = Settings::commit_granule_words() * 4; |
297 const size_t len = Settings::commit_granule_words() * 4; |
298 const MetaWord* const end = base + len; |
298 const MetaWord* const end = base + len; |
299 CommitMask mask(base, len); |
299 CommitMask mask(base, len); |
327 } |
327 } |
328 |
328 |
329 } |
329 } |
330 |
330 |
331 |
331 |
332 TEST(metaspace, commit_mask_random) { |
332 TEST_VM(metaspace, commit_mask_random) { |
333 |
333 |
334 for (int i = 0; i < 5; i ++) { |
334 for (int i = 0; i < 5; i ++) { |
335 |
335 |
336 // make up a range out of thin air |
336 // make up a range out of thin air |
337 const MetaWord* const base = |
337 const MetaWord* const base = |