< prev index next >
test/hotspot/gtest/memory/test_spaceManager.cpp
Print this page
rev 50187 : imported patch metaspace-split
*** 20,39 ****
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#include "precompiled.hpp"
// The test function is only available in debug builds
#ifdef ASSERT
#include "unittest.hpp"
! void SpaceManager_test_adjust_initial_chunk_size();
TEST(SpaceManager, adjust_initial_chunk_size) {
! // The SpaceManager is only available in metaspace.cpp,
! // so the test code is located in that file.
! SpaceManager_test_adjust_initial_chunk_size();
}
#endif // ASSERT
--- 20,74 ----
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#include "precompiled.hpp"
+ #include "memory/metaspace/spaceManager.hpp"
+
+ using metaspace::SpaceManager;
// The test function is only available in debug builds
#ifdef ASSERT
#include "unittest.hpp"
!
! static void test_adjust_initial_chunk_size(bool is_class) {
! const size_t smallest = SpaceManager::smallest_chunk_size(is_class);
! const size_t normal = SpaceManager::small_chunk_size(is_class);
! const size_t medium = SpaceManager::medium_chunk_size(is_class);
!
! #define do_test(value, expected, is_class_value) \
! do { \
! size_t v = value; \
! size_t e = expected; \
! assert(SpaceManager::adjust_initial_chunk_size(v, (is_class_value)) == e, \
! "Expected: " SIZE_FORMAT " got: " SIZE_FORMAT, e, v); \
! } while (0)
!
! // Smallest (specialized)
! do_test(1, smallest, is_class);
! do_test(smallest - 1, smallest, is_class);
! do_test(smallest, smallest, is_class);
!
! // Small
! do_test(smallest + 1, normal, is_class);
! do_test(normal - 1, normal, is_class);
! do_test(normal, normal, is_class);
!
! // Medium
! do_test(normal + 1, medium, is_class);
! do_test(medium - 1, medium, is_class);
! do_test(medium, medium, is_class);
!
! // Humongous
! do_test(medium + 1, medium + 1, is_class);
!
! #undef test_adjust_initial_chunk_size
! }
TEST(SpaceManager, adjust_initial_chunk_size) {
! test_adjust_initial_chunk_size(true);
! test_adjust_initial_chunk_size(false);
}
#endif // ASSERT
< prev index next >