< prev index next >
test/hotspot/gtest/metaspace/test_commitmask.cpp
Print this page
rev 60811 : imported patch jep387-all.patch
rev 60812 : [mq]: diff1
@@ -1,8 +1,8 @@
/*
- * Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2018, 2020 SAP SE. All rights reserved.
+ * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2020 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -22,14 +22,22 @@
* questions.
*
*/
#include "precompiled.hpp"
+
+#include "memory/metaspace/msCommitMask.hpp"
+#include "memory/metaspace/msSettings.hpp"
#include "runtime/os.hpp"
+#include "utilities/align.hpp"
+#include "utilities/debug.hpp"
+
+#include "metaspaceGtestCommon.hpp"
+#include "metaspaceGtestRangeHelpers.hpp"
-#include "metaspaceTestsCommon.hpp"
-#include "metaspace/metaspace_rangehelpers.hpp"
+using metaspace::CommitMask;
+using metaspace::Settings;
static int get_random(int limit) { return os::random() % limit; }
class CommitMaskTest {
const MetaWord* const _base;
@@ -38,11 +46,11 @@
CommitMask _mask;
void verify_mask() {
// Note: we omit the touch test since we operate on fictional
// memory
- DEBUG_ONLY(_mask.verify(false);)
+ DEBUG_ONLY(_mask.verify();)
}
// Return a random sub range within [_base.._base + word_size),
// aligned to granule size
const MetaWord* calc_random_subrange(size_t* p_word_size) {
@@ -83,11 +91,11 @@
ASSERT_EQ(_mask.get_committed_size(),
_word_size);
ASSERT_EQ(_mask.get_committed_size_in_range(_base, _word_size),
_word_size);
- for (const MetaWord* p = _base; p < _base + _word_size; p ++) {
+ for (const MetaWord* p = _base; p < _base + _word_size; p++) {
ASSERT_TRUE(_mask.is_committed_address(p));
}
// Now make an uncommitted hole
size_t sr_word_size;
@@ -109,11 +117,11 @@
(size_t)0);
ASSERT_EQ(_mask.get_committed_size(),
_word_size - sr_word_size);
ASSERT_EQ(_mask.get_committed_size_in_range(_base, _word_size),
_word_size - sr_word_size);
- for (const MetaWord* p = _base; p < _base + _word_size; p ++) {
+ for (const MetaWord* p = _base; p < _base + _word_size; p++) {
if (p >= sr_base && p < sr_base + sr_word_size) {
ASSERT_FALSE(_mask.is_committed_address(p));
} else {
ASSERT_TRUE(_mask.is_committed_address(p));
}
@@ -128,11 +136,11 @@
sr_word_size);
ASSERT_EQ(_mask.get_committed_size(),
_word_size);
ASSERT_EQ(_mask.get_committed_size_in_range(_base, _word_size),
_word_size);
- for (const MetaWord* p = _base; p < _base + _word_size; p ++) {
+ for (const MetaWord* p = _base; p < _base + _word_size; p++) {
ASSERT_TRUE(_mask.is_committed_address(p));
}
}
@@ -161,11 +169,11 @@
LOG("subrange " PTR_FORMAT "-" PTR_FORMAT ".",
p2i(sr_base), p2i(sr_base + sr_word_size));
ASSERT_EQ(_mask.get_committed_size_in_range(sr_base, sr_word_size),
(size_t)0);
- for (const MetaWord* p = _base; p < _base + _word_size; p ++) {
+ for (const MetaWord* p = _base; p < _base + _word_size; p++) {
ASSERT_FALSE(_mask.is_committed_address(p));
}
size_t prior_committed = _mask.mark_range_as_committed(sr_base, sr_word_size);
verify_mask();
@@ -180,11 +188,11 @@
sr_word_size);
ASSERT_EQ(_mask.get_committed_size(),
sr_word_size);
ASSERT_EQ(_mask.get_committed_size_in_range(_base, _word_size),
sr_word_size);
- for (const MetaWord* p = _base; p < _base + _word_size; p ++) {
+ for (const MetaWord* p = _base; p < _base + _word_size; p++) {
if (p >= sr_base && p < sr_base + sr_word_size) {
ASSERT_TRUE(_mask.is_committed_address(p));
} else {
ASSERT_FALSE(_mask.is_committed_address(p));
}
@@ -199,25 +207,24 @@
(size_t)0);
EXPECT_EQ(_mask.get_committed_size(),
(size_t)0);
EXPECT_EQ(_mask.get_committed_size_in_range(_base, _word_size),
(size_t)0);
- for (const MetaWord* p = _base; p < _base + _word_size; p ++) {
+ for (const MetaWord* p = _base; p < _base + _word_size; p++) {
ASSERT_FALSE(_mask.is_committed_address(p));
}
}
-
void test3() {
// arbitrary ranges are set and cleared and compared with the test map
TestMap map(_word_size);
_mask.clear_large();
- for (int run = 0; run < 100; run ++) {
+ for (int run = 0; run < 100; run++) {
// A random range
SizeRange r = SizeRange(_word_size).random_aligned_subrange(Settings::commit_granule_words());
if (os::random() % 100 < 50) {
@@ -235,27 +242,25 @@
}
}
-
public:
CommitMaskTest(const MetaWord* base, size_t size)
: _base(base), _word_size(size), _mask(base, size)
{}
void test() {
LOG("mask range: " PTR_FORMAT "-" PTR_FORMAT
" (" SIZE_FORMAT " words).",
p2i(_base), p2i(_base + _word_size), _word_size);
- for (int i = 0; i < 5; i ++) {
+ for (int i = 0; i < 5; i++) {
test1(); test2(); test3();
}
}
-
};
TEST_VM(metaspace, commit_mask_basics) {
const MetaWord* const base = (const MetaWord*) 0x100000;
@@ -271,11 +276,11 @@
mask3.mark_range_as_committed(base, Settings::commit_granule_words());
mask3.mark_range_as_committed(base + (Settings::commit_granule_words() * 42), Settings::commit_granule_words());
ASSERT_EQ(mask3.at(0), 1);
- for (int i = 1; i < 42; i ++) {
+ for (int i = 1; i < 42; i++) {
ASSERT_EQ(mask3.at(i), 0);
}
ASSERT_EQ(mask3.at(42), 1);
}
@@ -324,14 +329,13 @@
}
}
}
-
TEST_VM(metaspace, commit_mask_random) {
- for (int i = 0; i < 5; i ++) {
+ for (int i = 0; i < 5; i++) {
// make up a range out of thin air
const MetaWord* const base =
align_down( (const MetaWord*) ((uintptr_t) os::random() * os::random()),
Settings::commit_granule_bytes());
< prev index next >