Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/hotspot/gtest/gc/parallel/test_psAdaptiveSizePolicy.cpp
41149 views
1
/*
2
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation.
8
*
9
* This code is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
* version 2 for more details (a copy is included in the LICENSE file that
13
* accompanied this code).
14
*
15
* You should have received a copy of the GNU General Public License version
16
* 2 along with this work; if not, write to the Free Software Foundation,
17
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
*
19
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
* or visit www.oracle.com if you need additional information or have any
21
* questions.
22
*
23
*/
24
25
#include "precompiled.hpp"
26
#include "gc/parallel/psAdaptiveSizePolicy.hpp"
27
#include "utilities/macros.hpp"
28
#include "unittest.hpp"
29
30
#if INCLUDE_PARALLELGC
31
32
TEST_VM(gc, oldFreeSpaceCalculation) {
33
34
struct TestCase {
35
size_t live;
36
uintx ratio;
37
size_t expectedResult;
38
};
39
40
TestCase test_cases[] = {
41
{100, 20, 25},
42
{100, 50, 100},
43
{100, 60, 150},
44
{100, 75, 300},
45
{400, 20, 100},
46
{400, 50, 400},
47
{400, 60, 600},
48
{400, 75, 1200},
49
};
50
51
size_t array_len = sizeof(test_cases) / sizeof(TestCase);
52
for (size_t i = 0; i < array_len; ++i) {
53
ASSERT_EQ(PSAdaptiveSizePolicy::calculate_free_based_on_live(
54
test_cases[i].live, test_cases[i].ratio),
55
test_cases[i].expectedResult)
56
<< " Calculation of free memory failed"
57
<< " - Test case " << i << ": live = " << test_cases[i].live
58
<< "; ratio = " << test_cases[i].ratio;
59
}
60
}
61
#endif
62
63