Mercurial > hg > truffle
annotate test/gc/arguments/TestDynMinHeapFreeRatio.java @ 19147:609480dfa0d8
Create ExplodeLoop plugin prototype. Special sort for blocks from bci block map builder for explode loop methods. Graph builder plugin for customizing static field accesses. New Truffle option TruffleExcludeAssertions default true that excludes assertion code from being partial evaluated in the new partial evaluator.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Thu, 05 Feb 2015 03:25:21 +0100 |
parents | 3b4e1b5c13a0 |
children | e2976043eac3 |
rev | line source |
---|---|
17751
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
1 /* |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
2 * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
4 * |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
5 * This code is free software; you can redistribute it and/or modify it |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
6 * under the terms of the GNU General Public License version 2 only, as |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
7 * published by the Free Software Foundation. |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
8 * |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
9 * This code is distributed in the hope that it will be useful, but WITHOUT |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
12 * version 2 for more details (a copy is included in the LICENSE file that |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
13 * accompanied this code). |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
14 * |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
15 * You should have received a copy of the GNU General Public License version |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
16 * 2 along with this work; if not, write to the Free Software Foundation, |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
18 * |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
20 * or visit www.oracle.com if you need additional information or have any |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
21 * questions. |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
22 */ |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
23 |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
24 /** |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
25 * @test TestDynMinHeapFreeRatio |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
26 * @bug 8028391 |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
27 * @summary Verify that MinHeapFreeRatio flag is manageable |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
28 * @library /testlibrary |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
29 * @run main TestDynMinHeapFreeRatio |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
30 * @run main/othervm -XX:MinHeapFreeRatio=0 -XX:MaxHeapFreeRatio=100 TestDynMinHeapFreeRatio |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
31 * @run main/othervm -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=50 -XX:-UseAdaptiveSizePolicy TestDynMinHeapFreeRatio |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
32 * @run main/othervm -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=50 TestDynMinHeapFreeRatio |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
33 * @run main/othervm -XX:MinHeapFreeRatio=51 -XX:MaxHeapFreeRatio=52 TestDynMinHeapFreeRatio |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
34 * @run main/othervm -XX:MinHeapFreeRatio=75 -XX:MaxHeapFreeRatio=100 TestDynMinHeapFreeRatio |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
35 */ |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
36 import com.oracle.java.testlibrary.TestDynamicVMOption; |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
37 import com.oracle.java.testlibrary.DynamicVMOptionChecker; |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
38 |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
39 public class TestDynMinHeapFreeRatio extends TestDynamicVMOption { |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
40 |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
41 public static final String MinFreeRatioFlagName = "MinHeapFreeRatio"; |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
42 public static final String MaxFreeRatioFlagName = "MaxHeapFreeRatio"; |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
43 |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
44 public TestDynMinHeapFreeRatio() { |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
45 super(MinFreeRatioFlagName); |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
46 } |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
47 |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
48 public void test() { |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
49 int maxHeapFreeValue = DynamicVMOptionChecker.getIntValue(MaxFreeRatioFlagName); |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
50 System.out.println(MaxFreeRatioFlagName + " = " + maxHeapFreeValue); |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
51 |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
52 testPercentageValues(); |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
53 |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
54 checkInvalidValue(Integer.toString(maxHeapFreeValue + 1)); |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
55 checkValidValue(Integer.toString(maxHeapFreeValue)); |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
56 checkValidValue("0"); |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
57 } |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
58 |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
59 public static void main(String args[]) throws Exception { |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
60 new TestDynMinHeapFreeRatio().test(); |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
61 } |
3b4e1b5c13a0
8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
jwilhelm
parents:
diff
changeset
|
62 } |