1 /* 2 * Copyright (c) 2016, 2018, Red Hat, Inc. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 * 23 */ 24 25 /* 26 * @test TestAllocIntArrays 27 * @summary Acceptance tests: collector can withstand allocation 28 * @key gc 29 * @requires vm.gc.Shenandoah & !vm.graal.enabled 30 * 31 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 32 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive 33 * -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify 34 * TestAllocIntArrays 35 * 36 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 37 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive 38 * -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify 39 * TestAllocIntArrays 40 * 41 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 42 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive 43 * -XX:+ShenandoahDegeneratedGC 44 * TestAllocIntArrays 45 * 46 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 47 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive 48 * -XX:-ShenandoahDegeneratedGC 49 * TestAllocIntArrays 50 */ 51 52 /* 53 * @test TestAllocIntArrays 54 * @summary Acceptance tests: collector can withstand allocation 55 * @key gc 56 * @requires vm.gc.Shenandoah & !vm.graal.enabled 57 * 58 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 59 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive 60 * -XX:+ShenandoahOOMDuringEvacALot -XX:+ShenandoahVerify 61 * TestAllocIntArrays 62 * 63 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 64 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive 65 * -XX:+ShenandoahAllocFailureALot -XX:+ShenandoahVerify 66 * TestAllocIntArrays 67 * 68 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 69 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive 70 * -XX:+ShenandoahOOMDuringEvacALot 71 * TestAllocIntArrays 72 * 73 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 74 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive 75 * -XX:+ShenandoahAllocFailureALot 76 * TestAllocIntArrays 77 * 78 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 79 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive 80 * TestAllocIntArrays 81 * 82 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 83 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive 84 * -XX:+ShenandoahVerify 85 * TestAllocIntArrays 86 * 87 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 88 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive 89 * TestAllocIntArrays 90 * 91 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 92 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=static 93 * TestAllocIntArrays 94 * 95 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 96 * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact 97 * TestAllocIntArrays 98 * 99 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 100 * -XX:+UseShenandoahGC 101 * -XX:-UseTLAB -XX:+ShenandoahVerify 102 * TestAllocIntArrays 103 */ 104 105 /* 106 * @test TestAllocIntArrays 107 * @summary Acceptance tests: collector can withstand allocation 108 * @key gc 109 * @requires vm.gc.Shenandoah & !vm.graal.enabled 110 * 111 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 112 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive 113 * -XX:+ShenandoahOOMDuringEvacALot -XX:+ShenandoahVerify 114 * TestAllocIntArrays 115 * 116 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 117 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive 118 * -XX:+ShenandoahAllocFailureALot -XX:+ShenandoahVerify 119 * TestAllocIntArrays 120 * 121 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 122 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive 123 * -XX:+ShenandoahOOMDuringEvacALot 124 * TestAllocIntArrays 125 * 126 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 127 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive 128 * -XX:+ShenandoahAllocFailureALot 129 * TestAllocIntArrays 130 * 131 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 132 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive 133 * TestAllocIntArrays 134 * 135 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 136 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu 137 * -XX:+ShenandoahVerify 138 * TestAllocIntArrays 139 * 140 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g 141 * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu 142 * TestAllocIntArrays 143 */ 144 145 import java.util.Random; 146 147 public class TestAllocIntArrays { 148 149 static final long TARGET_MB = Long.getLong("target", 10_000); // 10 Gb allocation 150 151 static volatile Object sink; 152 153 public static void main(String[] args) throws Exception { 154 final int min = 0; 155 final int max = 384 * 1024; 156 long count = TARGET_MB * 1024 * 1024 / (16 + 4 * (min + (max - min) / 2)); 157 158 Random r = new Random(); 159 for (long c = 0; c < count; c++) { 160 sink = new int[min + r.nextInt(max - min)]; 161 } 162 } 163 164 }