Fri, 27 Sep 2013 17:00:37 +0200
8025520: Array.prototype.slice should only copy defined elements
Reviewed-by: sundar, lagergren
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3 Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
4 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
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.
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).
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.
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 <project name="nashorn-benchmarks" default="all" basedir="..">
26 <target name="octane-init" depends="jar">
27 <property name="octane-tests" value="box2d code-load crypto deltablue earley-boyer gbemu navier-stokes pdfjs raytrace regexp richards splay"/>
28 </target>
30 <!-- ignore benchmarks where rhino crashes -->
31 <target name="octane-init-rhino" depends="jar">
32 <property name="octane-tests" value="box2d code-load crypto deltablue earley-boyer gbemu navier-stokes raytrace regexp richards splay"/>
33 </target>
35 <!-- box2d -->
36 <target name="octane-box2d" depends="jar">
37 <antcall target="run-octane">
38 <param name="octane-tests" value="box2d"/>
39 </antcall>
40 </target>
42 <target name="octane-box2d-v8" depends="jar">
43 <antcall target="run-octane-v8">
44 <param name="octane-tests" value="box2d"/>
45 </antcall>
46 </target>
48 <target name="octane-box2d-rhino" depends="jar">
49 <antcall target="run-octane-rhino">
50 <param name="octane-tests" value="box2d"/>
51 </antcall>
52 </target>
55 <!-- code-load -->
56 <target name="octane-code-load" depends="jar">
57 <antcall target="run-octane">
58 <param name="octane-tests" value="code-load"/>
59 </antcall>
60 </target>
62 <target name="octane-code-load-v8" depends="jar">
63 <antcall target="run-octane-v8">
64 <param name="octane-tests" value="code-load"/>
65 </antcall>
66 </target>
68 <target name="octane-code-load-rhino" depends="jar">
69 <antcall target="run-octane-rhino">
70 <param name="octane-tests" value="code-load"/>
71 </antcall>
72 </target>
75 <!-- crypto -->
76 <target name="octane-crypto" depends="jar">
77 <antcall target="run-octane">
78 <param name="octane-tests" value="crypto"/>
79 </antcall>
80 </target>
82 <target name="octane-crypto-v8" depends="jar">
83 <antcall target="run-octane-v8">
84 <param name="octane-tests" value="crypto"/>
85 </antcall>
86 </target>
88 <target name="octane-crypto-rhino" depends="jar">
89 <antcall target="run-octane-rhino">
90 <param name="octane-tests" value="crypto"/>
91 </antcall>
92 </target>
95 <!-- deltablue -->
96 <target name="octane-deltablue" depends="jar">
97 <antcall target="run-octane">
98 <param name="octane-tests" value="deltablue"/>
99 </antcall>
100 </target>
102 <target name="octane-deltablue-v8" depends="jar">
103 <antcall target="run-octane-v8">
104 <param name="octane-tests" value="deltablue"/>
105 </antcall>
106 </target>
108 <target name="octane-deltablue-rhino" depends="jar">
109 <antcall target="run-octane-rhino">
110 <param name="octane-tests" value="deltablue"/>
111 </antcall>
112 </target>
115 <!-- earley-boyer -->
116 <target name="octane-earley-boyer" depends="jar">
117 <antcall target="run-octane">
118 <param name="octane-tests" value="earley-boyer"/>
119 </antcall>
120 </target>
122 <target name="octane-earley-boyer-v8" depends="jar">
123 <antcall target="run-octane-v8">
124 <param name="octane-tests" value="earley-boyer"/>
125 </antcall>
126 </target>
128 <target name="octane-earley-boyer-rhino" depends="jar">
129 <antcall target="run-octane-rhino">
130 <param name="octane-tests" value="earley-boyer"/>
131 </antcall>
132 </target>
135 <!-- gbemu -->
136 <target name="octane-gbemu" depends="jar">
137 <antcall target="run-octane">
138 <param name="octane-tests" value="gbemu"/>
139 </antcall>
140 </target>
142 <target name="octane-gbemu-v8" depends="jar">
143 <antcall target="run-octane-v8">
144 <param name="octane-tests" value="gbemu"/>
145 </antcall>
146 </target>
148 <target name="octane-gbemu-rhino" depends="jar">
149 <antcall target="run-octane-rhino">
150 <param name="octane-tests" value="gbemu"/>
151 </antcall>
152 </target>
155 <!-- mandreel -->
156 <target name="octane-mandreel" depends="jar">
157 <antcall target="run-octane">
158 <param name="octane-tests" value="mandreel"/>
159 </antcall>
160 </target>
162 <target name="octane-mandreel-v8" depends="jar">
163 <antcall target="run-octane-v8">
164 <param name="octane-tests" value="mandreel"/>
165 </antcall>
166 </target>
168 <target name="octane-mandreel-rhino" depends="jar">
169 <antcall target="run-octane-rhino">
170 <param name="octane-tests" value="mandreel"/>
171 </antcall>
172 </target>
175 <!-- navier-stokes -->
176 <target name="octane-navier-stokes" depends="jar">
177 <antcall target="run-octane">
178 <param name="octane-tests" value="navier-stokes"/>
179 </antcall>
180 </target>
182 <target name="octane-navier-stokes-v8" depends="jar">
183 <antcall target="run-octane-v8">
184 <param name="octane-tests" value="navier-stokes"/>
185 </antcall>
186 </target>
188 <target name="octane-navier-stokes-rhino" depends="jar">
189 <antcall target="run-octane-rhino">
190 <param name="octane-tests" value="navier-stokes"/>
191 </antcall>
192 </target>
195 <!-- pdfjs -->
196 <target name="octane-pdfjs" depends="jar">
197 <antcall target="run-octane">
198 <param name="octane-tests" value="pdfjs"/>
199 </antcall>
200 </target>
202 <target name="octane-pdfjs-v8" depends="jar">
203 <antcall target="run-octane-v8">
204 <param name="octane-tests" value="pdfjs"/>
205 </antcall>
206 </target>
208 <target name="octane-pdfjs-rhino" depends="jar">
209 <antcall target="run-octane-rhino">
210 <param name="octane-tests" value="pdfjs"/>
211 </antcall>
212 </target>
215 <!-- raytrace -->
216 <target name="octane-raytrace" depends="jar">
217 <antcall target="run-octane">
218 <param name="octane-tests" value="raytrace"/>
219 </antcall>
220 </target>
222 <target name="octane-raytrace-v8" depends="jar">
223 <antcall target="run-octane-v8">
224 <param name="octane-tests" value="raytrace"/>
225 </antcall>
226 </target>
228 <target name="octane-raytrace-rhino" depends="jar">
229 <antcall target="run-octane-rhino">
230 <param name="octane-tests" value="raytrace"/>
231 </antcall>
232 </target>
235 <!-- regexp -->
236 <target name="octane-regexp" depends="jar">
237 <antcall target="run-octane">
238 <param name="octane-tests" value="regexp"/>
239 </antcall>
240 </target>
242 <target name="octane-regexp-octane-v8" depends="jar">
243 <antcall target="run-octane-v8">
244 <param name="octane-tests" value="regexp"/>
245 </antcall>
246 </target>
248 <target name="octane-regexp-rhino" depends="jar">
249 <antcall target="run-octane-rhino">
250 <param name="octane-tests" value="regexp"/>
251 </antcall>
252 </target>
255 <!-- richards -->
256 <target name="octane-richards" depends="jar">
257 <antcall target="run-octane">
258 <param name="octane-tests" value="richards"/>
259 </antcall>
260 </target>
262 <target name="octane-richards-v8" depends="jar">
263 <antcall target="run-octane-v8">
264 <param name="octane-tests" value="richards"/>
265 </antcall>
266 </target>
268 <target name="octane-richards-rhino" depends="jar">
269 <antcall target="run-octane-rhino">
270 <param name="octane-tests" value="richards"/>
271 </antcall>
272 </target>
275 <!-- splay -->
276 <target name="octane-splay" depends="jar">
277 <antcall target="run-octane">
278 <param name="octane-tests" value="splay"/>
279 </antcall>
280 </target>
282 <target name="octane-splay-v8" depends="jar">
283 <antcall target="run-octane-v8">
284 <param name="octane-tests" value="splay"/>
285 </antcall>
286 </target>
288 <target name="octane-splay-rhino" depends="jar">
289 <antcall target="run-octane-rhino">
290 <param name="octane-tests" value="splay"/>
291 </antcall>
292 </target>
294 <!-- run octane benchmarks in a single process -->
295 <target name="octane-single-process" depends="octane-init">
296 <antcall target="run-octane"/>
297 </target>
299 <!-- mandreel excluded due to OOM -->
300 <target name="octane-separate-process" depends=
301 "octane-box2d, octane-code-load, octane-crypto,
302 octane-deltablue, octane-earley-boyer, octane-gbemu,
303 octane-navier-stokes, octane-pdfjs, octane-raytrace,
304 octane-regexp, octane-richards, octane-splay"/>
306 <target name="--single-process" unless="${octane-test-sys-prop.separate.process}">
307 <antcall target="octane-single-process"/>
308 </target>
309 <target name="--separate-process" if="${octane-test-sys-prop.separate.process}">
310 <antcall target="octane-separate-process"/>
311 </target>
313 <!-- run 'octane' in single or separate processes based on config -->
314 <target name="octane" depends="init, --single-process, --separate-process"/>
316 <!-- run octane benchmarks using octane as runtime -->
317 <target name="octane-v8" depends="octane-init">
318 <antcall target="run-octane-v8"/>
319 </target>
321 <!-- run octane benchmarks using Rhino as runtime -->
322 <target name="octane-rhino" depends="octane-init-rhino">
323 <antcall target="run-octane-rhino"/>
324 </target>
326 <target name="run-octane">
327 <java classname="${nashorn.shell.tool}"
328 classpath="${run.test.classpath}"
329 fork="true"
330 dir=".">
331 <jvmarg line="${ext.class.path}"/>
332 <jvmarg line="${run.test.jvmargs.octane} -Xms${run.test.xms} -Xmx${run.test.xmx}"/>
333 <arg value="${octane-test-sys-prop.test.js.framework}"/>
334 <arg value="--"/>
335 <arg value="${octane-tests}"/>
336 <arg value="--runtime"/>
337 <arg value="Nashorn"/>
338 <arg value="--verbose"/>
339 <arg value="--iterations 8"/>
340 </java>
341 </target>
343 <target name="run-octane-v8">
344 <exec executable="${v8.shell}">
345 <arg value="${octane-test-sys-prop.test.js.framework}"/>
346 <arg value="--"/>
347 <arg value="${octane-tests}"/>
348 <arg value="--runtime"/>
349 <arg value="v8"/>
350 <arg value="--verbose"/>
351 <arg value="--iterations 8"/>
352 </exec>
353 </target>
355 <target name="run-octane-rhino">
356 <java jar="${rhino.jar}"
357 classpath="${run.test.classpath}"
358 fork="true"
359 dir=".">
360 <jvmarg line="${run.test.jvmargs.octane} -Xms${run.test.xms} -Xmx${run.test.xmx}"/>
361 <arg value="${octane-test-sys-prop.test.js.framework}"/>
362 <arg value="${octane-tests}"/>
363 <arg value="--runtime"/>
364 <arg value="Rhino"/>
365 <arg value="--verbose"/>
366 <arg value="--iterations 8"/>
367 </java>
368 </target>
370 <!-- run octane with all known runtimes for comparison -->
371 <target name="octane-all" depends="octane, octane-v8, octane-rhino">
372 <exec executable="${v8.shell}">
373 <arg value="${octane-test-sys-prop.test.js.framework}"/>
374 <arg value="${octane-tests}/"/>
375 </exec>
376 </target>
378 <target name="sunspider-init" depends="jar">
379 <fileset id="sunspider-set"
380 dir="${sunspider-test-sys-prop.test.js.roots}"
381 excludes="${sunspider-test-sys-prop.test.js.exclude.list}">
382 <include name="**/*.js"/>
383 </fileset>
384 <pathconvert pathsep=" " property="sunspider-tests" refid="sunspider-set"/>
385 </target>
387 <!-- run sunspider with Nashorn -->
388 <target name="sunspider" depends="sunspider-init">
389 <java classname="${nashorn.shell.tool}"
390 classpath="${run.test.classpath}"
391 fork="true"
392 dir=".">
393 <jvmarg line="${ext.class.path}"/>
394 <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx}"/>
395 <arg value="-timezone=PST"/>
396 <arg value="--class-cache-size=50"/>
397 <arg value="${sunspider-test-sys-prop.test.js.framework}"/>
398 <arg value="--"/>
399 <arg value="${sunspider-tests}/"/>
400 </java>
401 </target>
403 <!-- run sunspider with v8 -->
404 <target name="sunspider-v8" depends="sunspider-init">
405 <exec executable="${v8.shell}">
406 <arg value="${sunspider-test-sys-prop.test.js.framework}"/>
407 <arg value="--"/>
408 <arg value="${sunspider-tests}/"/>
409 </exec>
410 </target>
412 <!-- run sunspider with Rhino -->
413 <target name="sunspider-rhino" depends="sunspider-init">
414 <java jar="${rhino.jar}"
415 classpath="${run.test.classpath}"
416 fork="true"
417 dir=".">
418 <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx}"/>
419 <arg value="${sunspider-test-sys-prop.test.js.framework}"/>
420 <arg value="${sunspider-tests}/"/>
421 </java>
422 </target>
424 </project>