Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/hotspot/jtreg/gc/shenandoah/TestRetainObjects.java
40942 views
1
/*
2
* Copyright (c) 2017, 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 TestRetainObjects
27
* @summary Acceptance tests: collector can deal with retained objects
28
* @requires vm.gc.Shenandoah
29
*
30
* @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
31
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive
32
* -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify
33
* TestRetainObjects
34
*
35
* @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
36
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive
37
* -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify
38
* TestRetainObjects
39
*
40
* @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
41
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive
42
* -XX:+ShenandoahDegeneratedGC
43
* TestRetainObjects
44
*
45
* @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
46
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive
47
* -XX:-ShenandoahDegeneratedGC
48
* TestRetainObjects
49
*/
50
51
/*
52
* @test TestRetainObjects
53
* @summary Acceptance tests: collector can deal with retained objects
54
* @requires vm.gc.Shenandoah
55
*
56
* @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
57
* -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
58
* -XX:+ShenandoahOOMDuringEvacALot
59
* TestRetainObjects
60
*
61
* @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
62
* -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
63
* -XX:+ShenandoahAllocFailureALot
64
* TestRetainObjects
65
*
66
* @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
67
* -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
68
* TestRetainObjects
69
*/
70
71
/*
72
* @test TestRetainObjects
73
* @summary Acceptance tests: collector can deal with retained objects
74
* @requires vm.gc.Shenandoah
75
*
76
* @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
77
* -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive
78
* -XX:+ShenandoahVerify
79
* TestRetainObjects
80
*
81
* @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
82
* -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive
83
* TestRetainObjects
84
*/
85
86
/*
87
* @test TestRetainObjects
88
* @summary Acceptance tests: collector can deal with retained objects
89
* @requires vm.gc.Shenandoah
90
*
91
* @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
92
* -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=static
93
* TestRetainObjects
94
*/
95
96
/*
97
* @test TestRetainObjects
98
* @summary Acceptance tests: collector can deal with retained objects
99
* @requires vm.gc.Shenandoah
100
*
101
* @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
102
* -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact
103
* TestRetainObjects
104
*/
105
106
/*
107
* @test TestRetainObjects
108
* @summary Acceptance tests: collector can deal with retained objects
109
* @requires vm.gc.Shenandoah
110
*
111
* @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
112
* -XX:+UseShenandoahGC
113
* -XX:-UseTLAB -XX:+ShenandoahVerify
114
* TestRetainObjects
115
*/
116
117
/*
118
* @test TestRetainObjects
119
* @summary Acceptance tests: collector can deal with retained objects
120
* @requires vm.gc.Shenandoah
121
*
122
* @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
123
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive
124
* -XX:+ShenandoahOOMDuringEvacALot
125
* TestRetainObjects
126
*
127
* @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
128
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive
129
* -XX:+ShenandoahAllocFailureALot
130
* TestRetainObjects
131
*
132
* @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
133
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive
134
* TestRetainObjects
135
*/
136
137
/*
138
* @test TestRetainObjects
139
* @summary Acceptance tests: collector can deal with retained objects
140
* @requires vm.gc.Shenandoah
141
*
142
* @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
143
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu
144
* -XX:+ShenandoahVerify
145
* TestRetainObjects
146
*
147
* @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
148
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu
149
* TestRetainObjects
150
*/
151
152
public class TestRetainObjects {
153
154
static final int COUNT = 10_000_000;
155
static final int WINDOW = 10_000;
156
157
static final String[] reachable = new String[WINDOW];
158
159
public static void main(String[] args) throws Exception {
160
int rIdx = 0;
161
for (int c = 0; c < COUNT; c++) {
162
reachable[rIdx] = ("LargeString" + c);
163
rIdx++;
164
if (rIdx >= WINDOW) {
165
rIdx = 0;
166
}
167
}
168
}
169
170
}
171
172