32 import java.text.DecimalFormat;
33 import java.text.DecimalFormatSymbols;
34 import java.util.ArrayList;
35 import java.util.Arrays;
36 import java.util.Collections;
37 import java.util.LinkedList;
38 import java.util.List;
39 import sun.misc.Unsafe; // for ADDRESS_SIZE
40 import sun.hotspot.WhiteBox;
41
42 public class TestShrinkAuxiliaryData {
43
44 private static final int REGION_SIZE = 1024 * 1024;
45
46 private final static String[] initialOpts = new String[]{
47 "-XX:MinHeapFreeRatio=10",
48 "-XX:MaxHeapFreeRatio=11",
49 "-XX:+UseG1GC",
50 "-XX:G1HeapRegionSize=" + REGION_SIZE,
51 "-XX:-ExplicitGCInvokesConcurrent",
52 "-XX:+PrintGCDetails",
53 "-XX:+UnlockDiagnosticVMOptions",
54 "-XX:+WhiteBoxAPI",
55 "-Xbootclasspath/a:.",
56 };
57
58 private final int hotCardTableSize;
59
60 protected TestShrinkAuxiliaryData(int hotCardTableSize) {
61 this.hotCardTableSize = hotCardTableSize;
62 }
63
64 protected void test() throws Exception {
65 ArrayList<String> vmOpts = new ArrayList();
66 Collections.addAll(vmOpts, initialOpts);
67
68 int maxCacheSize = Math.max(0, Math.min(31, getMaxCacheSize()));
69 if (maxCacheSize < hotCardTableSize) {
70 System.out.format("Skiping test for %d cache size due max cache size %d",
71 hotCardTableSize, maxCacheSize
72 );
|
32 import java.text.DecimalFormat;
33 import java.text.DecimalFormatSymbols;
34 import java.util.ArrayList;
35 import java.util.Arrays;
36 import java.util.Collections;
37 import java.util.LinkedList;
38 import java.util.List;
39 import sun.misc.Unsafe; // for ADDRESS_SIZE
40 import sun.hotspot.WhiteBox;
41
42 public class TestShrinkAuxiliaryData {
43
44 private static final int REGION_SIZE = 1024 * 1024;
45
46 private final static String[] initialOpts = new String[]{
47 "-XX:MinHeapFreeRatio=10",
48 "-XX:MaxHeapFreeRatio=11",
49 "-XX:+UseG1GC",
50 "-XX:G1HeapRegionSize=" + REGION_SIZE,
51 "-XX:-ExplicitGCInvokesConcurrent",
52 "-Xlog:gc=debug",
53 "-XX:+UnlockDiagnosticVMOptions",
54 "-XX:+WhiteBoxAPI",
55 "-Xbootclasspath/a:.",
56 };
57
58 private final int hotCardTableSize;
59
60 protected TestShrinkAuxiliaryData(int hotCardTableSize) {
61 this.hotCardTableSize = hotCardTableSize;
62 }
63
64 protected void test() throws Exception {
65 ArrayList<String> vmOpts = new ArrayList();
66 Collections.addAll(vmOpts, initialOpts);
67
68 int maxCacheSize = Math.max(0, Math.min(31, getMaxCacheSize()));
69 if (maxCacheSize < hotCardTableSize) {
70 System.out.format("Skiping test for %d cache size due max cache size %d",
71 hotCardTableSize, maxCacheSize
72 );
|