53 if (args.length > 0 && args[0].equals("test")) { |
53 if (args.length > 0 && args[0].equals("test")) { |
54 System.gc(); |
54 System.gc(); |
55 System.exit(0); |
55 System.exit(0); |
56 } |
56 } |
57 |
57 |
58 String[] heuristics = new String[] { |
58 String[][][] modeHeuristics = new String[][][] { |
59 "adaptive", |
59 {{"normal"}, {"adaptive", "compact", "static", "aggressive"}}, |
60 "compact", |
60 {{"traversal"}, {"adaptive"}}, |
61 "static", |
61 {{"passive"}, {"passive"}} |
62 "aggressive", |
|
63 "passive", |
|
64 "traversal", |
|
65 }; |
62 }; |
66 |
63 |
67 for (String h : heuristics) { |
64 for (String[][] mh : modeHeuristics) { |
68 testWith("-XX:+UnlockDiagnosticVMOptions", |
65 String mode = mh[0][0]; |
69 "-XX:+UnlockExperimentalVMOptions", |
66 String[] heuristics = mh[1]; |
70 "-XX:+UseShenandoahGC", |
67 for (String h : heuristics) { |
71 "-XX:-ShenandoahDegeneratedGC", |
68 testWith("-XX:+UnlockDiagnosticVMOptions", |
72 "-XX:ShenandoahGCHeuristics=" + h, |
69 "-XX:+UnlockExperimentalVMOptions", |
73 "-Xlog:gc+classhisto=trace", |
70 "-XX:+UseShenandoahGC", |
74 "-XX:-ExplicitGCInvokesConcurrent", |
71 "-XX:-ShenandoahDegeneratedGC", |
75 "-Xmx512M" |
72 "-XX:ShenandoahGCMode=" + mode, |
76 ); |
73 "-XX:ShenandoahGCHeuristics=" + h, |
|
74 "-Xlog:gc+classhisto=trace", |
|
75 "-XX:-ExplicitGCInvokesConcurrent", |
|
76 "-Xmx512M" |
|
77 ); |
|
78 } |
77 } |
79 } |
78 } |
80 } |
79 } |
81 } |