Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: test/codegen/lib/mirrors/accessor_cache_overflow_test.dart

Issue 2265533002: Add mirrors tests (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 // This test runs invokes getField and setField enough times to get cached
6 // closures generated and with enough different field names to trip the path
7 // that flushes the closure cache.
8
9 library test.hot_get_field;
10
11 import 'dart:mirrors';
12 import 'package:expect/expect.dart';
13
14 const int optimizationThreshold = 20;
15
16 main() {
17 var digits =
18 ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'];
19 var symbols = new List();
20 for (var high in digits) {
21 for (var low in digits) {
22 symbols.add(MirrorSystem.getSymbol("v$high$low"));
23 }
24 }
25
26 var im = reflect(new C());
27 for (var i = 0; i < optimizationThreshold * 2; i++) {
28 for (var fieldName in symbols) {
29 im.getField(fieldName);
30 im.setField(fieldName, 'foo');
31 }
32 }
33 }
34
35 class C {
36 var v00;
37 var v01;
38 var v02;
39 var v03;
40 var v04;
41 var v05;
42 var v06;
43 var v07;
44 var v08;
45 var v09;
46 var v0A;
47 var v0B;
48 var v0C;
49 var v0D;
50 var v0E;
51 var v0F;
52 var v10;
53 var v11;
54 var v12;
55 var v13;
56 var v14;
57 var v15;
58 var v16;
59 var v17;
60 var v18;
61 var v19;
62 var v1A;
63 var v1B;
64 var v1C;
65 var v1D;
66 var v1E;
67 var v1F;
68 var v20;
69 var v21;
70 var v22;
71 var v23;
72 var v24;
73 var v25;
74 var v26;
75 var v27;
76 var v28;
77 var v29;
78 var v2A;
79 var v2B;
80 var v2C;
81 var v2D;
82 var v2E;
83 var v2F;
84 var v30;
85 var v31;
86 var v32;
87 var v33;
88 var v34;
89 var v35;
90 var v36;
91 var v37;
92 var v38;
93 var v39;
94 var v3A;
95 var v3B;
96 var v3C;
97 var v3D;
98 var v3E;
99 var v3F;
100 var v40;
101 var v41;
102 var v42;
103 var v43;
104 var v44;
105 var v45;
106 var v46;
107 var v47;
108 var v48;
109 var v49;
110 var v4A;
111 var v4B;
112 var v4C;
113 var v4D;
114 var v4E;
115 var v4F;
116 var v50;
117 var v51;
118 var v52;
119 var v53;
120 var v54;
121 var v55;
122 var v56;
123 var v57;
124 var v58;
125 var v59;
126 var v5A;
127 var v5B;
128 var v5C;
129 var v5D;
130 var v5E;
131 var v5F;
132 var v60;
133 var v61;
134 var v62;
135 var v63;
136 var v64;
137 var v65;
138 var v66;
139 var v67;
140 var v68;
141 var v69;
142 var v6A;
143 var v6B;
144 var v6C;
145 var v6D;
146 var v6E;
147 var v6F;
148 var v70;
149 var v71;
150 var v72;
151 var v73;
152 var v74;
153 var v75;
154 var v76;
155 var v77;
156 var v78;
157 var v79;
158 var v7A;
159 var v7B;
160 var v7C;
161 var v7D;
162 var v7E;
163 var v7F;
164 var v80;
165 var v81;
166 var v82;
167 var v83;
168 var v84;
169 var v85;
170 var v86;
171 var v87;
172 var v88;
173 var v89;
174 var v8A;
175 var v8B;
176 var v8C;
177 var v8D;
178 var v8E;
179 var v8F;
180 var v90;
181 var v91;
182 var v92;
183 var v93;
184 var v94;
185 var v95;
186 var v96;
187 var v97;
188 var v98;
189 var v99;
190 var v9A;
191 var v9B;
192 var v9C;
193 var v9D;
194 var v9E;
195 var v9F;
196 var vA0;
197 var vA1;
198 var vA2;
199 var vA3;
200 var vA4;
201 var vA5;
202 var vA6;
203 var vA7;
204 var vA8;
205 var vA9;
206 var vAA;
207 var vAB;
208 var vAC;
209 var vAD;
210 var vAE;
211 var vAF;
212 var vB0;
213 var vB1;
214 var vB2;
215 var vB3;
216 var vB4;
217 var vB5;
218 var vB6;
219 var vB7;
220 var vB8;
221 var vB9;
222 var vBA;
223 var vBB;
224 var vBC;
225 var vBD;
226 var vBE;
227 var vBF;
228 var vC0;
229 var vC1;
230 var vC2;
231 var vC3;
232 var vC4;
233 var vC5;
234 var vC6;
235 var vC7;
236 var vC8;
237 var vC9;
238 var vCA;
239 var vCB;
240 var vCC;
241 var vCD;
242 var vCE;
243 var vCF;
244 var vD0;
245 var vD1;
246 var vD2;
247 var vD3;
248 var vD4;
249 var vD5;
250 var vD6;
251 var vD7;
252 var vD8;
253 var vD9;
254 var vDA;
255 var vDB;
256 var vDC;
257 var vDD;
258 var vDE;
259 var vDF;
260 var vE0;
261 var vE1;
262 var vE2;
263 var vE3;
264 var vE4;
265 var vE5;
266 var vE6;
267 var vE7;
268 var vE8;
269 var vE9;
270 var vEA;
271 var vEB;
272 var vEC;
273 var vED;
274 var vEE;
275 var vEF;
276 var vF0;
277 var vF1;
278 var vF2;
279 var vF3;
280 var vF4;
281 var vF5;
282 var vF6;
283 var vF7;
284 var vF8;
285 var vF9;
286 var vFA;
287 var vFB;
288 var vFC;
289 var vFD;
290 var vFE;
291 var vFF;
292 }
OLDNEW
« no previous file with comments | « test/codegen/lib/mirrors/abstract_test.dart ('k') | test/codegen/lib/mirrors/array_tracing2_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698