1 /* 2 * Copyright (c) 2016, 2018, Red Hat, Inc. All rights reserved. 3 * Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. 4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 5 * 6 * This code is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License version 2 only, as 8 * published by the Free Software Foundation. 9 * 10 * This code is distributed in the hope that it will be useful, but WITHOUT 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 13 * version 2 for more details (a copy is included in the LICENSE file that 14 * accompanied this code). 15 * 16 * You should have received a copy of the GNU General Public License version 17 * 2 along with this work; if not, write to the Free Software Foundation, 18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 19 * 20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 21 * or visit www.oracle.com if you need additional information or have any 22 * questions. 23 * 24 */ 25 26 package gc.stress.gcbasher; 27 28 import java.io.IOException; 29 30 /* 31 * @test id=passive 32 * @key stress 33 * @library / 34 * @requires vm.gc.Shenandoah 35 * @requires vm.flavor == "server" 36 * @summary Stress the Shenandoah GC by trying to make old objects more likely to be garbage than young objects. 37 * 38 * @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 39 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive 40 * -XX:+ShenandoahVerify -XX:+ShenandoahDegeneratedGC 41 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 42 * 43 * @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 44 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive 45 * -XX:+ShenandoahVerify -XX:-ShenandoahDegeneratedGC 46 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 47 */ 48 49 /* 50 * @test id=aggressive 51 * @key stress 52 * @library / 53 * @requires vm.gc.Shenandoah 54 * @requires vm.flavor == "server" 55 * @summary Stress the Shenandoah GC by trying to make old objects more likely to be garbage than young objects. 56 * 57 * @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 58 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive 59 * -XX:+ShenandoahOOMDuringEvacALot 60 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 61 * 62 * @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 63 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive 64 * -XX:+ShenandoahAllocFailureALot 65 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 66 * 67 * @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 68 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive 69 * -XX:ShenandoahPinRegionRate=1000 70 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 71 * 72 * @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 73 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive 74 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 75 */ 76 77 /* 78 * @test id=adaptive 79 * @key stress 80 * @library / 81 * @requires vm.gc.Shenandoah 82 * @requires vm.flavor == "server" 83 * @summary Stress the Shenandoah GC by trying to make old objects more likely to be garbage than young objects. 84 * 85 * @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 86 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive 87 * -XX:+ShenandoahVerify 88 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 89 * 90 * @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 91 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive 92 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 93 */ 94 95 /* 96 * @test id=compact 97 * @key stress 98 * @library / 99 * @requires vm.gc.Shenandoah 100 * @requires vm.flavor == "server" & vm.opt.ClassUnloading != false 101 * @summary Stress Shenandoah GC with nmethod barrier forced deoptimization enabled. 102 * 103 * @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 104 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact 105 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 106 */ 107 108 /* 109 * @test id=passive-deopt-nmethod 110 * @key stress 111 * @library / 112 * @requires vm.gc.Shenandoah 113 * @requires vm.flavor == "server" & vm.opt.ClassUnloading != false 114 * @summary Stress Shenandoah GC with nmethod barrier forced deoptimization enabled. 115 * 116 * @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 117 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive 118 * -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline 119 * -XX:+ShenandoahVerify -XX:+ShenandoahDegeneratedGC 120 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 121 * 122 * @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 123 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive 124 * -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline 125 * -XX:+ShenandoahVerify -XX:-ShenandoahDegeneratedGC 126 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 127 */ 128 129 /* 130 * @test id=aggressive-deopt-nmethod 131 * @key stress 132 * @library / 133 * @requires vm.gc.Shenandoah 134 * @requires vm.flavor == "server" & vm.opt.ClassUnloading != false 135 * @summary Stress Shenandoah GC with nmethod barrier forced deoptimization enabled. 136 * 137 * @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 138 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive 139 * -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline 140 * -XX:+ShenandoahOOMDuringEvacALot 141 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 142 * 143 * @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 144 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive 145 * -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline 146 * -XX:+ShenandoahAllocFailureALot 147 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 148 * 149 * @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 150 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive 151 * -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline 152 * -XX:ShenandoahPinRegionRate=1000 153 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 154 * 155 * @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 156 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive 157 * -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline 158 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 159 */ 160 161 /* 162 * @test id=adaptive-deopt-nmethod 163 * @key stress 164 * @library / 165 * @requires vm.gc.Shenandoah 166 * @requires vm.flavor == "server" & vm.opt.ClassUnloading != false 167 * @summary Stress Shenandoah GC with nmethod barrier forced deoptimization enabled. 168 * 169 * @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 170 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive 171 * -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline 172 * -XX:+ShenandoahVerify 173 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 174 * 175 * @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 176 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive 177 * -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline 178 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 179 */ 180 181 /* 182 * @test id=compact-deopt-nmethod 183 * @key stress 184 * @library / 185 * @requires vm.gc.Shenandoah 186 * @requires vm.flavor == "server" & vm.opt.ClassUnloading != false 187 * @summary Stress Shenandoah GC with nmethod barrier forced deoptimization enabled. 188 * 189 * @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 190 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact 191 * -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline 192 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 193 */ 194 /* 195 * @test id=generational 196 * @key stress 197 * @library / 198 * @requires vm.gc.Shenandoah 199 * @requires vm.flavor == "server" 200 * @summary Stress the Shenandoah GC by trying to make old objects more likely to be garbage than young objects. 201 * 202 * @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 203 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=generational 204 * -XX:+ShenandoahVerify 205 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 206 * 207 * @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 208 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=generational 209 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 210 */ 211 212 /* 213 * @test id=generational-deopt-nmethod 214 * @key stress 215 * @library / 216 * @requires vm.gc.Shenandoah 217 * @requires vm.flavor == "server" & vm.opt.ClassUnloading != false 218 * @summary Stress Shenandoah GC with nmethod barrier forced deoptimization enabled. 219 * 220 * @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 221 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=generational 222 * -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline 223 * -XX:+ShenandoahVerify 224 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 225 * 226 * @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 227 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=generational 228 * -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline 229 * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 230 */ 231 232 public class TestGCBasherWithShenandoah { 233 public static void main(String[] args) throws IOException { 234 TestGCBasher.main(args); 235 } 236 } --- EOF ---