1 /*
  2 * Copyright (c) 2016, 2020, Oracle and/or its affiliates. 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 package gc.stress.gcold;
 26 
 27 /*
 28  * @test id=passive
 29  * @key stress randomness
 30  * @library / /test/lib
 31  * @requires vm.gc.Shenandoah
 32  * @summary Stress the GC by trying to make old objects more likely to be garbage than young objects.
 33  *
 34  * @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
 35  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive
 36  *      -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify
 37  *      gc.stress.gcold.TestGCOld 50 1 20 10 10000
 38  *
 39  * @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
 40  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive
 41  *      -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify
 42  *      gc.stress.gcold.TestGCOld 50 1 20 10 10000
 43  *
 44  * @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
 45  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive
 46  *      -XX:+ShenandoahDegeneratedGC
 47  *      gc.stress.gcold.TestGCOld 50 1 20 10 10000
 48  *
 49  * @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
 50  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive
 51  *      -XX:-ShenandoahDegeneratedGC
 52  *      gc.stress.gcold.TestGCOld 50 1 20 10 10000
 53  */
 54 
 55 /*
 56  * @test id=aggressive
 57  * @key stress randomness
 58  * @library / /test/lib
 59  * @requires vm.gc.Shenandoah
 60  * @summary Stress the GC by trying to make old objects more likely to be garbage than young objects.
 61  *
 62  * @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
 63  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
 64  *      -XX:+ShenandoahOOMDuringEvacALot
 65  *      gc.stress.gcold.TestGCOld 50 1 20 10 10000
 66  *
 67  * @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
 68  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
 69  *      -XX:+ShenandoahAllocFailureALot
 70  *      gc.stress.gcold.TestGCOld 50 1 20 10 10000
 71  *
 72  * @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
 73  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
 74  *      gc.stress.gcold.TestGCOld 50 1 20 10 10000
 75  */
 76 
 77 /*
 78  * @test id=adaptive
 79  * @key stress randomness
 80  * @library / /test/lib
 81  * @requires vm.gc.Shenandoah
 82  * @summary Stress the GC by trying to make old objects more likely to be garbage than young objects.
 83  *
 84  * @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
 85  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive
 86  *      -XX:+ShenandoahVerify
 87  *      gc.stress.gcold.TestGCOld 50 1 20 10 10000
 88  *
 89  * @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
 90  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive
 91  *      gc.stress.gcold.TestGCOld 50 1 20 10 10000
 92  */
 93 
 94 /*
 95  * @test id=compact
 96  * @key stress randomness
 97  * @library / /test/lib
 98  * @requires vm.gc.Shenandoah
 99  * @summary Stress the GC by trying to make old objects more likely to be garbage than young objects.
100  *
101  * @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
102  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact
103  *      gc.stress.gcold.TestGCOld 50 1 20 10 10000
104  */
105 
106 /*
107  * @test id=iu-aggressive
108  * @key stress randomness
109  * @library / /test/lib
110  * @requires vm.gc.Shenandoah
111  * @summary Stress the GC by trying to make old objects more likely to be garbage than young objects.
112  *
113  * @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
114  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive
115  *      -XX:+ShenandoahOOMDuringEvacALot
116  *      gc.stress.gcold.TestGCOld 50 1 20 10 10000
117  *
118  * @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
119  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive
120  *      -XX:+ShenandoahAllocFailureALot
121  *      gc.stress.gcold.TestGCOld 50 1 20 10 10000
122  *
123  * @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
124  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive
125  *      gc.stress.gcold.TestGCOld 50 1 20 10 10000
126  */
127 
128 /*
129  * @test id=iu
130  * @key stress randomness
131  * @library / /test/lib
132  * @requires vm.gc.Shenandoah
133  * @summary Stress the GC by trying to make old objects more likely to be garbage than young objects.
134  *
135  * @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
136  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu
137  *      -XX:+ShenandoahVerify
138  *      gc.stress.gcold.TestGCOld 50 1 20 10 10000
139  *
140  * @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
141  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu
142  *      gc.stress.gcold.TestGCOld 50 1 20 10 10000
143  */
144 
145 /*
146  * @test id=generational
147  * @key stress randomness
148  * @library / /test/lib
149  * @requires vm.gc.Shenandoah
150  * @summary Stress the GC by trying to make old objects more likely to be garbage than young objects.
151  *
152  * @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
153  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=generational
154  *      -XX:+ShenandoahVerify
155  *      gc.stress.gcold.TestGCOld 50 1 20 10 10000
156  *
157  * @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
158  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=generational
159  *      gc.stress.gcold.TestGCOld 50 1 20 10 10000
160  */
161 public class TestGCOldWithShenandoah {
162 
163     public static void main(String[] args) {
164         TestGCOld.main(args);
165     }
166 }