Mercurial > hg > truffle
annotate test/gc/g1/TestSummarizeRSetStatsTools.java @ 13760:a12017c18d5d
Truffle API cleanup: Reduce the visibility of classes and constructors that are not intended to be instantiated by guest language implementations; provide abstract class RootCallTarget as a CallTarget to a RootNode
author | Christian Wimmer <christian.wimmer@oracle.com> |
---|---|
date | Fri, 24 Jan 2014 18:13:38 -0800 |
parents | c319b188c7b2 |
children | 0abcece2ee27 |
rev | line source |
---|---|
12339
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
1 /* |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
2 * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
4 * |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
5 * This code is free software; you can redistribute it and/or modify it |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
6 * under the terms of the GNU General Public License version 2 only, as |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
7 * published by the Free Software Foundation. |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
8 * |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
9 * This code is distributed in the hope that it will be useful, but WITHOUT |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
12 * version 2 for more details (a copy is included in the LICENSE file that |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
13 * accompanied this code). |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
14 * |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
15 * You should have received a copy of the GNU General Public License version |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
16 * 2 along with this work; if not, write to the Free Software Foundation, |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
18 * |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
20 * or visit www.oracle.com if you need additional information or have any |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
21 * questions. |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
22 */ |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
23 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
24 /* |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
25 * Common helpers for TestSummarizeRSetStats* tests |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
26 */ |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
27 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
28 import sun.management.ManagementFactoryHelper; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
29 import com.sun.management.HotSpotDiagnosticMXBean; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
30 import com.sun.management.VMOption; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
31 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
32 import com.oracle.java.testlibrary.*; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
33 import java.util.regex.Matcher; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
34 import java.util.regex.Pattern; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
35 import java.lang.Thread; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
36 import java.util.ArrayList; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
37 import java.util.Arrays; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
38 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
39 class VerifySummaryOutput { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
40 // 4M size, both are directly allocated into the old gen |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
41 static Object[] largeObject1 = new Object[1024 * 1024]; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
42 static Object[] largeObject2 = new Object[1024 * 1024]; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
43 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
44 static int[] temp; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
45 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
46 public static void main(String[] args) { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
47 // create some cross-references between these objects |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
48 for (int i = 0; i < largeObject1.length; i++) { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
49 largeObject1[i] = largeObject2; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
50 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
51 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
52 for (int i = 0; i < largeObject2.length; i++) { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
53 largeObject2[i] = largeObject1; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
54 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
55 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
56 int numGCs = Integer.parseInt(args[0]); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
57 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
58 if (numGCs > 0) { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
59 // try to force a minor collection: the young gen is 4M, the |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
60 // amount of data allocated below is roughly that (4*1024*1024 + |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
61 // some header data) |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
62 for (int i = 0; i < 1024 ; i++) { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
63 temp = new int[1024]; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
64 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
65 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
66 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
67 for (int i = 0; i < numGCs - 1; i++) { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
68 System.gc(); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
69 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
70 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
71 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
72 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
73 public class TestSummarizeRSetStatsTools { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
74 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
75 // the VM is currently run using G1GC, i.e. trying to test G1 functionality. |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
76 public static boolean testingG1GC() { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
77 HotSpotDiagnosticMXBean diagnostic = ManagementFactoryHelper.getDiagnosticMXBean(); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
78 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
79 VMOption option = diagnostic.getVMOption("UseG1GC"); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
80 if (option.getValue().equals("false")) { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
81 System.out.println("Skipping this test. It is only a G1 test."); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
82 return false; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
83 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
84 return true; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
85 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
86 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
87 public static String runTest(String[] additionalArgs, int numGCs) throws Exception { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
88 ArrayList<String> finalargs = new ArrayList<String>(); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
89 String[] defaultArgs = new String[] { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
90 "-XX:+UseG1GC", |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
91 "-XX:+UseCompressedOops", |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
92 "-Xmn4m", |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
93 "-Xmx20m", |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
94 "-XX:InitiatingHeapOccupancyPercent=100", // we don't want the additional GCs due to initial marking |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
95 "-XX:+PrintGC", |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
96 "-XX:+UnlockDiagnosticVMOptions", |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
97 "-XX:G1HeapRegionSize=1M", |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
98 }; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
99 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
100 finalargs.addAll(Arrays.asList(defaultArgs)); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
101 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
102 if (additionalArgs != null) { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
103 finalargs.addAll(Arrays.asList(additionalArgs)); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
104 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
105 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
106 finalargs.add(VerifySummaryOutput.class.getName()); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
107 finalargs.add(String.valueOf(numGCs)); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
108 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
109 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
110 finalargs.toArray(new String[0])); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
111 OutputAnalyzer output = new OutputAnalyzer(pb.start()); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
112 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
113 output.shouldHaveExitValue(0); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
114 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
115 String result = output.getStdout(); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
116 return result; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
117 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
118 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
119 private static void checkCounts(int expected, int actual, String which) throws Exception { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
120 if (expected != actual) { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
121 throw new Exception("RSet summaries mention " + which + " regions an incorrect number of times. Expected " + expected + ", got " + actual); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
122 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
123 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
124 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
125 public static void expectPerRegionRSetSummaries(String result, int expectedCumulative, int expectedPeriodic) throws Exception { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
126 expectRSetSummaries(result, expectedCumulative, expectedPeriodic); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
127 int actualYoung = result.split("Young regions").length - 1; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
128 int actualHumonguous = result.split("Humonguous regions").length - 1; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
129 int actualFree = result.split("Free regions").length - 1; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
130 int actualOther = result.split("Old regions").length - 1; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
131 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
132 // the strings we check for above are printed four times per summary |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
133 int expectedPerRegionTypeInfo = (expectedCumulative + expectedPeriodic) * 4; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
134 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
135 checkCounts(expectedPerRegionTypeInfo, actualYoung, "Young"); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
136 checkCounts(expectedPerRegionTypeInfo, actualHumonguous, "Humonguous"); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
137 checkCounts(expectedPerRegionTypeInfo, actualFree, "Free"); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
138 checkCounts(expectedPerRegionTypeInfo, actualOther, "Old"); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
139 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
140 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
141 public static void expectRSetSummaries(String result, int expectedCumulative, int expectedPeriodic) throws Exception { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
142 int actualTotal = result.split("concurrent refinement").length - 1; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
143 int actualCumulative = result.split("Cumulative RS summary").length - 1; |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
144 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
145 if (expectedCumulative != actualCumulative) { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
146 throw new Exception("Incorrect amount of RSet summaries at the end. Expected " + expectedCumulative + ", got " + actualCumulative); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
147 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
148 |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
149 if (expectedPeriodic != (actualTotal - actualCumulative)) { |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
150 throw new Exception("Incorrect amount of per-period RSet summaries at the end. Expected " + expectedPeriodic + ", got " + (actualTotal - actualCumulative)); |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
151 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
152 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
153 } |
c319b188c7b2
8014078: G1: improve remembered set summary information by providing per region type information
tschatzl
parents:
diff
changeset
|
154 |