Unreviewed build fix.
[WebKit-https.git] / PerformanceTests / ChangeLog
1 2017-08-09  Michael Saboff  <msaboff@apple.com>
2
3         Unreviewed build fix.
4
5         Added missing files.
6
7         * RexBench/Octane2/benchmark.js: Added.
8         (Octane2RegExpBenchmark):
9         (Octane2RegExpBenchmark.prototype.setup.):
10         (Octane2RegExpBenchmark.prototype.setup.Math.random):
11         (Octane2RegExpBenchmark.prototype.setup):
12         (Octane2RegExpBenchmark.prototype.runOnce):
13         (Octane2RegExpBenchmark.prototype.tearDown):
14         * RexBench/SunSpider/benchmark.js: Added.
15         (RegexDNABenchmark):
16         (RegexDNABenchmark.prototype.runOnce):
17         (RegexDNABenchmark.prototype.validate):
18
19 2017-08-09  Michael Saboff  <msaboff@apple.com>
20
21         Rex Bench doesn't work from the command line
22         https://bugs.webkit.org/show_bug.cgi?id=175349
23
24         Reviewed by Saam Barati.
25
26         Fixed cli.js to have the same set of benchmarks and .js files as the web
27         page driver.
28
29         Refactored the way benchmarks are run using a new Benchmark base class.  That
30         class will run the benchmark as well.  Eliminated the various runBenchmark()
31         functions that were used for individual tests.  This refactoring was threaded
32         into the web page driver as well.  Changed the iteration counts on many of the
33         individual benchmarks.  Also changed the inner loop count for the flight
34         planner test.
35
36         Eliminated Octane2/base.js as it isn't needed to run Octane2/RegExp with the 
37         new test harness.  Eliminated other dead code in Octane2/regexp.js.
38
39         * RexBench/Basic/benchmark.js:
40         (BasicBenchmark):
41         (BasicBenchmark.prototype.runIteration): Deleted.
42         (runBenchmark): Deleted.
43         * RexBench/FlightPlanner/benchmark.js:
44         (FlightPlannerBenchmark):
45         (FlightPlannerBenchmark.prototype.runOnce):
46         (this.performance.performance.now.currentTime): Deleted.
47         (else.this.preciseTime.currentTime): Deleted.
48         (else.currentTime): Deleted.
49         (FlightPlannerBenchmark.prototype.runIteration): Deleted.
50         (FlightPlannerBenchmark.prototype.checkResults): Deleted.
51         (runBenchmark): Deleted.
52         * RexBench/Octane2/base.js: Removed.
53         * RexBench/Octane2/regexp.js:
54         * RexBench/basic_benchmark.js:
55         * RexBench/benchmark.js: Added.
56         (this.performance.performance.now.currentTime):
57         (else.this.preciseTime.currentTime):
58         (else.currentTime):
59         (Benchmark):
60         (Benchmark.prototype.runIterations):
61         (Benchmark.prototype.setup):
62         (Benchmark.prototype.runOnce):
63         (Benchmark.prototype.validate):
64         (Benchmark.prototype.tearDown):
65         * RexBench/cli.js:
66         * RexBench/flightplan_benchmark.js:
67         * RexBench/flightplan_unicode_benchmark.js:
68         * RexBench/octane2_benchmark.js:
69         * RexBench/stats.js:
70         (Stats.prototype.toString.return.span.0.span.span):
71         * RexBench/sunspider_benchmark.js:
72
73 2017-08-07  Michael Saboff  <msaboff@apple.com>
74
75         Use more accurate Russian keywords for RexBench/FlightPlanner Unicode mode
76         https://bugs.webkit.org/show_bug.cgi?id=175298
77
78         Reviewed by Saam Barati.
79
80         With the help of Alexey Proskuryakov updated the Russian keywords.
81
82         * RexBench/FlightPlanner/use_unicode.js:
83
84 2017-08-07  Mathias Bynens  <mathias@qiwi.be>
85
86         Speedometer: Update to modern production Ember version
87         https://bugs.webkit.org/show_bug.cgi?id=175278
88
89         Reviewed by Ryosuke Niwa.
90
91         * Speedometer/resources/todomvc/architecture-examples/emberjs/README.md: Added.
92         * Speedometer/resources/todomvc/architecture-examples/emberjs/index.html: Made title consistent.
93         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/README.md: Documented build process.
94         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/components/.gitkeep: Added.
95         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/index.html: Made title consistent.
96         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/instance-initializers/global.js: Removed.
97         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/models/.gitkeep: Added.
98         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/router.js: Update to latest version.
99         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/routes/.gitkeep: Added.
100         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/services/repo.js: Update to latest version
101         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/styles/app.css: Added.
102         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/components/.gitkeep: Added.
103         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/bower.json: Update to latest version.
104         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/config/environment.js: Update to latest version.
105         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/dist/*: Added generated files per build instructions.
106         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/package-lock.json: Pinned dependencies.
107         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/package.json: Update to latest version.
108         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/.jshintrc: Removed.
109         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/module-for-acceptance.js: Updated to latest version.
110         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/start-app.js: Updated to latest version.
111         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/index.html: Updated to latest version.
112         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/integration/.gitkeep: Added.
113         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/unit/.gitkeep: Added.
114         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/vendor/.gitkeep: Added.
115
116 2017-08-07  Michael Saboff  <msaboff@apple.com>
117
118         REGRESSION(r220307): Perf bot failure trying to run RexBench tests
119         https://bugs.webkit.org/show_bug.cgi?id=175289
120
121         Reviewed by Filip Pizlo.
122
123         Add RexBench to the list of benchmarks we skip on the perf bots.
124
125         * Skipped:
126
127 2017-08-04  Michael Saboff  <msaboff@apple.com>
128
129         Create a new JavaScript RegExp benchmark
130         https://bugs.webkit.org/show_bug.cgi?id=175225
131
132         Reviewed by JF Bastien.
133
134         This is a new benchmark for Regular Expressions.  It borrows regex-dna from
135         SunSpider, the regexp test from Octane2, the BASIC parser from ARES-6/Basic,
136         and adds a new flight planner benchmark that uses RegExp's for textual parsing.
137
138         There needs to be some additions and changes to some of the textual content.
139         This includes adding more BASIC programs to the Basic test and increasing 
140         keyword usage in the Flight Planner to increase the 16-bit coverage.
141         
142         The intent is to grow this benchmark by adding a JavaScript implementation of the 
143         offline assembler lexer and parser as well as adding some targeted micro benchmark
144         tests.
145
146         * RexBench: Added.
147         * RexBench/Basic: Added.
148         * RexBench/Basic/ast.js: Added.
149         * RexBench/Basic/basic.js: Added.
150         * RexBench/Basic/benchmark.js: Added.
151         * RexBench/Basic/caseless_map.js: Added.
152         * RexBench/Basic/lexer.js: Added.
153         * RexBench/Basic/number.js: Added.
154         * RexBench/Basic/parser.js: Added.
155         * RexBench/Basic/random.js: Added.
156         * RexBench/Basic/state.js: Added.
157         * RexBench/Basic/stress-test.js: Added.
158         * RexBench/Basic/util.js: Added.
159         * RexBench/FlightPlanner: Added.
160         * RexBench/FlightPlanner/airways.js: Added.
161         * RexBench/FlightPlanner/benchmark.js: Added.
162         * RexBench/FlightPlanner/convert-nfdc.py: Added.
163         * RexBench/FlightPlanner/expectations.js: Added.
164         * RexBench/FlightPlanner/flight_planner.js: Added.
165         * RexBench/FlightPlanner/use_unicode.js: Added.
166         * RexBench/FlightPlanner/waypoints.js: Added.
167         * RexBench/Octane2: Added.
168         * RexBench/Octane2/base.js: Added.
169         * RexBench/Octane2/regexp.js: Added.
170         * RexBench/SunSpider: Added.
171         * RexBench/SunSpider/regex-dna.js: Added.
172         * RexBench/about.html: Added.
173         * RexBench/basic_benchmark.js: Added.
174         * RexBench/cli.js: Added.
175         * RexBench/driver.js: Added.
176         * RexBench/flightplan_benchmark.js: Added.
177         * RexBench/flightplan_unicode_benchmark.js: Added.
178         * RexBench/glue.js: Added.
179         * RexBench/index.html: Added.
180         * RexBench/octane2_benchmark.js: Added.
181         * RexBench/results.js: Added.
182         * RexBench/stats.js: Added.
183         * RexBench/styles.css: Added.
184         * RexBench/sunspider_benchmark.js: Added.
185
186 2017-07-31  Mathias Bynens  <mathias@qiwi.be>
187
188         Speedometer 2.0: Remove <base> from Angular 4 test
189         https://bugs.webkit.org/show_bug.cgi?id=175004
190
191         Reviewed by Ryosuke Niwa.
192
193         * Speedometer/resources/todomvc/architecture-examples/angular/dist/index.html: Remove <base>.
194         * Speedometer/resources/todomvc/architecture-examples/angular/src/index.html: Remove <base>.
195
196 2017-07-29  Mathias Bynens  <mathias@chromium.org>
197
198         Speedometer 2.0: Document vanilla/es2015 build process
199         https://bugs.webkit.org/show_bug.cgi?id=174894
200
201         Reviewed by Ryosuke Niwa.
202
203         * Speedometer/resources/todomvc/vanilla-examples/es2015/README.md: Added.
204         * Speedometer/resources/todomvc/vanilla-examples/es2015/index.html: Made title consistent.
205
206 2017-07-27  Mathias Bynens  <mathias@chromium.org>
207
208         Speedometer 2.0: Document Angular 4 build process
209         https://bugs.webkit.org/show_bug.cgi?id=174896
210
211         Reviewed by Ryosuke Niwa.
212
213         This patch documents the build process for the Angular 4 example, pins the dependencies (so
214         that builds are deterministic), and updates the generated files accordingly.
215
216         * Speedometer/resources/todomvc/architecture-examples/angular/README.md: Added.
217         * Speedometer/resources/todomvc/architecture-examples/angular/dist/*: Update per build instructions.
218         * Speedometer/resources/todomvc/architecture-examples/angular/e2e/app.e2e-spec.ts: Removed unused file.
219         * Speedometer/resources/todomvc/architecture-examples/angular/e2e/app.po.ts: Removed unused file.
220         * Speedometer/resources/todomvc/architecture-examples/angular/e2e/tsconfig.e2e.json: Removed unused file.
221         * Speedometer/resources/todomvc/architecture-examples/angular/package.json: Remove unneeded scripts.
222         * Speedometer/resources/todomvc/architecture-examples/angular/package-lock.json: Added to pin dependencies.
223         * Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.ts: Updated.
224         * Speedometer/resources/todomvc/architecture-examples/angular/src/environments/environment.ts: Updated.
225         * Speedometer/resources/todomvc/architecture-examples/angular/src/index.html: Made title consistent.
226
227 2017-07-25  Mathias Bynens  <mathias@qiwi.be>
228
229         Speedometer 2.0: Document es2015-babel-webpack build process
230         https://bugs.webkit.org/show_bug.cgi?id=174252
231
232         Reviewed by Ryosuke Niwa.
233
234         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/README.md: Added build docs.
235         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/*: Update generated build files.
236         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/package.json: Remove unused items.
237         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/package-lock.json: Added lockfile.
238         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/index.html: Make title consistent.
239
240 2017-07-18  Matt Kotsenas  <mattkot@microsoft.com>
241
242         Add performance.mark()s around each test step
243         https://bugs.webkit.org/show_bug.cgi?id=174530
244
245         Reviewed by Ryosuke Niwa.
246
247         Add `performance.mark()` around each test step to make analysis
248         simpler. Now each test step can be investigated via dev tools, ETW, etc.
249
250         * Speedometer/resources/benchmark-runner.js:
251         (BenchmarkRunner.prototype._writeMark):
252         (BenchmarkRunner.prototype._runTest):
253         (BenchmarkRunner.prototype._runTestAndRecordResults):
254
255 2017-07-14  Saam Barati  <sbarati@apple.com>
256
257         Fix ambiguous description text in ARES-6 about the data the benchmark measures
258         https://bugs.webkit.org/show_bug.cgi?id=174510
259
260         Rubber stamped by Filip Pizlo.
261
262         * ARES-6/about.html:
263
264 2017-07-07  Mathias Bynens  <mathias@qiwi.be>
265
266         Speedometer 2.0: Fix vanilla JS example
267         https://bugs.webkit.org/show_bug.cgi?id=174246
268
269         Reviewed by Ryosuke Niwa.
270
271         Previously, all TODO items were assigned an ID of `null`. This patch
272         fixes that bug. Manually deleting items now works again.
273
274         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/index.html: Made title consistent.
275         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/store.js: Fixed bug with deleting items.
276         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/readme.md: Added docs.
277
278 2017-07-06  Myles C. Maxfield  <mmaxfield@apple.com>
279
280         [Cocoa] Improve performance of font lookups
281         https://bugs.webkit.org/show_bug.cgi?id=173960
282         <rdar://problem/31996891>
283
284         Reviewed by Darin Adler.
285
286         * Layout/font-fallback-font-family.html: Added.
287         * Layout/resources/font-fallback-font-family.html: Added.
288
289 2017-06-10  Dan Bernstein  <mitz@apple.com>
290
291         Reverted r218056 because it made the IDE reindex constantly.
292
293         * MediaTime/Configurations/DebugRelease.xcconfig:
294
295 2017-06-10  Dan Bernstein  <mitz@apple.com>
296
297         [Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE
298         https://bugs.webkit.org/show_bug.cgi?id=173223
299
300         Reviewed by Sam Weinig.
301
302         The rebuilds were happening due to a difference in the compiler options that the IDE and
303         xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make
304         xcodebuild pass that option, too, set CLANG_INDEX_STORE_ENABLE to YES if it is unset, and
305         specify an appropriate path in CLANG_INDEX_STORE_PATH.
306
307         * MediaTime/Configurations/DebugRelease.xcconfig:
308
309 2017-06-07  Saam Barati  <sbarati@apple.com>
310
311         ARES-6 incorrectly measures Worst 4 Iterations
312         https://bugs.webkit.org/show_bug.cgi?id=172960
313
314         Reviewed by Mark Lam.
315
316         Version 1.0 of ARES-6 was accidentally measuring the first
317         4 iterations, instead of the worst 4. This patch fixes the
318         bug and bumps the version to 1.0.1.
319
320         * ARES-6/glue.js:
321         (driver.reportResult):
322         * ARES-6/results.js:
323         (Results.prototype.reportResult):
324
325 2017-06-06  Saam Barati  <sbarati@apple.com>
326
327         Add a version number to ARES-6
328         https://bugs.webkit.org/show_bug.cgi?id=172962
329
330         Reviewed by Yusuke Suzuki.
331
332         * ARES-6/glue.js:
333         (driver.reportResult):
334
335 2017-06-01  Saam Barati  <sbarati@apple.com>
336
337         Ensure a good experience for ARES-6 error reporting
338         https://bugs.webkit.org/show_bug.cgi?id=171699
339
340         Reviewed by Filip Pizlo and Jon Davis.
341
342         This patch fixes a bug where we would silently fail running ARES-6. The bug
343         was that we were calling reportError with the wrong |this| value.
344         I also cleaned up a bit of the code around error reporting. We
345         now indicate which test failed, and update the status to reflect
346         that a failure happened.
347         
348         This patch also modifies the CSS a bit to work better on smaller
349         screened devices. The CSS prevents the status from having a line
350         break both when an error is reported and when we're running the 
351         benchmark.
352
353         * ARES-6/driver.js:
354         (Driver):
355         (Driver.prototype.reportError):
356         * ARES-6/results.js:
357         (Results.prototype.reportError):
358         (Results):
359         * ARES-6/styles.css:
360         (.start):
361         (#status):
362         (.failed):
363         (#status.failed):
364         (.test .failed:before):
365         (#magic):
366         (@media only screen and (max-width: 784px)):
367         (.test):
368         (p):
369         (@media only screen and (max-width: 320px)):
370
371 2017-05-19  Ryosuke Niwa  <rniwa@webkit.org>
372
373         REGRESSION(r217118): Speedometer 2.0: Flight.js test is broken
374         https://bugs.webkit.org/show_bug.cgi?id=172394
375
376         Reviewed by Chris Dumez.
377
378         Fixed the bug that we were never clearing window.checkLoadedTimeoutId.
379
380         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/require.js:
381         (newContext.checkLoaded):
382
383 2017-05-19  Yusuke Suzuki  <utatane.tea@gmail.com>
384
385         Add SixSpeed benchmark to PerformanceTests
386         https://bugs.webkit.org/show_bug.cgi?id=172326
387
388         Reviewed by Sam Weinig.
389
390         This patch imports SixSpeed benchmark into WebKit tree.
391         It is a collection of ES6 microbenchmarks. While the scripts are very tiny,
392         it sometimes hits our missing care for optimization. So including it is useful.
393
394         The benchmark is released under MIT license.
395
396         * SixSpeed/LICENSE: Added.
397         * SixSpeed/REVISION: Added.
398         * SixSpeed/ReadMe.md: Added.
399         * SixSpeed/tests/.eslintrc: Added.
400         * SixSpeed/tests/arrow-args/arrow-args.es5: Added.
401         * SixSpeed/tests/arrow-args/arrow-args.es6: Added.
402         * SixSpeed/tests/arrow-declare/arrow-declare.es5: Added.
403         * SixSpeed/tests/arrow-declare/arrow-declare.es6: Added.
404         * SixSpeed/tests/arrow/arrow.es5: Added.
405         * SixSpeed/tests/arrow/arrow.es6: Added.
406         * SixSpeed/tests/bindings-compound/bindings-compound.es5: Added.
407         * SixSpeed/tests/bindings-compound/bindings-compound.es6: Added.
408         * SixSpeed/tests/bindings/bindings.es5: Added.
409         * SixSpeed/tests/bindings/bindings.es6: Added.
410         * SixSpeed/tests/classes/classes.es5: Added.
411         * SixSpeed/tests/classes/classes.es6: Added.
412         * SixSpeed/tests/defaults/defaults.es5: Added.
413         * SixSpeed/tests/defaults/defaults.es6: Added.
414         * SixSpeed/tests/destructuring-simple/destructuring-simple.es5: Added.
415         * SixSpeed/tests/destructuring-simple/destructuring-simple.es6: Added.
416         * SixSpeed/tests/destructuring/destructuring.es5: Added.
417         * SixSpeed/tests/destructuring/destructuring.es6: Added.
418         * SixSpeed/tests/for-of-array/for-of-array.es5: Added.
419         * SixSpeed/tests/for-of-array/for-of-array.es6: Added.
420         * SixSpeed/tests/for-of-object/for-of-object.es5: Added.
421         * SixSpeed/tests/for-of-object/for-of-object.es6: Added.
422         * SixSpeed/tests/generator/generator.es5: Added.
423         * SixSpeed/tests/generator/generator.es6: Added.
424         * SixSpeed/tests/map-set-lookup/map-set-lookup.es5: Added.
425         * SixSpeed/tests/map-set-lookup/map-set-lookup.es6: Added.
426         * SixSpeed/tests/map-set-object/map-set-object.es5: Added.
427         * SixSpeed/tests/map-set-object/map-set-object.es6: Added.
428         * SixSpeed/tests/map-set/map-set.es5: Added.
429         * SixSpeed/tests/map-set/map-set.es6: Added.
430         * SixSpeed/tests/map-string/map-string.es5: Added.
431         * SixSpeed/tests/map-string/map-string.es6: Added.
432         * SixSpeed/tests/new-target/defaults.es5: Added.
433         * SixSpeed/tests/new-target/defaults.es6: Added.
434         * SixSpeed/tests/object-assign/object-assign.es5: Added.
435         * SixSpeed/tests/object-assign/object-assign.es6: Added.
436         * SixSpeed/tests/object-literal-ext/object-literal-ext.es5: Added.
437         * SixSpeed/tests/object-literal-ext/object-literal-ext.es6: Added.
438         * SixSpeed/tests/regex-u/regex-u.es5: Added.
439         * SixSpeed/tests/regex-u/regex-u.es6: Added.
440         * SixSpeed/tests/rest/rest.es5: Added.
441         * SixSpeed/tests/rest/rest.es6: Added.
442         * SixSpeed/tests/spread-generator/spread-generator.es5: Added.
443         * SixSpeed/tests/spread-generator/spread-generator.es6: Added.
444         * SixSpeed/tests/spread-literal/spread-literal.es5: Added.
445         * SixSpeed/tests/spread-literal/spread-literal.es6: Added.
446         * SixSpeed/tests/spread/spread.es5: Added.
447         * SixSpeed/tests/spread/spread.es6: Added.
448         * SixSpeed/tests/super/super.es5: Added.
449         * SixSpeed/tests/super/super.es6: Added.
450         * SixSpeed/tests/template_string/template_string.es5: Added.
451         * SixSpeed/tests/template_string/template_string.es6: Added.
452         * SixSpeed/tests/template_string_tag/template_string_tag.es5: Added.
453         * SixSpeed/tests/template_string_tag/template_string_tag.es6: Added.
454         * SixSpeed/wrappers/wrapper.js:
455         (test):
456
457 2017-05-19  Ryosuke Niwa  <rniwa@webkit.org>
458
459         Speedometer 2.0: Angular v1 test only deletes the second item
460         https://bugs.webkit.org/show_bug.cgi?id=172353
461
462         Reviewed by Antti Koivisto.
463
464         Like jQuery and Inferno, run querySelector after removing each todo item.
465
466         * Speedometer/InteractiveRunner.html: Tweaked CSS again.
467         * Speedometer/resources/tests.js:
468
469 2017-05-19  Ryosuke Niwa  <rniwa@webkit.org>
470
471         Speedometer 2.0: Elem test isn't updating DOM during the measurement
472         https://bugs.webkit.org/show_bug.cgi?id=172343
473
474         Reviewed by Antti Koivisto.
475
476         Elem test wasn't doing much work because it simply enqueues items into the work queue, which doesn't get
477         executed until the next requestAnimationFrame or setTimeout callback happens.
478
479         Expose elm's work function as contentWindow.elemWork and make the first use of rAF a synchronous callback
480         just as it would when requestAnimationFrame isn't defined, and make the second use of rAF queue up to
481         an array of callbacks, and have the test runner manually invoke each callback.
482
483         This increases the runtime of the Elm suite from 100ms to 300ms on Safari.
484
485         * Speedometer/resources/tests.js:
486         (processElmWorkQueue): Added. A helper which processes Elm's work queue and manually invokes render callbacks.
487         * Speedometer/resources/todomvc/functional-prog-examples/elm/dist/elm.js:
488
489 2017-05-18  Ryosuke Niwa  <rniwa@webkit.org>
490
491         Speedometer 2.0: Flight.js test is sometime broken
492         https://bugs.webkit.org/show_bug.cgi?id=172347
493
494         Reviewed by Antti Koivisto.
495
496         The bug was caused by the test runner only waiting for #new-todo, which happens before all other states are
497         updated in the Flight.js dependency example. As done in Speedometer v1, insert a dummy element with id set
498         to appIsReady and wait for this element to appear in the benchmark harness.
499
500         * Speedometer/resources/tests.js: Wait for #appIsReady.
501         * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/main.js: Removed the superflous call
502         to console.log.
503         (checkReady): Added. Insert #appIsReady if checkLoaded is no longer running at 50ms interval. Because this
504         could happen asynchronously, we check the absense of checkLoadedTimeoutId Î©every 10ms for 5 times for
505         the total duration of 50ms. If checkLoadedTimeoutId was never present, we call it ready. If we ever observed
506         the presence of checkLoadedTimeoutId, wait another 50ms and start over.
507         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/require.js:
508         (.newContext.checkLoaded): Expose checkLoadedTimeoutId which is a timer ID used to check the dependency.
509
510 2017-05-19  Ryosuke Niwa  <rniwa@webkit.org>
511
512         Speedometer 2.0: jQuery and Inferno tests don't delete all ToDo items
513         https://bugs.webkit.org/show_bug.cgi?id=172341
514
515         Reviewed by Antti Koivisto.
516
517         The bug was caused by the fact TodoMVC examples for jQuery and Inferno JS create a new button
518         to delete the todo item each time todo items are rendered.
519
520         Fixed the bug by dynamically look for .destroy using querySelector for each item.
521
522         Also moved the deletion of the iframe from the end of each test suite to the beginning of each suite.
523         This will make debugging the issue like this easier on InteractiveRunner.html since the iframe
524         will stick around after stepping the last item in the suite.
525
526         * Speedometer/InteractiveRunner.html: Tweaked the CSS to make buttons to "Step" and "Run" always visible
527         even if the list of suites and subtests are too long to fit in the viewport.
528
529         * Speedometer/resources/benchmark-runner.js:
530         (BenchmarkRunner.prototype.step):
531         (BenchmarkRunner.prototype._runTestAndRecordResults):
532
533         * Speedometer/resources/tests.js: Fixed the bug for jQuery and Inferno. In the case of jQuery
534         we also have to fix the code for checking every ToDo item as completed as well.
535
536 2017-05-19  Ryosuke Niwa  <rniwa@webkit.org>
537
538         Speedometer 2.0: Vanilla JS test doesn't mark all todo items as completed
539         https://bugs.webkit.org/show_bug.cgi?id=172348
540
541         Reviewed by Antti Koivisto.
542
543         The bug was caused by the in-memory store class using the milisecond precision timestamp as an ID.
544         Because we inserts 50 items all at once, this can result in multiple data items sharing a single ID.
545
546         Fixed the bug by using a mononotically increasing ID instead.
547
548         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/store.js:
549         (Store.prototype.save):
550
551 2017-05-18  Ryosuke Niwa  <rniwa@webkit.org>
552
553         REGRESSION (r216694 - 216712): Performance test Speedometer/Full.html is failing
554         https://bugs.webkit.org/show_bug.cgi?id=172077
555
556         Reviewed by Chris Dumez.
557
558         Rename Full.html to index.html to match the convention of other benchmarks.
559
560         * Speedometer/index.html: Renamed from PerformanceTests/Speedometer/Full.html.
561
562 2017-05-18  Addy Osmani  <addyosmani@gmail.com>
563
564         Speedometer: check-in missing React TodoMVC dependency
565         https://bugs.webkit.org/show_bug.cgi?id=172213
566
567         Reviewed by Ryosuke Niwa.
568
569         * Speedometer/resources/todomvc/architecture-examples/react/index.html: fix director.min.js path.
570         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/director/director.min.js: Added.
571
572 2017-05-17  Addy Osmani  <addyosmani@gmail.com>
573
574         Speedometer: adjust Ember TodoMVC to use full path
575         https://bugs.webkit.org/show_bug.cgi?id=172211
576
577         Reviewed by Ryosuke Niwa.
578
579         * Speedometer/resources/tests.js: use full path to Ember TodoMVC app.
580
581 2017-05-16  Addy Osmani  <addyosmani@gmail.com>
582
583         Update to Speedometer 2.0 w/updated frameworks + new workloads
584         https://bugs.webkit.org/show_bug.cgi?id=170513
585
586         Reviewed by Ryosuke Niwa.
587
588         Refresh test runner and fix apps to work with it.
589
590         * Speedometer/InteractiveRunner.html:
591         (parseQueryString): Adds support for startAutomatically query parameter.
592         * Speedometer/resources/tests.js:
593         (triggerEnter): Refactor event triggering behavior for tests.
594         * Speedometer/resources/todomvc/architecture-examples/angular/dist/index.html:
595         (CSS): Drop reference to extraneous stylesheet in Angular TodoMVC.
596         * Speedometer/resources/todomvc/architecture-examples/emberjs/assets/todomvc.js:
597         * Speedometer/resources/todomvc/architecture-examples/emberjs/index.html:
598         (base): Enable Ember TodoMVC to be run from any directory/level.
599         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/services/memory.js:
600         (localStorageMemory): Correct import path and switch to window.localStorageMemory to fix Ember failures.
601         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/services/repo.js:
602         * Speedometer/resources/todomvc/architecture-examples/emberjs/tests/index.html:
603         * Speedometer/resources/todomvc/architecture-examples/jquery/index.html:
604         * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/LICENSE: Added.
605         (LICENSE): Add missing metadata and LICENSE files as part of director.js package for jQuery TodoMVC
606         * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/bower.json: Added.
607         * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/dist/director.js: Add missing 
608         director.js dependency for jQuery TodoMVC implementation.
609         * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/dist/director.min.js: Added.
610         * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/dist/ender.js: Added.
611         * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/package.json: Added.
612         * Speedometer/resources/todomvc/functional-prog-examples/elm/index.html: Fix path to built Elm TodoMVC scripts.
613
614 2017-05-12  Addy Osmani  <addyosmani@gmail.com>
615
616         Speedometer: Add a React.js TodoMVC implementation
617         https://bugs.webkit.org/show_bug.cgi?id=171444
618
619         Reviewed by Ryosuke Niwa.
620
621         Adds a more recent React.js TodoMVC implemenation to Speedometer
622
623         * Speedometer/resources/todomvc/architecture-examples/react/build.min.js: Added.
624         * Speedometer/resources/todomvc/architecture-examples/react/index.html: Added.
625         * Speedometer/resources/todomvc/architecture-examples/react/js/app.jsx: Added.
626         * Speedometer/resources/todomvc/architecture-examples/react/license.md: Added.
627         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/LICENSE: Added.
628         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/bind.js: Added.
629         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/bower.json: Added.
630         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/dedupe.js: Added.
631         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/index.js: Added.
632         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/package.json: Added.
633         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/director/LICENSE: Added.
634         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/director/bower.json: Added.
635         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/director/package.json: Added.
636         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react-dom/LICENSE: Added.
637         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react-dom/dist/react-dom-server.min.js: Added.
638         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react-dom/dist/react-dom.min.js: Added.
639         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react-dom/index.js: Added.
640         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/LICENSE: Added.
641         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/README.md: Added.
642         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/dist/react-with-addons.min.js: Added.
643         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/dist/react.min.js: Added.
644         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/package.json: Added.
645         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/todomvc-app-css/index.css: Added.
646         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/todomvc-common/base.css: Added.
647         * Speedometer/resources/todomvc/architecture-examples/react/node_modules/todomvc-common/base.js: Added.
648         * Speedometer/resources/todomvc/architecture-examples/react/npm-shrinkwrap.json: Added.
649         * Speedometer/resources/todomvc/architecture-examples/react/package.json: Added.
650         * Speedometer/resources/todomvc/architecture-examples/react/yarn.lock: Added.
651
652 2017-05-11  Addy Osmani  <addyosmani@gmail.com>
653
654         Speedometer: Update the Ember.js TodoMVC to a more recent version
655         https://bugs.webkit.org/show_bug.cgi?id=171342
656
657         Reviewed by Ryosuke Niwa.
658
659         Update the Ember TodoMVC app in Speedometer to latest
660
661         * Speedometer/resources/todomvc/architecture-examples/emberjs/assets/todomvc.css: Added.
662         * Speedometer/resources/todomvc/architecture-examples/emberjs/assets/todomvc.js: Added.
663         * Speedometer/resources/todomvc/architecture-examples/emberjs/assets/vendor.css: Renamed from PerformanceTests/Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css.
664         * Speedometer/resources/todomvc/architecture-examples/emberjs/assets/vendor.js: Added.
665         * Speedometer/resources/todomvc/architecture-examples/emberjs/bower.json: Removed.
666         * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember-data/ember-data.js: Removed.
667         * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js: Removed.
668         * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: Removed.
669         * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: Removed.
670         * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js: Removed.
671         * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js: Removed.
672         * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png: Removed.
673         * Speedometer/resources/todomvc/architecture-examples/emberjs/crossdomain.xml: Added.
674         * Speedometer/resources/todomvc/architecture-examples/emberjs/index.html:
675         * Speedometer/resources/todomvc/architecture-examples/emberjs/js/app.js: Removed.
676         * Speedometer/resources/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js: Removed.
677         * Speedometer/resources/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js: Removed.
678         * Speedometer/resources/todomvc/architecture-examples/emberjs/js/helpers/pluralize.js: Removed.
679         * Speedometer/resources/todomvc/architecture-examples/emberjs/js/models/todo.js: Removed.
680         * Speedometer/resources/todomvc/architecture-examples/emberjs/js/router.js: Removed.
681         * Speedometer/resources/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js: Removed.
682         * Speedometer/resources/todomvc/architecture-examples/emberjs/js/views/todos_view.js: Removed.
683         * Speedometer/resources/todomvc/architecture-examples/emberjs/readme.md: Removed.
684         * Speedometer/resources/todomvc/architecture-examples/emberjs/robots.txt: Added.
685         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.bowerrc: Added.
686         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.editorconfig: Added.
687         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.ember-cli: Added.
688         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.gitignore: Added.
689         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.jshintrc: Added.
690         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.travis.yml: Added.
691         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.watchmanconfig: Added.
692         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/README.md: Added.
693         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/app.js: Added.
694         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/components/.gitkeep: Added.
695         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/components/todo-item.js: Added.
696         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/components/todo-list.js: Added.
697         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/controllers/active.js: Added.
698         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/controllers/application.js: Added.
699         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/controllers/completed.js: Added.
700         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/helpers/gt.js: Added.
701         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/helpers/pluralize.js: Added.
702         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/index.html: Added.
703         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/instance-initializers/global.js: Added.
704         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/models/.gitkeep: Added.
705         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/resolver.js: Added.
706         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/router.js: Added.
707         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/routes/.gitkeep: Added.
708         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/routes/application.js: Added.
709         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/services/memory.js: Added.
710         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/services/repo.js: Added.
711         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/styles/app.css: Added.
712         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/active.hbs: Added.
713         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/application.hbs: Added.
714         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/completed.hbs: Added.
715         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/components/.gitkeep: Added.
716         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/components/todo-item.hbs: Added.
717         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/components/todo-list.hbs: Added.
718         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/index.hbs: Added.
719         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/bower.json: Added.
720         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/config/environment.js: Added.
721         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/ember-cli-build.js: Added.
722         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/package.json: Added.
723         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/public/crossdomain.xml: Added.
724         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/public/robots.txt: Added.
725         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/testem.js: Added.
726         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/.jshintrc: Added.
727         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/destroy-app.js: Added.
728         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/module-for-acceptance.js: Added.
729         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/resolver.js: Added.
730         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/start-app.js: Added.
731         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/index.html: Added.
732         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/integration/.gitkeep: Added.
733         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/test-helper.js: Added.
734         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/unit/.gitkeep: Added.
735         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/vendor/.gitkeep: Added.
736         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/vendor/base.css: Added.
737         * Speedometer/resources/todomvc/architecture-examples/emberjs/source/vendor/index.css: Added.
738         * Speedometer/resources/todomvc/architecture-examples/emberjs/test.html: Removed.
739         * Speedometer/resources/todomvc/architecture-examples/emberjs/testem.js: Added.
740         * Speedometer/resources/todomvc/architecture-examples/emberjs/tests/index.html: Added.
741
742 2017-05-11  Addy Osmani  <addyosmani@gmail.com>
743
744         Speedometer: Add a React + Redux TodoMVC implementation
745         https://bugs.webkit.org/show_bug.cgi?id=171329
746
747         Reviewed by Ryosuke Niwa.
748
749         Adds React and Redux TodoMVC implementation for Speedometer
750
751         * Speedometer/resources/todomvc/architecture-examples/react-redux/README.md: Added.
752         * Speedometer/resources/todomvc/architecture-examples/react-redux/dist/index.html: Added.
753         * Speedometer/resources/todomvc/architecture-examples/react-redux/dist/static/css/main.d43d2909.css: Added.
754         * Speedometer/resources/todomvc/architecture-examples/react-redux/dist/static/js/main.946269ff.js: Added.
755         * Speedometer/resources/todomvc/architecture-examples/react-redux/package.json: Added.
756         * Speedometer/resources/todomvc/architecture-examples/react-redux/public/index.html: Added.
757         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/actions/index.js: Added.
758         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/actions/index.spec.js: Added.
759         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Footer.js: Added.
760         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Footer.spec.js: Added.
761         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Header.js: Added.
762         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Header.spec.js: Added.
763         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/MainSection.js: Added.
764         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/MainSection.spec.js: Added.
765         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/TodoItem.js: Added.
766         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/TodoItem.spec.js: Added.
767         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/TodoTextInput.js: Added.
768         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/TodoTextInput.spec.js: Added.
769         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/constants/ActionTypes.js: Added.
770         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/constants/TodoFilters.js: Added.
771         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/containers/App.js: Added.
772         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/index.js: Added.
773         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/reducers/index.js: Added.
774         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/reducers/todos.js: Added.
775         * Speedometer/resources/todomvc/architecture-examples/react-redux/src/reducers/todos.spec.js: Added.
776         * Speedometer/resources/todomvc/architecture-examples/react-redux/yarn.lock: Added.
777
778 2017-05-11  Addy Osmani  <addyosmani@gmail.com>
779
780         Speedometer: Add an ES2015 (Babel + Webpack) TodoMVC implementation
781         https://bugs.webkit.org/show_bug.cgi?id=171452
782
783         Reviewed by Ryosuke Niwa.
784
785         Adds ES2015 Babel + Webpack TodoMVC implem
786
787         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/.babelrc: Added.
788         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/.eslintignore: Added.
789         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.app.73bcc5d3c1d07180f0e3.js: Added.
790         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.app.73bcc5d3c1d07180f0e3.js.map: Added.
791         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.manifest.112bf70a7f3deebf1f93.js: Added.
792         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.manifest.112bf70a7f3deebf1f93.js.map: Added.
793         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.vendor.efaa3e0e20077c8e7471.js: Added.
794         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.vendor.efaa3e0e20077c8e7471.js.map: Added.
795         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/index.html: Added.
796         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.app.73bcc5d3c1d07180f0e3.css: Added.
797         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.app.73bcc5d3c1d07180f0e3.css.map: Added.
798         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.vendor.efaa3e0e20077c8e7471.css: Added.
799         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.vendor.efaa3e0e20077c8e7471.css.map: Added.
800         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/package.json: Added.
801         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/app.css: Added.
802         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/app.js: Added.
803         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/bootstrap.js: Added.
804         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/controller.js: Added.
805         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/controller.test.js: Added.
806         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/helpers.js: Added.
807         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/index.html: Added.
808         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/memory.js: Added.
809         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/model.js: Added.
810         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/store.js: Added.
811         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/template.js: Added.
812         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/todo.js: Added.
813         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/view.js: Added.
814         * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/webpack.config.babel.js: Added.
815
816 2017-05-11  Addy Osmani  <addyosmani@gmail.com>
817
818         Speedometer: Add an Inferno TodoMVC implementation
819         https://bugs.webkit.org/show_bug.cgi?id=171411
820
821         Reviewed by Ryosuke Niwa.
822
823         Adds a Inferno implem of TodoMVC to Speedometer
824
825         * Speedometer/resources/todomvc/architecture-examples/inferno/dist/bundle.js: Added.
826         * Speedometer/resources/todomvc/architecture-examples/inferno/index.html: Added.
827         * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-app-css/index.css: Added.
828         * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-app-css/package.json: Added.
829         * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-app-css/readme.md: Added.
830         * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-common/base.css: Added.
831         * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-common/base.js: Added.
832         * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-common/package.json: Added.
833         * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-common/readme.md: Added.
834         * Speedometer/resources/todomvc/architecture-examples/inferno/package.json: Added.
835         * Speedometer/resources/todomvc/architecture-examples/inferno/src/base.js: Added.
836         * Speedometer/resources/todomvc/architecture-examples/inferno/src/index.js: Added.
837         * Speedometer/resources/todomvc/architecture-examples/inferno/src/item.js: Added.
838         * Speedometer/resources/todomvc/architecture-examples/inferno/src/model.js: Added.
839         * Speedometer/resources/todomvc/architecture-examples/inferno/src/share.js: Added.
840         * Speedometer/resources/todomvc/architecture-examples/inferno/webpack.config.js: Added.
841
842 2017-05-11  Addy Osmani  <addyosmani@gmail.com>
843
844         Speedometer: Add an Angular 2 (4.x) TodoMVC implementation
845         https://bugs.webkit.org/show_bug.cgi?id=171343
846
847         Reviewed by Ryosuke Niwa.
848
849         Add a TodoMVC Angular 2 (4.x) implem for the benchmark
850
851         * Speedometer/resources/todomvc/architecture-examples/angular/.angular-cli.json: Added.
852         * Speedometer/resources/todomvc/architecture-examples/angular/.editorconfig: Added.
853         * Speedometer/resources/todomvc/architecture-examples/angular/README.md: Added.
854         * Speedometer/resources/todomvc/architecture-examples/angular/dist/assets/css/todomvc-app.css: Added.
855         * Speedometer/resources/todomvc/architecture-examples/angular/dist/assets/css/todomvc-common.css: Added.
856         * Speedometer/resources/todomvc/architecture-examples/angular/dist/favicon.ico: Added.
857         * Speedometer/resources/todomvc/architecture-examples/angular/dist/index.html: Added.
858         * Speedometer/resources/todomvc/architecture-examples/angular/dist/inline.b342d102ba4a53bf2002.bundle.js: Added.
859         * Speedometer/resources/todomvc/architecture-examples/angular/dist/main.779eb2f1ddbe23ac61c7.bundle.js: Added.
860         * Speedometer/resources/todomvc/architecture-examples/angular/dist/polyfills.2d45a4c73c85e24fe474.bundle.js: Added.
861         * Speedometer/resources/todomvc/architecture-examples/angular/dist/styles.d41d8cd98f00b204e980.bundle.css: Added.
862         * Speedometer/resources/todomvc/architecture-examples/angular/dist/vendor.b4be818cb6d8028f9192.bundle.js: Added.
863         * Speedometer/resources/todomvc/architecture-examples/angular/e2e/app.e2e-spec.ts: Added.
864         * Speedometer/resources/todomvc/architecture-examples/angular/e2e/app.po.ts: Added.
865         * Speedometer/resources/todomvc/architecture-examples/angular/e2e/tsconfig.e2e.json: Added.
866         * Speedometer/resources/todomvc/architecture-examples/angular/karma.conf.js: Added.
867         * Speedometer/resources/todomvc/architecture-examples/angular/package.json: Added.
868         * Speedometer/resources/todomvc/architecture-examples/angular/protractor.conf.js: Added.
869         * Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.css: Added.
870         * Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.html: Added.
871         * Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.spec.ts: Added.
872         * Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.ts: Added.
873         * Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.module.ts: Added.
874         * Speedometer/resources/todomvc/architecture-examples/angular/src/app/todo-data.service.spec.ts: Added.
875         * Speedometer/resources/todomvc/architecture-examples/angular/src/app/todo-data.service.ts: Added.
876         * Speedometer/resources/todomvc/architecture-examples/angular/src/app/todo.spec.ts: Added.
877         * Speedometer/resources/todomvc/architecture-examples/angular/src/app/todo.ts: Added.
878         * Speedometer/resources/todomvc/architecture-examples/angular/src/assets/.gitkeep: Added.
879         * Speedometer/resources/todomvc/architecture-examples/angular/src/assets/css/todomvc-app.css: Added.
880         * Speedometer/resources/todomvc/architecture-examples/angular/src/assets/css/todomvc-common.css: Added.
881         * Speedometer/resources/todomvc/architecture-examples/angular/src/environments/environment.prod.ts: Added.
882         * Speedometer/resources/todomvc/architecture-examples/angular/src/environments/environment.ts: Added.
883         * Speedometer/resources/todomvc/architecture-examples/angular/src/favicon.ico: Added.
884         * Speedometer/resources/todomvc/architecture-examples/angular/src/index.html: Added.
885         * Speedometer/resources/todomvc/architecture-examples/angular/src/main.ts: Added.
886         * Speedometer/resources/todomvc/architecture-examples/angular/src/polyfills.ts: Added.
887         * Speedometer/resources/todomvc/architecture-examples/angular/src/styles.css: Added.
888         * Speedometer/resources/todomvc/architecture-examples/angular/src/test.ts: Added.
889         * Speedometer/resources/todomvc/architecture-examples/angular/src/tsconfig.app.json: Added.
890         * Speedometer/resources/todomvc/architecture-examples/angular/src/tsconfig.spec.json: Added.
891         * Speedometer/resources/todomvc/architecture-examples/angular/src/typings.d.ts: Added.
892         * Speedometer/resources/todomvc/architecture-examples/angular/tsconfig.json: Added.
893         * Speedometer/resources/todomvc/architecture-examples/angular/tslint.json: Added.
894
895 2017-05-11  Addy Osmani  <addyosmani@gmail.com>
896
897         Speedometer: Add a Vue.js TodoMVC implementation
898         https://bugs.webkit.org/show_bug.cgi?id=171325
899
900         Reviewed by Ryosuke Niwa.
901
902         Adds a Vue.js TodoMVC implementation to Speedometer
903
904         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/.babelrc: Added.
905         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/.editorconfig: Added.
906         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/.eslintignore: Added.
907         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/.eslintrc.js: Added.
908         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/README.md: Added.
909         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/config/dev.env.js: Added.
910         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/config/index.js: Added.
911         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/config/prod.env.js: Added.
912         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/index.html: Added.
913         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/static/css/app.677b45842d9f8b96e5b23c18969233b7.css: Added.
914         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/static/js/app.b0e835874bc8949670d1.js: Added.
915         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/static/js/manifest.84b2b4fceb74ab1f91f3.js: Added.
916         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/static/js/vendor.a52517c5aa98e7fbea2e.js: Added.
917         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/index.html: Added.
918         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/package.json: Added.
919         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/App.vue: Added.
920         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/components/Todos.vue: Added.
921         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/components/todo.css: Added.
922         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/main.js: Added.
923         * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/yarn.lock: Added.
924
925 2017-05-11  Addy Osmani  <addyosmani@gmail.com>
926
927         Speedometer: Update the vanilla JavaScript TodoMVC implem to a more recent version
928         https://bugs.webkit.org/show_bug.cgi?id=171306
929
930         Reviewed by Ryosuke Niwa.
931
932         Update vanilla JS TodoMVC implementation to the latest.
933
934         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower.json: Removed.
935         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css: Removed.
936         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.js: Removed.
937         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png: Removed.
938         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/index.html:
939         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/app.js:
940         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/controller.js:
941         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/helpers.js:
942         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/model.js:
943         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/store.js:
944         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/template.js: Added.
945         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/view.js:
946         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-app-css/index.css: Added.
947         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-common/base.css: Added.
948         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-common/base.js: Added.
949         * Speedometer/resources/todomvc/vanilla-examples/vanillajs/package.json: Added.
950
951 2017-05-11  Addy Osmani  <addyosmani@gmail.com>
952
953         Speedometer: Add an ES2015 TodoMVC implementation
954         https://bugs.webkit.org/show_bug.cgi?id=171448
955
956         Reviewed by Ryosuke Niwa.
957
958         Adds ES2015 TodoMVC implementation for Speedometer
959
960         * Speedometer/resources/todomvc/vanilla-examples/es2015/index.html: Added.
961         * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/index.css: Added.
962         * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/package.json: Added.
963         * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/readme.md: Added.
964         * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/base.css: Added.
965         * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/base.js: Added.
966         * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/package.json: Added.
967         * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/readme.md: Added.
968         * Speedometer/resources/todomvc/vanilla-examples/es2015/package.json: Added.
969         * Speedometer/resources/todomvc/vanilla-examples/es2015/src/.jshintrc: Added.
970         * Speedometer/resources/todomvc/vanilla-examples/es2015/src/app.js: Added.
971         * Speedometer/resources/todomvc/vanilla-examples/es2015/src/controller.js: Added.
972         * Speedometer/resources/todomvc/vanilla-examples/es2015/src/helpers.js: Added.
973         * Speedometer/resources/todomvc/vanilla-examples/es2015/src/model.js: Added.
974         * Speedometer/resources/todomvc/vanilla-examples/es2015/src/store.js: Added.
975         * Speedometer/resources/todomvc/vanilla-examples/es2015/src/template.js: Added.
976         * Speedometer/resources/todomvc/vanilla-examples/es2015/src/view.js: Added.
977
978 2017-05-11  Addy Osmani  <addyosmani@gmail.com>
979
980         Speedometer: Add an Elm TodoMVC implementation
981         https://bugs.webkit.org/show_bug.cgi?id=171464
982
983         Reviewed by Ryosuke Niwa.
984
985         Speedometer: Add Elm TodoMVC implementation
986
987         * Speedometer/resources/todomvc/functional-prog-examples/elm/Todo.elm: Added.
988         * Speedometer/resources/todomvc/functional-prog-examples/elm/Todo/Task.elm: Added.
989         * Speedometer/resources/todomvc/functional-prog-examples/elm/dist/elm.js: Added.
990         * Speedometer/resources/todomvc/functional-prog-examples/elm/index.html: Added.
991         * Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-app-css/index.css: Added.
992         * Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-common/base.css: Added.
993         * Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-common/base.js: Added.
994         * Speedometer/resources/todomvc/functional-prog-examples/elm/package.json: Added.
995         * Speedometer/resources/todomvc/functional-prog-examples/elm/readme.md: Added.
996
997 2017-05-11  Addy Osmani  <addyosmani@gmail.com>
998
999         Speedometer: Update the Backbone.js implementation to a more recent library version
1000         https://bugs.webkit.org/show_bug.cgi?id=171305
1001
1002         Reviewed by Ryosuke Niwa.
1003
1004         Updates the Backbone.js TodoMVC implementation to latest
1005
1006         * Speedometer/resources/todomvc/architecture-examples/backbone/bower.json: Removed.
1007         * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage/backbone.localStorage.js: Removed.
1008         * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/jquery/jquery.js: Removed.
1009         * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css: Removed.
1010         * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.js: Removed.
1011         * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png: Removed.
1012         * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/underscore/underscore.js: Removed.
1013         * Speedometer/resources/todomvc/architecture-examples/backbone/index.html:
1014         * Speedometer/resources/todomvc/architecture-examples/backbone/js/app.js:
1015         * Speedometer/resources/todomvc/architecture-examples/backbone/js/backbone.sync.js: Added.
1016         * Speedometer/resources/todomvc/architecture-examples/backbone/js/collections/todos.js:
1017         * Speedometer/resources/todomvc/architecture-examples/backbone/js/models/todo.js:
1018         * Speedometer/resources/todomvc/architecture-examples/backbone/js/routers/router.js:
1019         * Speedometer/resources/todomvc/architecture-examples/backbone/js/views/app-view.js:
1020         * Speedometer/resources/todomvc/architecture-examples/backbone/js/views/todo-view.js:
1021         * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/backbone/backbone.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/backbone/backbone.js.
1022         * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/jquery/dist/jquery.js: Added.
1023         * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/todomvc-app-css/index.css: Added.
1024         * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/todomvc-common/base.css: Added.
1025         * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/todomvc-common/base.js: Added.
1026         * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/underscore/underscore.js: Added.
1027         * Speedometer/resources/todomvc/architecture-examples/backbone/package.json: Added.
1028
1029 2017-05-11  Addy Osmani  <addyosmani@gmail.com>
1030
1031         Speedometer: Add a Preact.js TodoMVC implementation
1032         https://bugs.webkit.org/show_bug.cgi?id=171323
1033
1034         Reviewed by Ryosuke Niwa.
1035
1036         Adds Preact.js TodoMVC implementation to Speedometer
1037
1038         * Speedometer/resources/todomvc/architecture-examples/preact/.babelrc: Added.
1039         * Speedometer/resources/todomvc/architecture-examples/preact/README.md: Added.
1040         * Speedometer/resources/todomvc/architecture-examples/preact/dist/app.js: Added.
1041         * Speedometer/resources/todomvc/architecture-examples/preact/dist/index.html: Added.
1042         * Speedometer/resources/todomvc/architecture-examples/preact/dist/todomvc-common/base.css: Added.
1043         * Speedometer/resources/todomvc/architecture-examples/preact/dist/todomvc-common/base.js: Added.
1044         * Speedometer/resources/todomvc/architecture-examples/preact/dist/todomvc.css: Added.
1045         * Speedometer/resources/todomvc/architecture-examples/preact/package.json: Added.
1046         * Speedometer/resources/todomvc/architecture-examples/preact/rollup.config.js: Added.
1047         * Speedometer/resources/todomvc/architecture-examples/preact/src/app/footer.js: Added.
1048         * Speedometer/resources/todomvc/architecture-examples/preact/src/app/index.js: Added.
1049         * Speedometer/resources/todomvc/architecture-examples/preact/src/app/item.js: Added.
1050         * Speedometer/resources/todomvc/architecture-examples/preact/src/app/model.js: Added.
1051         * Speedometer/resources/todomvc/architecture-examples/preact/src/app/util.js: Added.
1052         * Speedometer/resources/todomvc/architecture-examples/preact/src/index.html: Added.
1053         * Speedometer/resources/todomvc/architecture-examples/preact/src/index.js: Added.
1054         * Speedometer/resources/todomvc/architecture-examples/preact/webpack.config.babel.js: Added.
1055
1056 2017-05-11  Addy Osmani  <addyosmani@gmail.com>
1057
1058         Speedometer: Update the jQuery implementation to a more recent library version
1059         https://bugs.webkit.org/show_bug.cgi?id=171308
1060
1061         Reviewed by Ryosuke Niwa.
1062
1063         Updates the jQuery implementation of TodoMVC to a more recent version
1064
1065         * Speedometer/resources/todomvc/architecture-examples/jquery/bower.json: Removed.
1066         * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/handlebars/handlebars.js: Removed.
1067         * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/jquery/jquery.js: Removed.
1068         * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css: Removed.
1069         * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.js: Removed.
1070         * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png: Removed.
1071         * Speedometer/resources/todomvc/architecture-examples/jquery/index.html:
1072         * Speedometer/resources/todomvc/architecture-examples/jquery/js/app.js:
1073         * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/handlebars/dist/handlebars.js: Added.
1074         * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/jquery/dist/jquery.js: Added.
1075         * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-app-css/index.css: Added.
1076         * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-app-css/package.json: Added.
1077         * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-app-css/readme.md: Added.
1078         * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-common/base.css: Added.
1079         * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-common/base.js: Added.
1080         * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-common/package.json: Added.
1081         * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-common/readme.md: Added.
1082         * Speedometer/resources/todomvc/architecture-examples/jquery/package.json: Added.
1083         * Speedometer/resources/todomvc/architecture-examples/jquery/readme.md:
1084
1085 2017-05-11  Addy Osmani  <addyosmani@gmail.com>
1086
1087         Speedometer: Update the Flight.js implementation to a more recent library version
1088         https://bugs.webkit.org/show_bug.cgi?id=171471
1089
1090         Reviewed by Ryosuke Niwa.
1091
1092         Speedometer: Update FlightJS TodoMVC implementation
1093
1094         * Speedometer/resources/todomvc/dependency-examples/flight/.gitignore: Removed.
1095         * Speedometer/resources/todomvc/dependency-examples/flight/.jshintrc: Removed.
1096         * Speedometer/resources/todomvc/dependency-examples/flight/app/js/main.js: Removed.
1097         * Speedometer/resources/todomvc/dependency-examples/flight/app/js/store.js: Removed.
1098         * Speedometer/resources/todomvc/dependency-examples/flight/bower.json: Removed.
1099         * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-shim.js: Removed.
1100         * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/compose.js: Removed.
1101         * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/index.js: Removed.
1102         * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/logger.js: Removed.
1103         * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/jquery/jquery.js: Removed.
1104         * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.css: Removed.
1105         * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/bg.png: Removed.
1106         * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/data/stats.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/data/stats.js.
1107         * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/data/todos.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/data/todos.js.
1108         * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/main.js: Added.
1109         * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/page/app.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/app.js.
1110         * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/store.js: Added.
1111         * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/main_selector.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/main_selector.js.
1112         * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/new_item.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/new_item.js.
1113         * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/stats.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/stats.js.
1114         * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/todo_list.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/todo_list.js.
1115         * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/toggle_all.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/toggle_all.js.
1116         * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/with_filters.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/with_filters.js.
1117         * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/utils.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/utils.js.
1118         * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/templates/stats.html: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/templates/stats.html.
1119         * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/templates/todo.html: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/templates/todo.html.
1120         * Speedometer/resources/todomvc/dependency-examples/flight/flight/index.html: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/index.html.
1121         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/depot/README.md: Added.
1122         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/depot/depot.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/depot/depot.js.
1123         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/depot/depot.min.js: Added.
1124         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/depot/package.json: Added.
1125         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/LICENSE: Added.
1126         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/es5-sham.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-sham.js.
1127         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/es5-sham.min.js: Added.
1128         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/es5-shim.js: Added.
1129         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/es5-shim.min.js: Added.
1130         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/LICENSE: Added.
1131         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/index.js: Added.
1132         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/advice.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/advice.js.
1133         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/base.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/base.js.
1134         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/component.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/component.js.
1135         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/compose.js: Added.
1136         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/debug.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/debug.js.
1137         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/logger.js: Added.
1138         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/registry.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/registry.js.
1139         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/utils.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/utils.js.
1140         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/jquery/README.md: Added.
1141         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/jquery/dist/jquery.js: Added.
1142         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/jquery/dist/jquery.min.js: Added.
1143         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/jquery/package.json: Added.
1144         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/memorystorage/memorystorage.js: Added.
1145         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/LICENSE: Added.
1146         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/README.md: Added.
1147         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/bower.json: Added.
1148         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/package.json: Added.
1149         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/text.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/requirejs-text/text.js.
1150         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/README.md: Added.
1151         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/package.json: Added.
1152         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/require.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/requirejs/require.js.
1153         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/index.css: Added.
1154         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/package.json: Added.
1155         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/readme.md: Added.
1156         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/base.css: Added.
1157         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/base.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.js.
1158         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/package.json: Added.
1159         * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/readme.md: Added.
1160         * Speedometer/resources/todomvc/dependency-examples/flight/flight/package.json: Added.
1161         * Speedometer/resources/todomvc/dependency-examples/flight/karma.conf.js: Removed.
1162         * Speedometer/resources/todomvc/dependency-examples/flight/package.json: Removed.
1163         * Speedometer/resources/todomvc/dependency-examples/flight/readme.md: Removed.
1164         * Speedometer/resources/todomvc/dependency-examples/flight/test/.jshintrc: Removed.
1165         * Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/footer.html: Removed.
1166         * Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/new_todo.html: Removed.
1167         * Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/toggle_all.html: Removed.
1168         * Speedometer/resources/todomvc/dependency-examples/flight/test/mock/datastore.js: Removed.
1169         * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/data/stats_spec.js: Removed.
1170         * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/data/todos_spec.js: Removed.
1171         * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/new_item_spec.js: Removed.
1172         * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/stats_spec.js: Removed.
1173         * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/toggle_all_spec.js: Removed.
1174         * Speedometer/resources/todomvc/dependency-examples/flight/test/test-main.js: Removed.
1175
1176 2017-05-11  Addy Osmani  <addyosmani@gmail.com>
1177
1178         Speedometer: Update the AngularJS implementation to a more recent library version
1179         https://bugs.webkit.org/show_bug.cgi?id=171307
1180
1181         Reviewed by Ryosuke Niwa.
1182
1183         Updates the AngularJS implementation of TodoMVC to 1.4.x
1184
1185         * Speedometer/resources/todomvc/architecture-examples/angularjs/bower.json: Removed.
1186         * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/angular-mocks/angular-mocks.js: Removed.
1187         * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/angular/angular.js: Removed.
1188         * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: Removed.
1189         * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.js: Removed.
1190         * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png: Removed.
1191         * Speedometer/resources/todomvc/architecture-examples/angularjs/index.html:
1192         * Speedometer/resources/todomvc/architecture-examples/angularjs/js/app.js:
1193         * Speedometer/resources/todomvc/architecture-examples/angularjs/js/controllers/todoCtrl.js:
1194         * Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoBlur.js: Removed.
1195         * Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoEscape.js:
1196         * Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoFocus.js:
1197         * Speedometer/resources/todomvc/architecture-examples/angularjs/js/services/todoStorage.js:
1198         * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular-resource/angular-resource.js: Added.
1199         * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular-route/angular-route.js: Added.
1200         * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular/angular.js: Added.
1201         * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-app-css/index.css: Added.
1202         * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-app-css/package.json: Added.
1203         * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-app-css/readme.md: Added.
1204         * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-common/base.css: Added.
1205         * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-common/base.js: Added.
1206         * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-common/package.json: Added.
1207         * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-common/readme.md: Added.
1208         * Speedometer/resources/todomvc/architecture-examples/angularjs/package.json: Added.
1209         * Speedometer/resources/todomvc/architecture-examples/angularjs/readme.md:
1210         * Speedometer/resources/todomvc/architecture-examples/angularjs/test/config/testacular.conf.js: Removed.
1211         * Speedometer/resources/todomvc/architecture-examples/angularjs/test/package.json: Removed.
1212         * Speedometer/resources/todomvc/architecture-examples/angularjs/test/readme.md: Removed.
1213         * Speedometer/resources/todomvc/architecture-examples/angularjs/test/unit/directivesSpec.js: Removed.
1214         * Speedometer/resources/todomvc/architecture-examples/angularjs/test/unit/todoCtrlSpec.js: Removed.
1215         * Speedometer/resources/todomvc/architecture-examples/angularjs/todomvc-index.html: Added.
1216
1217 2017-05-09  Jon Davis  <jond@apple.com>
1218
1219         [ARES6] Improved the running test indicator
1220         https://bugs.webkit.org/show_bug.cgi?id=171400
1221         
1222         Running tests show a triangle before the test title and the titles are white.
1223
1224         Reviewed by Joseph Pecoraro.
1225
1226         * ARES-6/index.html:
1227         * ARES-6/styles.css:
1228         (.test .running):
1229         (.test .running:before):
1230         (.test .indicator): Deleted.
1231         (.test .indicator.running): Deleted.
1232         (@keyframes test-running): Deleted.
1233
1234 2017-05-04  Andy VanWagoner  <thetalecrafter@gmail.com>
1235
1236         [INTL] Add PerformanceTests for Intl objects
1237         https://bugs.webkit.org/show_bug.cgi?id=171695
1238
1239         Reviewed by Benjamin Poulain.
1240
1241         * Intl/collator-compare-all-options.html: Added.
1242         * Intl/collator-compare-default.html: Added.
1243         * Intl/collator-create-all-options.html: Added.
1244         * Intl/collator-create-default.html: Added.
1245         * Intl/datetimeformat-create-all-options.html: Added.
1246         * Intl/datetimeformat-create-default.html: Added.
1247         * Intl/datetimeformat-format-all-options.html: Added.
1248         * Intl/datetimeformat-format-default.html: Added.
1249         * Intl/numberformat-create-all-options.html: Added.
1250         * Intl/numberformat-create-default.html: Added.
1251         * Intl/numberformat-format-all-options.html: Added.
1252         * Intl/numberformat-format-default.html: Added.
1253
1254 2017-04-27  Michael Saboff  <msaboff@apple.com>
1255
1256         Add back tests inadvertently deleted in r205032.
1257
1258         Rubber stamped by Geoffrey Garen.
1259
1260         * MallocBench/run-malloc-benchmarks:
1261
1262 2017-04-25  Myles C. Maxfield  <mmaxfield@apple.com>
1263
1264         Add performance test for FontCache::systemFallbackForCharacters()
1265         https://bugs.webkit.org/show_bug.cgi?id=170842
1266
1267         Reviewed by Tim Horton.
1268
1269         * Layout/word-joiner.html: Added.
1270
1271 2017-04-24  Saam Barati  <sbarati@apple.com>
1272
1273         Add ML to ARES6
1274         https://bugs.webkit.org/show_bug.cgi?id=171206
1275
1276         Rubber stamped by Filip Pizlo.
1277
1278         This patch adds a new test to ARES6 called ML. ML is an implementation of
1279         a feedforward neural network: https://github.com/mljs/feedforward-neural-networks.
1280         It makes heavy use of classes, and does non-trivial matrix math using the
1281         ml-matrix library: https://github.com/mljs/matrix
1282
1283         * ARES-6/about.html:
1284         * ARES-6/cli.js:
1285         * ARES-6/glue.js:
1286         * ARES-6/index.html:
1287         * ARES-6/ml: Added.
1288         * ARES-6/ml/benchmark.js: Added.
1289         * ARES-6/ml/index.js: Added.
1290         * ARES-6/ml_benchmark.js: Added.
1291
1292 2017-04-21  Zalan Bujtas  <zalan@apple.com>
1293
1294         Simple line layout: Add performance test to measure mid-word line breaking with long text.
1295         https://bugs.webkit.org/show_bug.cgi?id=171136
1296
1297         Reviewed by Ryosuke Niwa.
1298
1299         * Layout/simple-line-layout-word-break-long-text.html: Added.
1300
1301 2017-04-17  Ryan Haddad  <ryanhaddad@apple.com>
1302
1303         Unreviewed, rolling out r215366.
1304
1305         This test is failing on performance bots.
1306
1307         Reverted changeset:
1308
1309         "Add performance test for asking the platform for a font for
1310         U+2060 WORD JOINER"
1311         https://bugs.webkit.org/show_bug.cgi?id=170842
1312         http://trac.webkit.org/changeset/215366
1313
1314 2017-04-14  Myles C. Maxfield  <mmaxfield@apple.com>
1315
1316         Add performance test for asking the platform for a font for U+2060 WORD JOINER
1317         https://bugs.webkit.org/show_bug.cgi?id=170842
1318
1319         Reviewed by Tim Horton.
1320
1321         * Layout/word-joiner.html: Added.
1322
1323 2017-04-03  Saam Barati  <sbarati@apple.com>
1324
1325         Add a new test to ARES6
1326         https://bugs.webkit.org/show_bug.cgi?id=170077
1327
1328         Rubber stamped by Filip Pizlo.
1329
1330         This patch adds a new test to ARES6. The test is called Babylon. Babylon is
1331         the JavaScript parser that is part of the Babel transpiler. The test runs
1332         the parser on 4 different JS scripts.
1333
1334         * ARES-6/Babylon: Added.
1335         * ARES-6/Babylon/AUTHORS: Added.
1336         * ARES-6/Babylon/air-blob.js: Added.
1337         (Reg):
1338         (Reg.fromReg):
1339         (Reg.prototype.get index):
1340         (Reg.prototype.get type):
1341         (Reg.prototype.get name):
1342         (Reg.prototype.get isCalleeSave):
1343         (Reg.prototype.get isReg):
1344         (Reg.prototype.hash):
1345         (Reg.prototype.toString):
1346         (Reg.extract):
1347         (Reg.forEachFast):
1348         (Reg.forEach):
1349         (newGPR):
1350         (Reg.gprs.Reg.fprs.Reg.calleeSaveGPRs.Reg.calleeSaveFPRs.Reg.calleeSaves):
1351         * ARES-6/Babylon/babylon-blob.js: Added.
1352         (export.default.Parser):
1353         (export.default.Parser.prototype.isReservedWord):
1354         (export.default.Parser.prototype.hasPlugin):
1355         (export.default.Parser.prototype.extend):
1356         (export.default.Parser.prototype.loadPlugins):
1357         (export.default.Parser.prototype.parse):
1358         * ARES-6/Babylon/basic-blob.js: Added.
1359         (Basic.NumberApply):
1360         (Basic.Variable):
1361         (Basic.Const):
1362         (Basic.NumberPow):
1363         (Basic.NumberMul):
1364         (Basic.NumberDiv):
1365         (Basic.NumberNeg):
1366         (Basic.NumberAdd):
1367         (Basic.NumberSub):
1368         (Basic.StringVar):
1369         (Basic.Equals):
1370         (Basic.NotEquals):
1371         (Basic.LessThan):
1372         (Basic.GreaterThan):
1373         (Basic.LessEqual):
1374         (Basic.GreaterEqual):
1375         (Basic.GoTo):
1376         (Basic.GoSub):
1377         (Basic.Def):
1378         (Basic.Let):
1379         (Basic.If):
1380         (Basic.Return):
1381         (Basic.Stop):
1382         (Basic.On):
1383         (sideState.shouldStop):
1384         (Basic.For):
1385         (Basic.Next):
1386         (Basic.Print):
1387         (Basic.Input):
1388         (Basic.Read):
1389         (Basic.Restore):
1390         (Basic.Dim):
1391         (Basic.Randomize):
1392         (Basic.End):
1393         (Basic.Program):
1394         * ARES-6/Babylon/benchmark.js: Added.
1395         (this.performance.performance.now.currentTime):
1396         (else.this.preciseTime.currentTime):
1397         (else.currentTime):
1398         (BabylonBenchmark.appendSource):
1399         (BabylonBenchmark):
1400         (BabylonBenchmark.prototype.runIteration.parse):
1401         (BabylonBenchmark.prototype.runIteration.parseExpression):
1402         (BabylonBenchmark.prototype.runIteration):
1403         (runBenchmark):
1404         * ARES-6/Babylon/index.js: Added.
1405         (isIdentifierStart):
1406         (isIdentifierChar):
1407         (isNewLine):
1408         (Position):
1409         (SourceLocation):
1410         (getLineInfo):
1411         (TokenType):
1412         (KeywordTokenType):
1413         (BinopTokenType):
1414         (TokContext):
1415         (tt.parenR.updateContext.tt.braceR.updateContext):
1416         (tt.name.updateContext):
1417         (tt.braceL.updateContext):
1418         (tt.dollarBraceL.updateContext):
1419         (tt.parenL.updateContext):
1420         (tt.incDec.updateContext):
1421         (tt._function.updateContext):
1422         (tt.backQuote.updateContext):
1423         (State.prototype.init):
1424         (State.prototype.curPosition):
1425         (State.prototype.clone):
1426         (State):
1427         (Token):
1428         (codePointToString):
1429         (Tokenizer):
1430         (Tokenizer.prototype.next):
1431         (Tokenizer.prototype.eat):
1432         (Tokenizer.prototype.match):
1433         (Tokenizer.prototype.isKeyword):
1434         (Tokenizer.prototype.lookahead):
1435         (Tokenizer.prototype.setStrict):
1436         (Tokenizer.prototype.curContext):
1437         (Tokenizer.prototype.nextToken):
1438         (Tokenizer.prototype.readToken):
1439         (Tokenizer.prototype.fullCharCodeAtPos):
1440         (Tokenizer.prototype.pushComment):
1441         (Tokenizer.prototype.skipBlockComment):
1442         (Tokenizer.prototype.skipLineComment):
1443         (Tokenizer.prototype.skipSpace):
1444         (Tokenizer.prototype.finishToken):
1445         (Tokenizer.prototype.readToken_dot):
1446         (Tokenizer.prototype.readToken_slash):
1447         (Tokenizer.prototype.readToken_mult_modulo):
1448         (Tokenizer.prototype.readToken_pipe_amp):
1449         (Tokenizer.prototype.readToken_caret):
1450         (Tokenizer.prototype.readToken_plus_min):
1451         (Tokenizer.prototype.readToken_lt_gt):
1452         (Tokenizer.prototype.readToken_eq_excl):
1453         (Tokenizer.prototype.getTokenFromCode):
1454         (Tokenizer.prototype.finishOp):
1455         (Tokenizer.prototype.readRegexp):
1456         (Tokenizer.prototype.readInt):
1457         (Tokenizer.prototype.readRadixNumber):
1458         (Tokenizer.prototype.readNumber):
1459         (Tokenizer.prototype.readCodePoint):
1460         (Tokenizer.prototype.readString):
1461         (Tokenizer.prototype.readTmplToken):
1462         (Tokenizer.prototype.readEscapedChar):
1463         (Tokenizer.prototype.readHexChar):
1464         (Tokenizer.prototype.readWord1):
1465         (Tokenizer.prototype.readWord):
1466         (Tokenizer.prototype.braceIsBlock):
1467         (Tokenizer.prototype.updateContext):
1468         (getOptions):
1469         (prototype.isReservedWord):
1470         (prototype.hasPlugin):
1471         (prototype.extend):
1472         (prototype.loadPlugins):
1473         (prototype.parse):
1474         (last):
1475         (pp.addComment):
1476         (pp.processComment):
1477         (pp.checkPropClash):
1478         (pp.getExpression):
1479         (pp.parseExpression):
1480         (pp.parseMaybeAssign):
1481         (pos.set i):
1482         * ARES-6/Babylon/inspector-blob.js: Added.
1483         (WebInspector.ScriptSyntaxTree):
1484         (WebInspector.ScriptSyntaxTree.prototype.get parsedSuccessfully):
1485         (WebInspector.ScriptSyntaxTree.prototype.forEachNode):
1486         (WebInspector.ScriptSyntaxTree.prototype.filter):
1487         (WebInspector.ScriptSyntaxTree.prototype.containersOfOffset):
1488         (WebInspector.ScriptSyntaxTree.prototype.filterByRange.filterForNodesInRange):
1489         (WebInspector.ScriptSyntaxTree.prototype.filterByRange):
1490         (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement.removeFunctionsFilter):
1491         (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement):
1492         (WebInspector.ScriptSyntaxTree.functionReturnDivot):
1493         (WebInspector.ScriptSyntaxTree.prototype.updateTypes):
1494         (WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration.gatherIdentifiers):
1495         (WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration):
1496         (WebInspector.ScriptSyntaxTree.prototype._defaultParserState):
1497         (WebInspector.ScriptSyntaxTree.prototype._recurse):
1498         (WebInspector.ScriptSyntaxTree.prototype._recurseArray):
1499         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
1500         * ARES-6/about.html:
1501         * ARES-6/babylon_benchmark.js: Added.
1502         * ARES-6/cli.js:
1503         * ARES-6/glue.js:
1504         * ARES-6/index.html:
1505         * ARES-6/results.js:
1506         (Results.prototype.reportResult):
1507         (Results.prototype.reportResult.averageAbovePercentile): Deleted.
1508         * ARES-6/styles.css:
1509         (.test):
1510         (@media only screen and (max-width: 784px)):
1511
1512 2017-03-29  Zalan Bujtas <zalan@apple.com>
1513
1514         [Arabic text] Add whitespace preserve/word wrap performance test.
1515         https://bugs.webkit.org/show_bug.cgi?id=170243
1516
1517         Reviewed by Simon Fraser.
1518
1519         * Layout/ArabicLineLayout-pre-and-wrap.html: Added.
1520
1521 2017-03-08  Yusuke Suzuki  <utatane.tea@gmail.com>
1522
1523         [JSC] Add helpers to run Six Speed to run-jsc-benchmarks
1524         https://bugs.webkit.org/show_bug.cgi?id=169351
1525
1526         Reviewed by Saam Barati.
1527
1528         * SixSpeed/wrappers/wrapper.js: Added.
1529         (assertEqual):
1530         (test):
1531         (jscRun):
1532
1533 2017-03-08  Jon Davis  <jond@apple.com>
1534
1535         Fixed ARES-6 animations for other browsers
1536
1537         Rubber stamped by Saam Barati.
1538
1539         * ARES-6/styles.css:
1540         (.swoop):
1541         (.logo):
1542
1543 2017-03-07  Filip Pizlo  <fpizlo@apple.com>
1544
1545         Revise the ARES-6 explainer text
1546         https://bugs.webkit.org/show_bug.cgi?id=169287
1547
1548         Reviewed by Saam Barati.
1549         
1550         Just did some copy-editing.
1551
1552         * ARES-6/about.html:
1553
1554 2017-03-06  Jon Davis  <jond@apple.com>
1555
1556         Refined the ARES-6 experience
1557         https://bugs.webkit.org/show_bug.cgi?id=169205
1558
1559         Reviewed by Saam Barati.
1560
1561         * ARES-6/about.html: Copied from PerformanceTests/ARES-6/index.html.
1562         * ARES-6/driver.js:
1563         (Driver.prototype.start):
1564         (Driver.prototype._updateIterations):
1565         (Driver):
1566         * ARES-6/index.html:
1567         * ARES-6/stats.js:
1568         (Stats.prototype.toString.span.span):
1569         * ARES-6/styles.css:
1570         (body):
1571         (.swoop):
1572         (p):
1573         (.logo):
1574         (.start):
1575         (.test):
1576         (.test:nth-child(odd)):
1577         (.overall):
1578         (.about h2):
1579         (.button):
1580         (.button:hover):
1581         (.button.return:before):
1582         (@keyframes fade-in):
1583         (@keyframes scale-in):
1584         (@keyframes flicker-in):
1585         (@keyframes wipe-in):
1586         (.flip): Deleted.
1587         (.testing, .about): Deleted.
1588         (.testing): Deleted.
1589         (.about): Deleted.
1590         (#about:target): Deleted.
1591
1592 2017-03-06  Jeremy Jones  <jeremyj@apple.com>
1593
1594         StandardCanPlayThrough.html does not work on iOS.
1595         https://bugs.webkit.org/show_bug.cgi?id=169207
1596
1597         Reviewed by Jer Noble.
1598
1599         On iOS only, add muted=true and autoplay=allowed. The loading policy on iOS requires these attributes to load enough
1600         data to trigger canPlayThrough.
1601
1602         * Media/StandardCanPlayThrough.html:
1603
1604 2017-02-13  Zalan Bujtas <zalan@apple.com>
1605
1606         Simple line layout: Add performance test with text-rendering: optimizeSpeed
1607         https://bugs.webkit.org/show_bug.cgi?id=168248
1608
1609         Reviewed by Simon Fraser.
1610
1611         * Layout/simple-line-layout-with-varying-content-and-optimized-speed.html: Added.
1612
1613 2017-02-10  Zalan Bujtas  <zalan@apple.com>
1614
1615         Mail hangs when removing multiple rows from large table.
1616         https://bugs.webkit.org/show_bug.cgi?id=168103
1617         <rdar://problem/30090186>
1618
1619         Reviewed by Ryosuke Niwa.
1620
1621         * DOM/large-table-edit.html: Added.
1622
1623 2017-02-05  Filip Pizlo  <fpizlo@apple.com>
1624
1625         Beef up the ARES-6 explainer text
1626         https://bugs.webkit.org/show_bug.cgi?id=167867
1627
1628         Reviewed by Saam Barati.
1629         
1630         Added appropriate links.
1631
1632         Added text that explains the subscores.
1633
1634         * ARES-6/index.html:
1635
1636 2017-02-06  Jer Noble  <jer.noble@apple.com>
1637
1638         Playback stalls when a SourceBuffer append causes frame eviction
1639         https://bugs.webkit.org/show_bug.cgi?id=167834
1640
1641         Reviewed by Eric Carlson.
1642
1643         Add an in-page performance test measuring the amount of time required
1644         to append a large amount of media data to a SourceBuffer, and then to
1645         completely remove that data 30s at a time.
1646
1647         Add a microbenchmark for MediaTime which measures the amount of time
1648         required to create a 1M entry std::map and traverse the map 1M times.
1649
1650         * Media/MSERemoveCodedFrames.html: Added.
1651         * Media/media-source-loader.js:
1652         (MediaSourceLoader.prototype.get duration):
1653         * MediaTime/Configurations/Base.xcconfig: Added.
1654         * MediaTime/Configurations/DebugRelease.xcconfig: Added.
1655         * MediaTime/Makefile: Added.
1656         * MediaTime/MediaTime.xcodeproj/project.pbxproj: Added.
1657         * MediaTime/main.cpp: Added.
1658         (performTest):
1659         (test):
1660         (main):
1661         * Skipped:
1662
1663 2017-02-06  Saam Barati  <sbarati@apple.com>
1664
1665         Make ARES-6 work from the CLI again
1666         https://bugs.webkit.org/show_bug.cgi?id=167895
1667
1668         Reviewed by Michael Saboff.
1669
1670         * ARES-6/driver.js:
1671         (Driver.prototype.readyTrigger):
1672         (Driver.prototype.disableTrigger):
1673         * ARES-6/stats.js:
1674         (Stats.prototype.toString.span.span):
1675         (Stats.prototype.toString.return.span):
1676         (Stats.prototype.toString):
1677
1678 2017-02-06  Ryan Haddad  <ryanhaddad@apple.com>
1679
1680         Skip ARES-6 on performance bots
1681         https://bugs.webkit.org/show_bug.cgi?id=167863
1682
1683         Unreviewed test gardening.
1684
1685         ES6SampleBench was renamed to ARES-6, so this should be updated in PerformanceTests/Skipped as well.
1686
1687         * Skipped:
1688
1689 2017-02-05  Filip Pizlo  <fpizlo@apple.com>
1690
1691         Change ES6SampleBench into ARES-6
1692         https://bugs.webkit.org/show_bug.cgi?id=167863
1693
1694         Rubber stamped by Saam Barati.
1695         
1696         This imports changes that Jonathan Davis (jond@apple.com) made to ES6SampleBench to make it look
1697         super awesome. Its now called ARES-6.
1698
1699         * ARES-6: Copied from PerformanceTests/ES6SampleBench.
1700         * ARES-6/ARES-6.svg: Added.
1701         * ARES-6/driver.js:
1702         (Driver):
1703         (Driver.prototype.readyTrigger):
1704         (Driver.prototype.disableTrigger):
1705         (Driver.prototype.start):
1706         (Driver.prototype._updateIterations):
1707         * ARES-6/glue.js:
1708         * ARES-6/index.html:
1709         * ARES-6/results.js:
1710         (Results.prototype.reportRunning):
1711         (Results.prototype.reportDone):
1712         * ARES-6/stats.js:
1713         (Stats.prototype.toString.return.span):
1714         (Stats.prototype.toString.span.span):
1715         (Stats.prototype.toString): Deleted.
1716         * ARES-6/style.css: Removed.
1717         * ARES-6/styles.css: Added.
1718         (html):
1719         (body):
1720         (header,):
1721         (p a):
1722         (p a:hover):
1723         (.flip):
1724         (header):
1725         (h2,):
1726         (p):
1727         (.about h2):
1728         (.logo):
1729         (.start):
1730         (.start.ready):
1731         (.start.ready:hover):
1732         (.start:after):
1733         (.start.ready .testrun):
1734         (.tests):
1735         (.test):
1736         (.overall h2,):
1737         (.test .indicator):
1738         (.test .indicator.running):
1739         (@keyframes test-running):
1740         (100%):
1741         (.score):
1742         (.score label):
1743         (.score .value):
1744         (.score .units):
1745         (.score .margin):
1746         (.overall):
1747         (.overall .score):
1748         (.overall .margin):
1749         (.testing, .about):
1750         (.testing):
1751         (.about):
1752         (#about:target):
1753         (@media only screen and (max-width: 784px)):
1754         * ARES-6/swoop.svg: Added.
1755         * ES6SampleBench: Removed.
1756         * ES6SampleBench/Air: Removed.
1757         * ES6SampleBench/Air/README.md: Removed.
1758         * ES6SampleBench/Air/airjs-tests.yaml: Removed.
1759         * ES6SampleBench/Air/all.js: Removed.
1760         * ES6SampleBench/Air/allocate_stack.js: Removed.
1761         * ES6SampleBench/Air/arg.js: Removed.
1762         * ES6SampleBench/Air/basic_block.js: Removed.
1763         * ES6SampleBench/Air/benchmark.js: Removed.
1764         * ES6SampleBench/Air/code.js: Removed.
1765         * ES6SampleBench/Air/custom.js: Removed.
1766         * ES6SampleBench/Air/frequented_block.js: Removed.
1767         * ES6SampleBench/Air/insertion_set.js: Removed.
1768         * ES6SampleBench/Air/inst.js: Removed.
1769         * ES6SampleBench/Air/liveness.js: Removed.
1770         * ES6SampleBench/Air/make_dist.sh: Removed.
1771         * ES6SampleBench/Air/opcode.js: Removed.
1772         * ES6SampleBench/Air/payload-airjs-ACLj8C.js: Removed.
1773         * ES6SampleBench/Air/payload-gbemu-executeIteration.js: Removed.
1774         * ES6SampleBench/Air/payload-imaging-gaussian-blur-gaussianBlur.js: Removed.
1775         * ES6SampleBench/Air/payload-typescript-scanIdentifier.js: Removed.
1776         * ES6SampleBench/Air/reg.js: Removed.
1777         * ES6SampleBench/Air/stack_slot.js: Removed.
1778         * ES6SampleBench/Air/stress-test.js: Removed.
1779         * ES6SampleBench/Air/strip-hash.rb: Removed.
1780         * ES6SampleBench/Air/symbols.js: Removed.
1781         * ES6SampleBench/Air/test.html: Removed.
1782         * ES6SampleBench/Air/test.js: Removed.
1783         * ES6SampleBench/Air/tmp.js: Removed.
1784         * ES6SampleBench/Air/tmp_base.js: Removed.
1785         * ES6SampleBench/Air/util.js: Removed.
1786         * ES6SampleBench/Basic: Removed.
1787         * ES6SampleBench/Basic/ast.js: Removed.
1788         * ES6SampleBench/Basic/basic-tests.yaml: Removed.
1789         * ES6SampleBench/Basic/basic.js: Removed.
1790         * ES6SampleBench/Basic/benchmark.js: Removed.
1791         * ES6SampleBench/Basic/caseless_map.js: Removed.
1792         * ES6SampleBench/Basic/lexer.js: Removed.
1793         * ES6SampleBench/Basic/number.js: Removed.
1794         * ES6SampleBench/Basic/parser.js: Removed.
1795         * ES6SampleBench/Basic/random.js: Removed.
1796         * ES6SampleBench/Basic/state.js: Removed.
1797         * ES6SampleBench/Basic/stress-test.js: Removed.
1798         * ES6SampleBench/Basic/test.html: Removed.
1799         * ES6SampleBench/Basic/test.js: Removed.
1800         * ES6SampleBench/Basic/util.js: Removed.
1801         * ES6SampleBench/air_benchmark.js: Removed.
1802         * ES6SampleBench/basic_benchmark.js: Removed.
1803         * ES6SampleBench/cli.js: Removed.
1804         * ES6SampleBench/driver.js: Removed.
1805         * ES6SampleBench/glue.js: Removed.
1806         * ES6SampleBench/index.html: Removed.
1807         * ES6SampleBench/results.js: Removed.
1808         * ES6SampleBench/stats.js: Removed.
1809         * ES6SampleBench/style.css: Removed.
1810
1811 2017-02-05  Zalan Bujtas  <zalan@apple.com>
1812
1813         Simple line layout: Add performance test with varying string and font-size to minimize width-cache hit.
1814         https://bugs.webkit.org/show_bug.cgi?id=167859
1815         <rdar://problem/30368070>
1816
1817         Reviewed by Antti Koivisto.
1818
1819         This is in preparation for webkit.org/b/167843.
1820
1821         * Layout/simple-line-layout-with-varying-content.html: Added.
1822
1823 2017-01-16  Filip Pizlo  <fpizlo@apple.com>
1824
1825         Add framerate baselines to the splay-detail test
1826         https://bugs.webkit.org/show_bug.cgi?id=167659
1827
1828         Reviewed by Geoffrey Garen.
1829
1830         * JetStream/Octane2/splay-detail.html:
1831
1832 2017-01-31  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1833
1834         [EFL][GTK] Skip some IndexedDB tests that time out on the Perf bots.
1835
1836         Unreviewed performance test gardening.
1837
1838         * Skipped:
1839
1840 2017-01-30  Zalan Bujtas  <zalan@apple.com>
1841
1842         Simple line layout: Small tweaks to improve performance.
1843         https://bugs.webkit.org/show_bug.cgi?id=167611
1844         <rdar://problem/30274294>
1845
1846         Reviewed by Simon Fraser.
1847
1848         * Layout/simple-line-layout-non-repeating-text.html: Added.
1849
1850 2017-01-13  Said Abou-Hallawa  <sabouhallawa@apple.com>
1851
1852         26 MotionMark performance tests failing
1853         https://bugs.webkit.org/show_bug.cgi?id=166854
1854
1855         Reviewed by Ryosuke Niwa.
1856         
1857         Skip running MotionMark on WebKit perf bots.
1858
1859         * Skipped:
1860
1861 2017-01-06  Said Abou-Hallawa  <sabouhallawa@apple.com>
1862
1863         Rename the directory and the files of MotionMark from Animometer to MotionMark
1864         https://bugs.webkit.org/show_bug.cgi?id=166659
1865
1866         Reviewed by Jon Lee.
1867         
1868         Rename the directory and the files of the benchmark to its new name.
1869
1870         * MotionMark/developer.html: Renamed from PerformanceTests/Animometer/developer.html.
1871         * MotionMark/index.html: Renamed from PerformanceTests/Animometer/index.html.
1872         * MotionMark/resources/debug-runner/d3.min.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/d3.min.js.
1873         * MotionMark/resources/debug-runner/graph.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/graph.js.
1874         * MotionMark/resources/debug-runner/motionmark.css: Renamed from PerformanceTests/Animometer/resources/debug-runner/animometer.css.
1875         * MotionMark/resources/debug-runner/motionmark.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/animometer.js.
1876         * MotionMark/resources/debug-runner/tests.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/tests.js.
1877         * MotionMark/resources/extensions.js: Renamed from PerformanceTests/Animometer/resources/extensions.js.
1878         * MotionMark/resources/runner/benchmark-runner.js: Renamed from PerformanceTests/Animometer/resources/runner/benchmark-runner.js.
1879         * MotionMark/resources/runner/crystal.svg: Renamed from PerformanceTests/Animometer/resources/runner/crystal.svg.
1880         * MotionMark/resources/runner/lines.svg: Renamed from PerformanceTests/Animometer/resources/runner/lines.svg.
1881         * MotionMark/resources/runner/logo.svg: Renamed from PerformanceTests/Animometer/resources/runner/logo.svg.
1882         * MotionMark/resources/runner/motionmark.css: Renamed from PerformanceTests/Animometer/resources/runner/animometer.css.
1883         * MotionMark/resources/runner/motionmark.js: Renamed from PerformanceTests/Animometer/resources/runner/animometer.js.
1884         * MotionMark/resources/runner/tests.js: Renamed from PerformanceTests/Animometer/resources/runner/tests.js.
1885         * MotionMark/resources/statistics.js: Renamed from PerformanceTests/Animometer/resources/statistics.js.
1886         * MotionMark/resources/strings.js: Renamed from PerformanceTests/Animometer/resources/strings.js.
1887         * MotionMark/tests/3d/resources/webgl.js: Renamed from PerformanceTests/Animometer/tests/3d/resources/webgl.js.
1888         * MotionMark/tests/3d/webgl.html: Renamed from PerformanceTests/Animometer/tests/3d/webgl.html.
1889         * MotionMark/tests/bouncing-particles/bouncing-canvas-images.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-canvas-images.html.
1890         * MotionMark/tests/bouncing-particles/bouncing-canvas-shapes.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html.
1891         * MotionMark/tests/bouncing-particles/bouncing-css-images.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-css-images.html.
1892         * MotionMark/tests/bouncing-particles/bouncing-css-shapes.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-css-shapes.html.
1893         * MotionMark/tests/bouncing-particles/bouncing-svg-images.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-svg-images.html.
1894         * MotionMark/tests/bouncing-particles/bouncing-svg-shapes.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-svg-shapes.html.
1895         * MotionMark/tests/bouncing-particles/bouncing-tagged-images.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-tagged-images.html.
1896         * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-images.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js.
1897         * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-particles.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js.
1898         * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js.
1899         * MotionMark/tests/bouncing-particles/resources/bouncing-css-images.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-css-images.js.
1900         * MotionMark/tests/bouncing-particles/resources/bouncing-css-shapes.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js.
1901         * MotionMark/tests/bouncing-particles/resources/bouncing-svg-images.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js.
1902         * MotionMark/tests/bouncing-particles/resources/bouncing-svg-particles.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js.
1903         * MotionMark/tests/bouncing-particles/resources/bouncing-svg-shapes.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js.
1904         * MotionMark/tests/bouncing-particles/resources/bouncing-tagged-images.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-tagged-images.js.
1905         * MotionMark/tests/bouncing-particles/resources/image1.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image1.jpg.
1906         * MotionMark/tests/bouncing-particles/resources/image2.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image2.jpg.
1907         * MotionMark/tests/bouncing-particles/resources/image3.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image3.jpg.
1908         * MotionMark/tests/bouncing-particles/resources/image4.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image4.jpg.
1909         * MotionMark/tests/bouncing-particles/resources/image5.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image5.jpg.
1910         * MotionMark/tests/dom/compositing-transforms.html: Renamed from PerformanceTests/Animometer/tests/dom/compositing-transforms.html.
1911         * MotionMark/tests/dom/focus.html: Renamed from PerformanceTests/Animometer/tests/dom/focus.html.
1912         * MotionMark/tests/dom/leaves.html: Renamed from PerformanceTests/Animometer/tests/dom/leaves.html.
1913         * MotionMark/tests/dom/particles.html: Renamed from PerformanceTests/Animometer/tests/dom/particles.html.
1914         * MotionMark/tests/dom/resources/compositing-transforms.js: Renamed from PerformanceTests/Animometer/tests/dom/resources/compositing-transforms.js.
1915         * MotionMark/tests/dom/resources/dom-particles.js: Renamed from PerformanceTests/Animometer/tests/dom/resources/dom-particles.js.
1916         * MotionMark/tests/dom/resources/focus.js: Renamed from PerformanceTests/Animometer/tests/dom/resources/focus.js.
1917         * MotionMark/tests/dom/resources/leaves.js: Renamed from PerformanceTests/Animometer/tests/dom/resources/leaves.js.
1918         * MotionMark/tests/master/canvas-stage.html: Renamed from PerformanceTests/Animometer/tests/master/canvas-stage.html.
1919         * MotionMark/tests/master/focus.html: Renamed from PerformanceTests/Animometer/tests/master/focus.html.
1920         * MotionMark/tests/master/image-data.html: Renamed from PerformanceTests/Animometer/tests/master/image-data.html.
1921         * MotionMark/tests/master/leaves.html: Renamed from PerformanceTests/Animometer/tests/master/leaves.html.
1922         * MotionMark/tests/master/multiply.html: Renamed from PerformanceTests/Animometer/tests/master/multiply.html.
1923         * MotionMark/tests/master/resources/canvas-stage.js: Renamed from PerformanceTests/Animometer/tests/master/resources/canvas-stage.js.
1924         * MotionMark/tests/master/resources/canvas-tests.js: Renamed from PerformanceTests/Animometer/tests/master/resources/canvas-tests.js.
1925         * MotionMark/tests/master/resources/compass.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/compass.svg.
1926         * MotionMark/tests/master/resources/compass100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/compass100.png.
1927         * MotionMark/tests/master/resources/console.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/console.svg.
1928         * MotionMark/tests/master/resources/console100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/console100.png.
1929         * MotionMark/tests/master/resources/contribute.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/contribute.svg.
1930         * MotionMark/tests/master/resources/contribute100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/contribute100.png.
1931         * MotionMark/tests/master/resources/debugger.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/debugger.svg.
1932         * MotionMark/tests/master/resources/debugger100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/debugger100.png.
1933         * MotionMark/tests/master/resources/focus.js: Renamed from PerformanceTests/Animometer/tests/master/resources/focus.js.
1934         * MotionMark/tests/master/resources/image-data.js: Renamed from PerformanceTests/Animometer/tests/master/resources/image-data.js.
1935         * MotionMark/tests/master/resources/inspector.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/inspector.svg.
1936         * MotionMark/tests/master/resources/inspector100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/inspector100.png.
1937         * MotionMark/tests/master/resources/layout.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/layout.svg.
1938         * MotionMark/tests/master/resources/layout100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/layout100.png.
1939         * MotionMark/tests/master/resources/leaves.js: Renamed from PerformanceTests/Animometer/tests/master/resources/leaves.js.
1940         * MotionMark/tests/master/resources/multiply.js: Renamed from PerformanceTests/Animometer/tests/master/resources/multiply.js.
1941         * MotionMark/tests/master/resources/particles.js: Renamed from PerformanceTests/Animometer/tests/master/resources/particles.js.
1942         * MotionMark/tests/master/resources/performance.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/performance.svg.
1943         * MotionMark/tests/master/resources/performance100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/performance100.png.
1944         * MotionMark/tests/master/resources/script.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/script.svg.
1945         * MotionMark/tests/master/resources/script100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/script100.png.
1946         * MotionMark/tests/master/resources/shortcuts.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/shortcuts.svg.
1947         * MotionMark/tests/master/resources/shortcuts100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/shortcuts100.png.
1948         * MotionMark/tests/master/resources/standards.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/standards.svg.
1949         * MotionMark/tests/master/resources/standards100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/standards100.png.
1950         * MotionMark/tests/master/resources/storage.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/storage.svg.
1951         * MotionMark/tests/master/resources/storage100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/storage100.png.
1952         * MotionMark/tests/master/resources/styles.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/styles.svg.
1953         * MotionMark/tests/master/resources/styles100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/styles100.png.
1954         * MotionMark/tests/master/resources/svg-particles.js: Renamed from PerformanceTests/Animometer/tests/master/resources/svg-particles.js.
1955         * MotionMark/tests/master/resources/text.js: Renamed from PerformanceTests/Animometer/tests/master/resources/text.js.
1956         * MotionMark/tests/master/resources/timeline.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/timeline.svg.
1957         * MotionMark/tests/master/resources/timeline100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/timeline100.png.
1958         * MotionMark/tests/master/svg-particles.html: Renamed from PerformanceTests/Animometer/tests/master/svg-particles.html.
1959         * MotionMark/tests/master/text.html: Renamed from PerformanceTests/Animometer/tests/master/text.html.
1960         * MotionMark/tests/resources/main.js: Renamed from PerformanceTests/Animometer/tests/resources/main.js.
1961         * MotionMark/tests/resources/math.js: Renamed from PerformanceTests/Animometer/tests/resources/math.js.
1962         * MotionMark/tests/resources/stage.css: Renamed from PerformanceTests/Animometer/tests/resources/stage.css.
1963         * MotionMark/tests/resources/star.svg: Renamed from PerformanceTests/Animometer/tests/resources/star.svg.
1964         * MotionMark/tests/resources/yin-yang.png: Renamed from PerformanceTests/Animometer/tests/resources/yin-yang.png.
1965         * MotionMark/tests/resources/yin-yang.svg: Renamed from PerformanceTests/Animometer/tests/resources/yin-yang.svg.
1966         * MotionMark/tests/simple/resources/simple-canvas-paths.js: Renamed from PerformanceTests/Animometer/tests/simple/resources/simple-canvas-paths.js.
1967         * MotionMark/tests/simple/resources/simple-canvas.js: Renamed from PerformanceTests/Animometer/tests/simple/resources/simple-canvas.js.
1968         * MotionMark/tests/simple/resources/tiled-canvas-image.js: Renamed from PerformanceTests/Animometer/tests/simple/resources/tiled-canvas-image.js.
1969         * MotionMark/tests/simple/simple-canvas-paths.html: Renamed from PerformanceTests/Animometer/tests/simple/simple-canvas-paths.html.
1970         * MotionMark/tests/simple/tiled-canvas-image.html: Renamed from PerformanceTests/Animometer/tests/simple/tiled-canvas-image.html.
1971         * MotionMark/tests/template/resources/template-canvas.js: Renamed from PerformanceTests/Animometer/tests/template/resources/template-canvas.js.
1972         * MotionMark/tests/template/resources/template-css.js: Renamed from PerformanceTests/Animometer/tests/template/resources/template-css.js.
1973         * MotionMark/tests/template/resources/template-svg.js: Renamed from PerformanceTests/Animometer/tests/template/resources/template-svg.js.
1974         * MotionMark/tests/template/template-canvas.html: Renamed from PerformanceTests/Animometer/tests/template/template-canvas.html.
1975         * MotionMark/tests/template/template-css.html: Renamed from PerformanceTests/Animometer/tests/template/template-css.html.
1976         * MotionMark/tests/template/template-svg.html: Renamed from PerformanceTests/Animometer/tests/template/template-svg.html.
1977
1978 2016-12-13  Brady Eidson  <beidson@apple.com>
1979
1980         Add a PerfTest targeting IDBObjectStore.get().
1981         https://bugs.webkit.org/show_bug.cgi?id=165816
1982
1983         Reviewed by Alex Christensen.
1984
1985         * IndexedDB/objectstore-get.html: Added.
1986
1987 2016-12-13  Brady Eidson  <beidson@apple.com>
1988
1989         Add a PerfTest targeting IDBIndex.get().
1990         https://bugs.webkit.org/show_bug.cgi?id=165803
1991
1992         Reviewed by Alex Christensen.
1993
1994         * IndexedDB/index-get.html: Added.
1995
1996 2016-12-12  Brady Eidson  <beidson@apple.com>
1997
1998         More IndexedDB perf tests.
1999         https://bugs.webkit.org/show_bug.cgi?id=165634
2000
2001         Reviewed by Sam Weinig.
2002
2003         * IndexedDB/index-multientry.html:
2004         * IndexedDB/large-number-of-inserts-responsiveness.html: Added.
2005         * IndexedDB/large-number-of-inserts.html: Added.
2006         * IndexedDB/objectstore-cursor.html: Added. Runtime cut in 1/4th compared to r209672.
2007
2008         * resources/runner.js:
2009
2010 2016-12-12  Commit Queue  <commit-queue@webkit.org>
2011
2012         Unreviewed, rolling out r209672.
2013         https://bugs.webkit.org/show_bug.cgi?id=165766
2014
2015         IndexedDB/objectstore-cursor.html perf test always times out
2016         (Requested by ap on #webkit).
2017
2018         Reverted changeset:
2019
2020         "More IndexedDB perf tests."
2021         https://bugs.webkit.org/show_bug.cgi?id=165634
2022         http://trac.webkit.org/changeset/209672
2023
2024 2016-12-10  Brady Eidson  <beidson@apple.com>
2025
2026         More IndexedDB perf tests.
2027         https://bugs.webkit.org/show_bug.cgi?id=165634
2028
2029         Reviewed by Sam Weinig.
2030
2031         * IndexedDB/index-multientry.html:
2032         * IndexedDB/large-number-of-inserts-responsiveness.html: Added.
2033         * IndexedDB/large-number-of-inserts.html: Added.
2034         * IndexedDB/objectstore-cursor.html: Added.
2035         
2036         * resources/runner.js: Add "track responsiveness" functionality to PerfTestRunner.
2037
2038 2016-12-06  Filip Pizlo  <fpizlo@apple.com>
2039
2040         Concurrent GC should be stable enough to land enabled
2041         https://bugs.webkit.org/show_bug.cgi?id=164990
2042
2043         Reviewed by Geoffrey Garen.
2044         
2045         Made CDjs more configurable and refined the "large.js" configuration. I was using that one and
2046         the new "long.js" configuration to tune concurrent eden GCs.
2047         
2048         Added a new way of running Splay in browser, which using chartjs to plot the execution times of
2049         2000 iterations. This includes the minified chartjs.
2050
2051         * JetStream/Octane2/splay-detail.html: Added.
2052         * JetStream/cdjs/benchmark.js:
2053         (benchmarkImpl):
2054         (benchmark):
2055         * JetStream/cdjs/long.js: Added.
2056
2057 2016-12-07  Brady Eidson  <beidson@apple.com>
2058
2059         Add IDB perf tests stressing key size.
2060         https://bugs.webkit.org/show_bug.cgi?id=165567
2061
2062         Reviewed by Alex Christensen.
2063
2064         * IndexedDB/large-array-keys.html: Added.
2065         * IndexedDB/large-binary-keys.html: Added.
2066         * IndexedDB/large-string-keys.html: Added.
2067
2068 2016-12-05  Brady Eidson  <beidson@apple.com>
2069
2070         Add an IndexedDB perf test to PerformanceTests.
2071         https://bugs.webkit.org/show_bug.cgi?id=165430
2072
2073         Reviewed by Alex Christensen.
2074
2075         * IndexedDB/index-multientry.html: Added.
2076
2077 2016-12-02  Filip Pizlo  <fpizlo@apple.com>
2078
2079         ES6SampleBench should report an average for Steady State so that all of the numbers are comparable
2080         https://bugs.webkit.org/show_bug.cgi?id=165325
2081
2082         Reviewed by Saam Barati.
2083
2084         This makes all of the numbers that ES6SampleBench reports comparable to each other: they all speak of the time
2085         it took to run an iteration of something.
2086
2087         * ES6SampleBench/results.js:
2088         (Results.prototype.reportResult):
2089
2090 2016-11-18  Jer Noble  <jer.noble@apple.com>
2091
2092         Add some performance tests for various aspects of media loading and playback.
2093         https://bugs.webkit.org/show_bug.cgi?id=164977
2094
2095         Reviewed by Darin Adler.
2096
2097         Add new tests for a few aspects of media playback; namely: how quickly  media elements fire
2098         the "canplaythrough" event when all data is immediately available, how quickly HLS playback
2099         switches resolutions, and at what playback rate MSE-backed video can play without dropping
2100         frames. Skip these tests by default, as they're not runnable on all ports, and they require
2101         a webserver (run-webkit-httpd) to complete on macOS.
2102
2103         * Media/HLSCanPlayThrough.html: Added.
2104         * Media/HLSGearChange.html: Added.
2105         * Media/MSECanPlayThrough.html: Added.
2106         * Media/MSEPlaybackRate.html: Added.
2107         * Media/StandardCanPlayThrough.html: Added.
2108         * Media/hls/1080p/iframe_index.m3u8: Added.
2109         * Media/hls/1080p/prog_index.m3u8: Added.
2110         * Media/hls/1080p/test.ts: Added.
2111         * Media/hls/480p/iframe_index.m3u8: Added.
2112         * Media/hls/480p/prog_index.m3u8: Added.
2113         * Media/hls/480p/test.ts: Added.
2114         * Media/hls/720p/iframe_index.m3u8: Added.
2115         * Media/hls/720p/prog_index.m3u8: Added.
2116         * Media/hls/720p/test.ts: Added.
2117         * Media/hls/720p/test.ts.back: Added.
2118         * Media/hls/index.m3u8: Added.
2119         * Media/media-source-loader.js: Added.
2120         (MediaSourceLoader):
2121         (MediaSourceLoader.prototype.loadManifest):
2122         (MediaSourceLoader.prototype.loadManifestSucceeded):
2123         (MediaSourceLoader.prototype.loadManifestFailed):
2124         (MediaSourceLoader.prototype.loadMediaData):
2125         (MediaSourceLoader.prototype.loadMediaDataSucceeded):
2126         (MediaSourceLoader.prototype.loadMediaDataFailed):
2127         (MediaSourceLoader.prototype.get type):
2128         (MediaSourceLoader.prototype.get duration):
2129         (MediaSourceLoader.prototype.get initSegment):
2130         (MediaSourceLoader.prototype.get mediaSegmentsLength):
2131         (MediaSourceLoader.prototype.mediaSegments):
2132         (MediaSourceLoader.prototype.get everyMediaSegment):
2133         * Media/test-fragmented-video.json: Added.
2134         * Media/test-fragmented-video.mp4: Added.
2135         * Media/test.mp4: Added.
2136         * Skipped:
2137
2138 2016-11-18  Filip Pizlo  <fpizlo@apple.com>
2139
2140         Concurrent GC should be able to run splay in debug mode and earley/raytrace in release mode with no perf regression
2141         https://bugs.webkit.org/show_bug.cgi?id=164282
2142
2143         Reviewed by Geoffrey Garen and Oliver Hunt.
2144         
2145         CDjs is a fun benchmark for stressing concurrent GCs, but to really give the GC a good
2146         workout you need to increase the amount of work that the test does. This adds a second
2147         configuration of the benchmark that has more aircraft. It uses much more memory and causes us
2148         to do more GCs and those GCs take longer.
2149
2150         * JetStream/cdjs/benchmark.js:
2151         (benchmarkImpl):
2152         (benchmark):
2153         * JetStream/cdjs/large.js: Added.
2154
2155 2016-11-14  Filip Pizlo  <fpizlo@apple.com>
2156
2157         Unreviewed, revert unintended change.
2158
2159         * ES6SampleBench/Air/benchmark.js:
2160
2161 2016-10-03  Saam Barati  <sbarati@apple.com>
2162
2163         MapHash should speculate on the type of its child node
2164         https://bugs.webkit.org/show_bug.cgi?id=161922
2165
2166         Reviewed by Filip Pizlo.
2167
2168         I gave the main generator a name so it's easier to see what
2169         it is when using the sampling profiler.
2170
2171         * ES6SampleBench/Basic/ast.js:
2172         (Basic.Program):
2173
2174 2016-09-19  Sergio Villar Senin  <svillar@igalia.com>
2175
2176         [css-grid] Remove the x2 computation of row sizes with indefinite heights
2177         https://bugs.webkit.org/show_bug.cgi?id=162150
2178
2179         Reviewed by Darin Adler.
2180
2181         Added a new test case which checks the layout performance of grids inside other grids, i.e,
2182         grids acting both as grid container and grid item.
2183
2184         * Layout/nested-grid.html: Added.
2185
2186 2016-09-09  Simon Fraser  <simon.fraser@apple.com>
2187
2188         Perf test Animation/css-accelerated-animation.html failing
2189         https://bugs.webkit.org/show_bug.cgi?id=161795
2190
2191         Skip Animation/css-accelerated-animation.html since this only works as a MobileSafari
2192         perf test.
2193
2194         * Skipped:
2195
2196 2016-09-08  Simon Fraser  <simon.fraser@apple.com>
2197
2198         Add a content-animation test with accelerated CSS animations
2199         https://bugs.webkit.org/show_bug.cgi?id=161776
2200
2201         Reviewed by Dean Jackson.
2202
2203         Add a test that measures the frame rate of accelerated CSS animations.
2204
2205         This is like css-animation.html (which animates 'left' and 'top') but animates
2206         transforms instead. In order to get animation in X and Y we make two nested elements
2207         and set transformX() on one, and transformY() on the other.
2208
2209         * Animation/css-accelerated-animation.html: Added.
2210
2211 2016-08-23  Saam Barati  <sbarati@apple.com>
2212
2213         It should be easy to run ES6SampleBench from the jsc shell
2214         https://bugs.webkit.org/show_bug.cgi?id=161085
2215
2216         Reviewed by Yusuke Suzuki.
2217
2218         This patch makes ES6 sample bench runnable through the `jsc` shell.
2219         To do that, you need to be in the PerformanceTests/ES6SampleBench
2220         directory and run `jsc cli.js`. To make this work, the benchmark
2221         is now aware of being run in two modes: via the browser, and via
2222         the shell. Each entry point will set a variable `isInBrowser`,
2223         and the benchmark will do different things based on if that
2224         variable is true or false.
2225
2226         * ES6SampleBench/Air/benchmark.js:
2227         * ES6SampleBench/Air/stress-test.js:
2228         * ES6SampleBench/Basic/benchmark.js:
2229         (runBenchmark):
2230         * ES6SampleBench/Basic/stress-test.js:
2231         * ES6SampleBench/air_benchmark.js:
2232         * ES6SampleBench/basic_benchmark.js:
2233         * ES6SampleBench/cli.js: Added.
2234         (return.doRun):
2235         (makeBenchmarkRunner):
2236         * ES6SampleBench/driver.js:
2237         (Driver):
2238         (Driver.prototype._recomputeSummary):
2239         (Driver.prototype._iterate.window.setTimeout):
2240         (Driver.prototype._iterate):
2241         (Driver.prototype._updateIterations):
2242         * ES6SampleBench/glue.js:
2243         (reportResult):
2244         * ES6SampleBench/index.html:
2245         * ES6SampleBench/results.js:
2246         (Results):
2247         (Results.prototype.reportRunning):
2248         (Results.prototype.reportDone):
2249         (Results.prototype.reportError):
2250         * ES6SampleBench/stats.js:
2251         (Stats):
2252         (Stats.prototype.toString):
2253         (Stats.prototype._update):
2254
2255 2016-08-01  Said Abou-Hallawa  <sabouhallawa@apple.com>
2256
2257         Add an option to run the MotionMark tests with classic tile size (512x512)
2258         https://bugs.webkit.org/show_bug.cgi?id=160371
2259
2260         Reviewed by Darin Adler.
2261
2262         Setting the body to large size (3000x3000) and overflow to scroll forces
2263         the classic tile size (512x512). This option does not affect the canvas
2264         tests because the canvas is displayed on one tile regardless of its size.
2265
2266         * Animometer/developer.html:
2267         * Animometer/resources/debug-runner/animometer.css:
2268         (body.showing-test-container.tiles-big):
2269         (body.showing-test-container.tiles-classic):
2270         * Animometer/resources/debug-runner/animometer.js:
2271         * Animometer/resources/runner/animometer.js:
2272         (window.benchmarkController.startBenchmark):
2273
2274 2016-06-29  Filip Pizlo  <fpizlo@apple.com>
2275
2276         Generators violate bytecode liveness validation
2277         https://bugs.webkit.org/show_bug.cgi?id=159279
2278
2279         Reviewed by Yusuke Suzuki.
2280
2281         Add Basic to our test harness.
2282
2283         Also made some cosmetic changes to the benchmark harness.
2284
2285         * ES6SampleBench/Basic/basic-tests.yaml: Added.
2286         * ES6SampleBench/Basic/stress-test.js: Added.
2287         (preciseTime):
2288         * ES6SampleBench/driver.js:
2289         (Driver):
2290         (Driver.prototype.start):
2291         (Driver.prototype.reportError):
2292         * ES6SampleBench/glue.js:
2293         * ES6SampleBench/index.html:
2294
2295 2016-06-28  Filip Pizlo  <fpizlo@apple.com>
2296
2297         ES6SampleBench should have a harness
2298         https://bugs.webkit.org/show_bug.cgi?id=159246
2299
2300         Reviewed by Saam Barati.
2301         
2302         This adds a simple web harness for ES6SampleBench. It runs Air and Basic 10 times for 200
2303         iterations each and reports three metrics:
2304         
2305         First iteration: the time it takes for the first iteration to run. This is the first
2306         iteration after the benchmark is loaded into the iframe, so it's representative of what
2307         would happen if one of these workloads only ran for a short time.
2308         
2309         Worst 2%: of the last 199 iterations, the average of the worst 2% iterations. If code like
2310         any of these workloads was used in an important event handler, you'd want that code to run
2311         well in the worst case in addition to having great throughput.
2312         
2313         Steady state: the total of the last 199 iterations. This is representative of what would
2314         happen if you ran code like this for a long time.
2315         
2316         The total score is the geomean of the firstIteration/worstCase/steadyState numbers of the
2317         two benchmarks.
2318         
2319         The harness does statistics using Student's T-distribution confidence intervals.
2320
2321         * ES6SampleBench/Basic/benchmark.js:
2322         (Benchmark):
2323         * ES6SampleBench/air_benchmark.js: Added.
2324         * ES6SampleBench/basic_benchmark.js: Added.
2325         * ES6SampleBench/driver.js: Added.
2326         (Driver):
2327         (Driver.prototype.addBenchmark):
2328         (Driver.prototype.start):
2329         (Driver.prototype.reportResult):
2330         (Driver.prototype.reportError):
2331         (Driver.prototype._recomputeSummary.Geomean):
2332         (Driver.prototype._recomputeSummary.Geomean.prototype.add):
2333         (Driver.prototype._recomputeSummary.Geomean.prototype.get result):
2334         (Driver.prototype._recomputeSummary):
2335         (Driver.prototype._iterate):
2336         (Driver.prototype._updateIterations):
2337         * ES6SampleBench/glue.js: Added.
2338         * ES6SampleBench/index.html: Added.
2339         * ES6SampleBench/results.js: Added.
2340         (Results):
2341         (Results.prototype.get benchmark):
2342         (Results.prototype.reset):
2343         (Results.prototype.reportRunning):
2344         (Results.prototype.reportDone):
2345         (Results.prototype.reportResult.averageAbovePercentile):
2346         (Results.prototype.reportResult):
2347         (Results.prototype.reportError):
2348         * ES6SampleBench/stats.js: Added.
2349         (Stats):
2350         (Stats.prototype.reset):
2351         (Stats.prototype.add):
2352         (Stats.prototype.get numIterations):
2353         (Stats.prototype.valueForIteration):
2354         (Stats.get result.tDist):
2355         (Stats.prototype.get result):
2356         (Stats.prototype.toString):
2357         (Stats.prototype._update):
2358         * ES6SampleBench/style.css: Added.
2359         (body):
2360         (body, th, tr):
2361         (h1, h2, h3, h4):
2362         (h1):
2363         (h2):
2364         (h3):
2365         (hr):
2366         (address):
2367         (img):
2368         (.underline):
2369         (ol.loweralpha):
2370         (ol.upperalpha):
2371         (ol.lowerroman):
2372         (ol.upperroman):
2373         (ol.arabic):
2374         (.banner-link:link, .banner-link:visited):
2375         (:link, :visited):
2376         (h4 :link, h4 :visited, h5 :link, h5 :visited, h6 :link, h6 :visited):
2377         (.anchor:link, .anchor:visited):
2378         (* > .anchor:link, * > .anchor:visited):
2379         (span:hover .anchor):
2380         (a.forbidden, span.forbidden):
2381         (a.missing:hover):
2382         (a.closed:link, a.closed:visited, span.closed):
2383         (pre):
2384         (div.code):
2385         (div.code pre):
2386         (dt):
2387         (dd):
2388         (dd:last-child):
2389         (.site-logo):
2390         (.site-logo .tagline):
2391         (table):
2392         (#contents):
2393         (p):
2394         (p:last-child):
2395         (th):
2396         (td):
2397
2398 2016-06-28  Jon Lee  <jonlee@apple.com>
2399
2400         Update focus test
2401         https://bugs.webkit.org/show_bug.cgi?id=159242
2402         rdar://problem/27070007
2403
2404         Reviewed by Dean Jackson.
2405         Provisionally reviewed by Said Abou-Hallawa.
2406
2407         Move previous test to dom suite, and update the test for better reporting of frame rate, although
2408         it uses a different rendering path.
2409
2410         * Animometer/resources/debug-runner/tests.js: Add to dom suite.
2411         * Animometer/tests/dom/focus.html: Copied from PerformanceTests/Animometer/tests/master/focus.html.
2412         * Animometer/tests/dom/resources/focus.js: Copied from PerformanceTests/Animometer/tests/master/resources/focus.js.
2413         * Animometer/tests/master/focus.html: Remove center element.
2414         * Animometer/tests/master/resources/focus.js: Use narrower size range with smaller particles. Remove the
2415         container elements. Inline getBlurValue and getOpacityValue since they are only called once.
2416
2417 2016-06-28  Filip Pizlo  <fpizlo@apple.com>
2418
2419         Move Air.js and Basic into ES6SampleBench
2420
2421         Rubber stamped by Geoffrey Garen.
2422         
2423         We want to group our ES6 benchmarks together, and eventually, we want to give them a
2424         common harness.
2425
2426         * Air.js: Removed.
2427         * Air.js/README.md: Removed.
2428         * Air.js/airjs-tests.yaml: Removed.
2429         * Air.js/all.js: Removed.
2430         * Air.js/allocate_stack.js: Removed.
2431         * Air.js/arg.js: Removed.
2432         * Air.js/basic_block.js: Removed.
2433         * Air.js/benchmark.js: Removed.
2434         * Air.js/code.js: Removed.
2435         * Air.js/custom.js: Removed.
2436         * Air.js/frequented_block.js: Removed.
2437         * Air.js/insertion_set.js: Removed.
2438         * Air.js/inst.js: Removed.
2439         * Air.js/liveness.js: Removed.
2440         * Air.js/make_dist.sh: Removed.
2441         * Air.js/opcode.js: Removed.
2442         * Air.js/payload-airjs-ACLj8C.js: Removed.
2443         * Air.js/payload-gbemu-executeIteration.js: Removed.
2444         * Air.js/payload-imaging-gaussian-blur-gaussianBlur.js: Removed.
2445         * Air.js/payload-typescript-scanIdentifier.js: Removed.
2446         * Air.js/reg.js: Removed.
2447         * Air.js/stack_slot.js: Removed.
2448         * Air.js/stress-test.js: Removed.
2449         * Air.js/strip-hash.rb: Removed.
2450         * Air.js/symbols.js: Removed.
2451         * Air.js/test.html: Removed.
2452         * Air.js/test.js: Removed.
2453         * Air.js/tmp.js: Removed.
2454         * Air.js/tmp_base.js: Removed.
2455         * Air.js/util.js: Removed.
2456         * Basic: Removed.
2457         * Basic/ast.js: Removed.
2458         * Basic/basic.js: Removed.
2459         * Basic/benchmark.js: Removed.
2460         * Basic/caseless_map.js: Removed.
2461         * Basic/lexer.js: Removed.
2462         * Basic/number.js: Removed.
2463         * Basic/parser.js: Removed.
2464         * Basic/random.js: Removed.
2465         * Basic/state.js: Removed.
2466         * Basic/test.html: Removed.
2467         * Basic/test.js: Removed.
2468         * Basic/util.js: Removed.
2469         * ES6SampleBench: Added.
2470         * ES6SampleBench/Air: Copied from PerformanceTests/Air.js.
2471         * ES6SampleBench/Basic: Copied from PerformanceTests/Basic.
2472         * Skipped:
2473
2474 2016-06-24  Filip Pizlo  <fpizlo@apple.com>
2475
2476         Add a ES6 generator benchmark
2477         https://bugs.webkit.org/show_bug.cgi?id=159101
2478
2479         Rubber stamped by Keith Miller.
2480         
2481         This adds a Basic interpreter loosely based on ECMA-55:
2482         
2483         http://www.ecma-international.org/publications/files/ECMA-ST-WITHDRAWN/ECMA-55,%201st%20Edition,%20January%201978.pdf
2484         
2485         It includes a lexer that is a generator, a parser that uses regular expressions, and an AST
2486         walk interpreter where the walking functions for statements are generators that call each
2487         other with yield*. This enables the interpreter to look like an AST walk even though it can
2488         yield at INPUT and PRINT statements.
2489         
2490         This also uses for-of, classes, Map, and WeakMap. It also uses deprecated-but-awesome RegExp
2491         features like RegExp.lastMatch and RegExp.rightContext. I did it that way because this is
2492         how I've always written lexers in dynamic languages; see offlineasm's lex() method in
2493         parser.rb for example.
2494         
2495         The benchmark runs a handful of simple Basic programs. The longest-running one computes
2496         prime numbers.
2497         
2498         Includes a command-line and web harness. On my machine it runs in 2-3 seconds.
2499
2500         * Basic: Added.
2501         * Basic/ast.js: Added.
2502         (Basic.NumberApply):
2503         (Basic.Variable):
2504         (Basic.Const):
2505         (Basic.NumberPow):
2506         (Basic.NumberMul):
2507         (Basic.NumberDiv):
2508         (Basic.NumberNeg):
2509         (Basic.NumberAdd):
2510         (Basic.NumberSub):
2511         (Basic.StringVar):
2512         (Basic.Equals):
2513         (Basic.NotEquals):
2514         (Basic.LessThan):
2515         (Basic.GreaterThan):
2516         (Basic.LessEqual):
2517         (Basic.GreaterEqual):
2518         (Basic.GoTo):
2519         (Basic.GoSub):
2520         (Basic.Def):
2521         (Basic.Let):
2522         (Basic.If):
2523         (Basic.Return):
2524         (Basic.Stop):
2525         (Basic.On):
2526         (sideState.shouldStop):
2527         (Basic.For):
2528         (Basic.Next):
2529         (Basic.Print):
2530         (Basic.Input):
2531         (Basic.Read):
2532         (Basic.Restore):
2533         (Basic.Dim):
2534         (Basic.Randomize):
2535         (Basic.End):
2536         (Basic.Program):
2537         * Basic/basic.js: Added.
2538         (prepare):
2539         (simulate):
2540         * Basic/benchmark.js: Added.
2541         (Benchmark):
2542         (Benchmark.prototype.runIteration.expect):
2543         (Benchmark.prototype.runIteration):
2544         (runBenchmark):
2545         * Basic/caseless_map.js: Added.
2546         (CaselessMap):
2547         * Basic/lexer.js: Added.
2548         (lex.consumeWhitespace):
2549         (lex.consume):
2550         (lex):
2551         * Basic/lexer_test.js: Added.
2552         * Basic/number.js: Added.
2553         (NumberValue):
2554         (NumberValue.prototype.get value):
2555         (NumberValue.prototype.apply):
2556         (NumberValue.prototype.leftApply):
2557         (NumberValue.prototype.assign):
2558         (NumberArray.):
2559         (NumberArray):
2560         (NumberArray.prototype.apply):
2561         (NumberArray.prototype.leftApply):
2562         (NumberFunction):
2563         (NumberFunction.prototype.apply):
2564         (NumberFunction.prototype.leftApply):
2565         (NativeFunction):
2566         (NativeFunction.prototype.apply):
2567         (NativeFunction.prototype.leftApply):
2568         * Basic/parser.js: Added.
2569         (parse):
2570         (parse.pushToken):
2571         (parse.peekToken):
2572         (parse.consumeKind):
2573         (parse.consumeToken):
2574         (parse.parseVariable):
2575         (parse.parseNumericExpression.parsePrimary):
2576         (parse.parseNumericExpression.parseFactor):
2577         (parse.parseNumericExpression.parseTerm):
2578         (parse.parseNumericExpression):
2579         (parse.parseConstant):
2580         (parse.parseStringExpression):
2581         (parse.isStringExpression):
2582         (parse.parseRelationalExpression):
2583         (parse.parseNonNegativeInteger):
2584         (parse.parseGoToStatement):
2585         (parse.parseGoSubStatement):
2586         (parse.parseStatement):
2587         (parse.parseStatements):
2588         * Basic/random.js: Added.
2589         (createRNG):
2590         (createRNGWithFixedSeed):
2591         (createRNGWithRandomSeed):
2592         * Basic/state.js: Added.
2593         (State):
2594         (State.prototype.getValue):
2595         (State.prototype.getSideState):
2596         (State.prototype.abort):
2597         (State.prototype.validate):
2598         * Basic/test.html: Added.
2599         * Basic/test.js: Added.
2600         * Basic/util.js: Added.
2601         (this.performance.performance.now.currentTime):
2602         (else.this.preciseTime.currentTime):
2603         (else.currentTime):
2604         * Skipped: Make sure that we don't run Basic yet.
2605
2606 2016-06-21  Jon Lee  <jonlee@apple.com>
2607
2608         Update canvas size when benchmark begins
2609         https://bugs.webkit.org/show_bug.cgi?id=159010
2610
2611         Reviewed by Dean Jackson.
2612
2613         Previously we would evaluate the media queries and assign the canvas size to the test
2614         on body.onload. Instead, do it once the user starts the benchmark.
2615
2616         * Animometer/resources/debug-runner/animometer.js: Move benchmarkController.determineCanvasSize()
2617         to benchmarkController._startBenchmark.
2618         * Animometer/resources/runner/animometer.js: Ditto.
2619
2620 2016-06-21  Jon Lee  <jonlee@apple.com>
2621
2622         Add new timestamp option
2623         https://bugs.webkit.org/show_bug.cgi?id=159006
2624
2625         Reviewed by Dean Jackson.
2626
2627         Add a new option to take timestamps from the rAF callback.
2628
2629         * Animometer/developer.html: Added option.
2630         * Animometer/tests/resources/main.js:
2631         (Benchmark): Fall back to using the rAF timestamp if performance.now()
2632         is not available.
2633         (Benchmark._animateLoop): Update how timestamp is set. Prefer to use
2634         local var instead of accessing private var.
2635
2636 2016-06-21  Jon Lee  <jonlee@apple.com>
2637
2638         Improvements to Animometer benchmark
2639         https://bugs.webkit.org/show_bug.cgi?id=157738
2640
2641         Reviewed by Dean Jackson.
2642         Provisionally reviewed by Said Abou-Hallawa.
2643
2644         Update tests.
2645
2646         * Animometer/tests/master/text.html: Ensure only three text sizes for
2647         the three canvases.
2648         * Animometer/tests/master/focus.html: Reduce the text size to fit with smaller
2649         particle sizes.
2650         * Animometer/tests/master/resources/focus.js: Remove the quadratic distribution for
2651         particle sizes, and make it linear. Reduce the size variance. Shuffle the math to
2652         reduce some calculations per frame. Fix the placement of the particles which might
2653         otherwise be culled.
2654         * Animometer/tests/master/resources/image-data.js: Reduce the particle size
2655         to encourage larger scores.
2656
2657 2016-06-21  Jon Lee  <jonlee@apple.com>
2658
2659         Improvements to Animometer benchmark
2660         https://bugs.webkit.org/show_bug.cgi?id=157738
2661
2662         Reviewed by Dean Jackson.
2663         Provisionally reviewed by Said Abou-Hallawa.
2664
2665         Include confidence interval for the final score, and store the canvas
2666         size in the serialization so that it is accurately shown in results.
2667
2668         * Animometer/developer.html: Add a "confidence" div.
2669         * Animometer/index.html: Ditto. Convert "mean" to "confidence".
2670         * Animometer/resources/debug-runner/animometer.js: Look at options, and
2671         if the configuration is included, update the body class based on it
2672         (similar to what we do when we first load the page). That way, if you
2673         drag-and-drop previous results in, that configuration is reflected in
2674         the dashboard. Show the full confidence interval.
2675
2676         * Animometer/resources/debug-runner/animometer.css:
2677         * Animometer/resources/debug-runner/animometer.js: Style update.
2678         * Animometer/resources/runner/animometer.css:
2679
2680         * Animometer/resources/runner/animometer.js:
2681         (_processData): Propagate the confidence interval values out and calculate
2682         the lower and upper bounds. For now, shortcut the aggregate calculation,
2683         since we only go through one iteration.
2684         (this._processData.calculateScore): Propagate the confidence interval out
2685         to be next to the score. Depending on the controller these values are
2686         calculated differently.
2687         (this._processData._getResultsProperty): Convenience function.
2688         (this._processData.get score): Refactor.
2689         (this._processData.get scoreLowerBound): Get the aggregate lower bound.
2690         (this._processData.get scoreUpperBound): Get the aggregate upper bound.
2691         (window.sectionsManager.setSectionScore):
2692         (window.benchmarkController._startBenchmark): When the benchmark starts, note
2693         the canvas size and add it to options. That way it will be automatically be
2694         serialized.
2695         (window.benchmarkController.showResults): Include the maximum deviation
2696         percentage.
2697         * Animometer/resources/runner/lines.svg: Make the background line up with the
2698         skew.
2699         * Animometer/resources/runner/tests.js:
2700         (Headers.details.text): Refactor.
2701         * Animometer/resources/statistics.js:
2702         (Statistics.largestDeviationPercentage): Convenience function to calculate
2703         the deviation percentage on either end and return the largest deviation.
2704         * Animometer/resources/strings.js:
2705
2706         Allow specifying a regression profile to use instead of taking the one
2707         with the lowest error.
2708
2709         Address an issue in the focus test when the regression calculated ends
2710         up overestimating the change point, causing a cascade of tougher
2711         ramps. The reason behind this is that at max complexity of an initial
2712         ramp, the frame length is very high, and it influences the second
2713         segment of the piecewise regression strongly, causing it to be very
2714         steep. As a result, the first segment, expected to be flat, ends up
2715         covering a higher range of complexity. That makes the change point
2716         much higher than it should be. To avoid this, we will add a sanity
2717         check on the maximum value of the ramp. If the regression's projected
2718         value at the maximum complexity of the current ramp is very slow (less
2719         than 20 fps), 1) reduce the maximum complexity by 20%, and 2) do not
2720         include the regression's change point in the change point estimator.
2721         That estimator is used as the midpoint of the next ramp, and including
2722         the change point from a poor regression can bake in the error. The
2723         controller already knows how to adjust for ramps that are too easy for
2724         the system.
2725
2726         * Animometer/resources/runner/animometer.js:
2727         (this._processData.findRegression): Takes a preferred profile and gives that to
2728         Regression.
2729         (this._processData.calculateScore): With the ramp controller, take the profile
2730         of the ramp that was used the most when calculating the ramp's regression. That
2731         profile is what is used for the test's score.
2732         * Animometer/resources/statistics.js:
2733         (Regression.Utilities.createClass): Update to take an options object which can
2734         specify a profile to calculate with. Otherwise it will continue to use both and
2735         select the one with the lower error.
2736         (_calculateRegression): Fix an issue where we claim 0 error if the regression
2737         calculation fails due to divide-by-zero. Instead reject that regression calculation
2738         by giving it Number.MAX_VALUE.
2739         * Animometer/resources/strings.js: New strings for marking a regression as flat
2740         or slope.
2741         * Animometer/tests/resources/main.js:
2742         (RampController): Rename the thresholds for clarity. Add a threshold that, if
2743         exceeded, will lower the maximum complexity of the next ramp.
2744         (tune): Relax the cdf check to consider whether the interval definitely falls in
2745         the desired frame length threshold.
2746         (processSamples): Include the profile in the ramp.
2747
2748         Update ramp controller test. Increase the length of the test to 30 seconds, and extend
2749         the interval to 120 ms during sampling. Improve the estimation of the ramp parameters.
2750
2751         * Animometer/developer.html: Change default to 30 seconds, and don't show the progress bar
2752         by default.
2753         * Animometer/resources/runner/animometer.js: Change default to 30 seconds.
2754         * Animometer/tests/resources/main.js: A number of improvements to the ramp controller, in
2755         the order in which they appear in the patch:
2756
2757         - With a longer test length use longer ramps with longer intervals to get more data at each
2758         complexity. Keep the 100 ms interval length during the ramp up phase since we don't need to
2759         spend more time there to find the right order of magnitude, but increase it during the
2760         ramps to 120 ms.
2761         - The ramp linearly interpolates the complexity to render based on its timestamp, but it would
2762         never sample the minimum complexity. Instead of lerping max to min complexity from time
2763         0 to t where t is the ramp length, instead lerp from 0 to (t - intervalSampleLength) so that
2764         we can have at least one interval sample at the min complexity for that ramp.
2765         - Some regression calculations only come out with one line segment rather than the two
2766         we expect. This could be due to a noisy ramp or the ramp's range is too narrow. If that's the
2767         case, influence the minimum complexity of the next ramp towards the lowest bound of 1, so that
2768         we ensure that at least part of the ramp is covering a complexity range that the system can
2769         handle at full 60.
2770         - Remove an assignment to interpolatedFrameLength since that is never subsequently used.
2771
2772         Update the format used to serialize the results for analysis.
2773
2774         Each data point used to have named properties for fields like complexity and frame rate.
2775         In addition the serialized numbers had rounding errors that took up many characters.
2776         Update the format by introducing a new data container called SampleData, which contains a
2777         field map. The map maps a string to an array index. Each data point is an array, so, to
2778         get a stat, use the field map to get the array index into the data point. This allows future
2779         versions to track other data, and reduces the size of the output string by two-thirds.
2780
2781         * Animometer/resources/extensions.js:
2782         (Utilities.toFixedNumber): Add convenience function that truncates the number to a fixed
2783         precision, and converts it back to a number.
2784         (SampleData): New class that contains sample data and a field map that maps properties to
2785         an array index.
2786         (get length): Number of data points.
2787         (addField): Add a field to the field map.
2788         (push): Add a data point.
2789         (sort): Sort the data.
2790         (slice): Return new SampleData object with sliced data.
2791         (forEach): Iterate over the data with provided function.
2792         (createDatum):
2793         (getFieldInDatum): Returns the data point associated with the field name by looking it up
2794         in the field map in the datum provided, which can be the datum object itself (an array) or
2795         an index into the data member variable.
2796         (setFieldInDatum): Sets the data point associated with the field name.
2797         (at): Returns the data point at the provided index.
2798         (toArray): Serializes the data where the field map serves as property names for each point.
2799
2800         * Animometer/resources/debug-runner/graph.js:
2801         (updateGraphData): Remove unused _testData. Convert the data to the old array format for the
2802         graph to use, since the old format was much easier to work with when displaying the graphs.
2803         (onGraphTypeChanged): For some controllers, no alternative score or mean is provided.
2804         * Animometer/resources/runner/animometer.css:
2805         * Animometer/resources/runner/animometer.js: Refactor to use SampleData. Update JSON output
2806         to only go to 3 digits of precision for purposes of reducing the data size.
2807         * Animometer/resources/strings.js: Add new strings to put into the field maps.
2808         * Animometer/tests/resources/main.js: Refactor to use SampleData.
2809
2810         * Animometer/developer.html:
2811         * Animometer/index.html: Restructure results table for both pages. Add charset attribute to
2812         tests.js include.
2813         * Animometer/resources/debug-runner/animometer.css: Clear out styles from release runner.
2814         * Animometer/resources/debug-runner/graph.js:
2815         (onGraphTypeChanged): Update score and mean if bootstrap results are available from the
2816         controller, since not all controllers do bootstrapping.
2817         * Animometer/resources/debug-runner/tests.js: Update header text.
2818         * Animometer/resources/runner/animometer.css: Include confidence interval in results.
2819         * Animometer/resources/runner/animometer.js:
2820         (ResultsTable._addHeader): Header contents can be HTML, so use innerHTML instead.
2821         (ResultsTable._addBody): Add tbody element.
2822         (ResultsTable._addTest): Allow a data cell to invoke a JS function to get its contents.
2823         (window.benchmarkController.showResults): Add table that includes tests' confidence intervals.
2824         * Animometer/resources/runner/tests.js:
2825         (Headers.details.text): Add new details table that includes bootstrap confidence interval.
2826         The interval can be asymmetric, but for simplicity, report the maximum deviation percentage
2827         on either side of the bootstrap median.
2828         * Animometer/resources/statistics.js:
2829         (bootstrap): Include the confidence percentage in the return object.
2830
2831         Report canvas size in results.
2832
2833         * Animometer/developer.html: Add markup to indicate whether a small, medium, or large
2834         canvas was used.
2835         * Animometer/index.html: Ditto.
2836         * Animometer/resources/debug-runner/animometer.js: Call determineCanvasSize().
2837         * Animometer/resources/runner/animometer.css: Update styles to set the canvas based on the
2838         body class size.
2839         * Animometer/resources/runner/animometer.js:
2840         (window.benchmarkController.initialize): Update styles to set the canvas based on the
2841         body class size.
2842         (window.benchmarkController.determineCanvasSize): Run various media queries and set the body
2843         class based on the size of the device.
2844
2845         * Animometer/developer.html: Refactor to include the main CSS file, and redo
2846         the layout so that it doesn't rely on flexbox.
2847         * Animometer/resources/debug-runner/animometer.css:
2848         * Animometer/resources/debug-runner/animometer.js:
2849         (updateDisplay): Since various parts of the script alter the body class, we can't
2850         replace the className directly. Instead, remove all display-based values and then add
2851         the one that was selected.
2852         * Animometer/resources/debug-runner/graph.js:
2853         (updateGraphData): To set the size of the graph, use window.innerHeight.
2854         * Animometer/resources/runner/animometer.js:
2855         (window.sectionsManager.showSection): Since various parts of the script alter the body
2856         class, we can't replace the className directly. Remove all of the section classes
2857         individually and then add the one desired.
2858         * Animometer/tests/resources/stage.css: Remove -apple-system as a font to use in the
2859         stage.
2860
2861 2016-06-12  Filip Pizlo  <fpizlo@apple.com>
2862
2863         Fix round-down goof in Air.js's ShuffleCustom.forEachArg
2864         https://bugs.webkit.org/show_bug.cgi?id=158674
2865
2866         Reviewed by Michael Saboff.
2867         
2868         x / 3 * 3 is not how you round down to multiples of 3 in JavaScript. You need to do
2869         Math.floor(x / 3) * 3 instead.
2870         
2871         This is a benign change, because having extra arguments to a Shuffle is not something we
2872         actually take advantage of yet. But I think it's best to match the original C++ code's
2873         intent.
2874
2875         * Air.js/custom.js:
2876         (const.ShuffleCustom.forEachArg):
2877
2878 2016-06-11  Filip Pizlo  <fpizlo@apple.com>
2879
2880         Unreviewed, skip Air.js. It got unskipped when I renamed it from JSAir.
2881
2882         * Skipped:
2883
2884 2016-06-10  Filip Pizlo  <fpizlo@apple.com>
2885
2886         Make it easy to package Air.js
2887         https://bugs.webkit.org/show_bug.cgi?id=158652
2888
2889         Reviewed by Benjamin Poulain.
2890         
2891         If you want to give Air.js to someone, you can now do:
2892         
2893         cd PerformanceTests/Air.js
2894         ./make_dist.sh
2895         
2896         This will create Air.js.tar.gz and a directory called Air.js. If you want to send someone
2897         the benchmark, just send either of those things and tell them to look at index.html.
2898         
2899         You may have to edit make_dist.sh for wherever you have Markdown.pl. You can get that from
2900         https://daringfireball.net/projects/markdown/
2901
2902         * Air.js/make_dist.sh: Added.
2903         * Air.js/test.html:
2904
2905 2016-06-10  Filip Pizlo  <fpizlo@apple.com>
2906
2907         Unreviewed, make the link to test.html into an actual link.
2908
2909         * Air.js/README.md:
2910
2911 2016-06-10  Filip Pizlo  <fpizlo@apple.com>
2912
2913         Fix some text in Air.js/README.md
2914         https://bugs.webkit.org/show_bug.cgi?id=158650
2915
2916         Reviewed by Benjamin Poulain.
2917         
2918         I read the text again and found bugs:
2919         
2920         - We never actually say how to run the benchmark. This change adds a blurb about how to run
2921           it.
2922
2923         - We both say that allocateStack is responsible for the bulk of the running time and that
2924           we haven't measured where the bulk of the time is spent. This changes the text to say that
2925           it was a goal to make allocateStack be the hottest part of the benchmark, but that we did
2926           not measure this.
2927
2928         * Air.js/README.md:
2929
2930 2016-06-10  Filip Pizlo  <fpizlo@apple.com>
2931
2932         Air.js should have some documentation
2933         https://bugs.webkit.org/show_bug.cgi?id=158648
2934
2935         Reviewed by Keith Miller.
2936         
2937         I want to be able to point people at a document if they want to know more about this
2938         benchmark.
2939
2940         * Air.js/README.md: Added.
2941
2942 2016-06-10  Filip Pizlo  <fpizlo@apple.com>
2943
2944         Rename JSAir to Air.js.
2945
2946         Rubber stamped by Mark Lam.
2947
2948         * Air.js: Copied from PerformanceTests/JSAir.
2949         * Air.js/airjs-tests.yaml: Copied from PerformanceTests/JSAir/jsair-tests.yaml.
2950         * Air.js/benchmark.js: Copied from PerformanceTests/JSAir/benchmark.js.
2951         (Benchmark):
2952         * Air.js/jsair-tests.yaml: Removed.
2953         * Air.js/payload-airjs-ACLj8C.js: Copied from PerformanceTests/JSAir/payload-jsair-ACLj8C.js.
2954         * Air.js/payload-jsair-ACLj8C.js: Removed.
2955         * Air.js/stress-test.js: Copied from PerformanceTests/JSAir/stress-test.js.
2956         * Air.js/test.html: Copied from PerformanceTests/JSAir/test.html.
2957         * Air.js/test.js: Copied from PerformanceTests/JSAir/test.js.
2958         * JSAir: Removed.
2959         * JSAir/all.js: Removed.
2960         * JSAir/allocate_stack.js: Removed.
2961         * JSAir/arg.js: Removed.
2962         * JSAir/basic_block.js: Removed.
2963         * JSAir/benchmark.js: Removed.
2964         * JSAir/code.js: Removed.
2965         * JSAir/custom.js: Removed.
2966         * JSAir/frequented_block.js: Removed.
2967         * JSAir/insertion_set.js: Removed.
2968         * JSAir/inst.js: Removed.
2969         * JSAir/jsair-tests.yaml: Removed.
2970         * JSAir/liveness.js: Removed.
2971         * JSAir/opcode.js: Removed.
2972         * JSAir/payload-gbemu-executeIteration.js: Removed.
2973         * JSAir/payload-imaging-gaussian-blur-gaussianBlur.js: Removed.
2974         * JSAir/payload-jsair-ACLj8C.js: Removed.
2975         * JSAir/payload-typescript-scanIdentifier.js: Removed.
2976         * JSAir/reg.js: Removed.
2977         * JSAir/stack_slot.js: Removed.
2978         * JSAir/stress-test.js: Removed.
2979         * JSAir/strip-hash.rb: Removed.
2980         * JSAir/symbols.js: Removed.
2981         * JSAir/test.html: Removed.
2982         * JSAir/test.js: Removed.
2983         * JSAir/tmp.js: Removed.
2984         * JSAir/tmp_base.js: Removed.
2985         * JSAir/util.js: Removed.
2986
2987 2016-06-10  Filip Pizlo  <fpizlo@apple.com>
2988
2989         JSC Stress Test failing: jsair-tests.yaml/test.js.ftl-eager-no-cjit
2990         https://bugs.webkit.org/show_bug.cgi?id=158571
2991
2992         Reviewed by Keith Miller.
2993         
2994         Introduce a different harness for run-jsc-stress-tests, which runs for a minimum of 10
2995         iterations and then tries to do any number of "bonus" iterations until it's been running for
2996         two seconds. Since this is the sort of test that isn't really meant to stress anything in
2997         particular, I think it's OK if it is time-limited in this way. The worst case is that some
2998         of its failures will be flaky, but I think that they would have been flaky anyway given the
2999         complexity of the test.
3000
3001         * JSAir/benchmark.js:
3002         (Benchmark):
3003         (Benchmark.prototype.runIteration):
3004         (benchmark): Deleted.
3005         * JSAir/jsair-tests.yaml:
3006         * JSAir/stress-test.js: Added.
3007         (preciseTime):
3008         * JSAir/test.html:
3009         * JSAir/test.js:
3010
3011 2016-06-09  Filip Pizlo  <fpizlo@apple.com>
3012
3013         Unreviewed, teach the perf bots not to run JSAir.
3014
3015         * Skipped:
3016
3017 2016-06-08  Filip Pizlo  <fpizlo@apple.com>
3018
3019         Use more ES6 features in JSAir
3020         https://bugs.webkit.org/show_bug.cgi?id=158497
3021
3022         Reviewed by Keith Miller.
3023         
3024         This improves JSAir with the following ES6 features suggested by JoePeck:
3025         
3026         - String interpolation.
3027         - Destructuring inside PatchCustom.
3028         - Default arguments.
3029         
3030         All of these things are on hot paths.
3031         
3032         Note that I didn't use string interpolation everywhere that I could, only in those places
3033         where it made the code more readable. In Ruby, I used the style that if the interpolation
3034         expression has any non-trivial stuff (like a ternary operator, a chain of calls, or embedded
3035         strings) then it's better to use regular strcat. I think that's what I carried over to here.
3036         
3037         Note that the previous change (Add result validation to JSAir) also made the Proxy code not
3038         dead, though it's not necessarily on the hot path. The Proxy isn't called into frequently
3039         but it's used from a function that is otherwise hot, so if calling into the Proxy prevents
3040         that function from being optimized then it will hurt so good.
3041         
3042         I also reenabled tail calls in a few places.
3043         
3044         This change doesn't seem to change the performance of the benchmark for us. That's expected
3045         since these ES6 features are cheap. Note that this claim doesn't include Proxy, which was
3046         added in a separate change and that change did make the benchmark overall more expensive.
3047
3048         * JSAir/allocate_stack.js:
3049         (allocateStack):
3050         * JSAir/arg.js:
3051         (Arg.createBitImm64):
3052         (Arg.createAddr):
3053         (Arg.createStack):
3054         (Arg.logScale):
3055         (Arg.createIndex):
3056         * JSAir/basic_block.js:
3057         (BasicBlock.get headerString):
3058         (BasicBlock.prototype.get if):
3059         (BasicBlock):
3060         * JSAir/benchmark.js:
3061         (benchmark):
3062         * JSAir/code.js:
3063         (Code):
3064         (Code.prototype.addBlock):
3065         (Code.prototype.addStackSlot):
3066         (Code.prototype.newTmp):
3067         (Code.prototype.get size):
3068         (Code.prototype.get blocks):
3069         (Code.prototype.get stackSlots):
3070         (Code.prototype.tmps):
3071         (Code.prototype.get callArgAreaSize):
3072         (Code.prototype.toString):
3073         * JSAir/custom.js:
3074         (const.PatchCustom.forEachArg):
3075         * JSAir/inst.js:
3076         (Inst):
3077         * JSAir/reg.js:
3078         (Reg.prototype.toString):
3079         * JSAir/util.js:
3080         (symbolName):
3081         (lowerSymbolName):
3082
3083 2016-06-07  Filip Pizlo  <fpizlo@apple.com>
3084
3085         Add result validation to JSAir
3086         https://bugs.webkit.org/show_bug.cgi?id=158493
3087
3088         Reviewed by Saam Barati.
3089         
3090         This adds the ability to hash a Code in a way that matches the C++ code's hashing of Code.
3091         This allows us to check if the Code that JSAir sees is the code that C++ saw. We use this to
3092         check the Code before and after allocateStack, and compare against hashes we got from C++.
3093         
3094         Doing this uncovered bugs. roundUpToMultipleOf wasn't doing anything. allocateStack was not
3095         allocating things correctly because I was concatting a Set to an Array, which doesn't really
3096         work. Now these bugs are fixed.
3097         
3098         The checking step adds to the running time so I reduced the number of iterations. The
3099         benchmark spends a decent amount of its time computing Code hashes; I think it's around 1/3
3100         total. This is probably OK. It's better to verify the results even if the running time is
3101         not all in the "core" of the algorithm.
3102         
3103         Also add a run-jsc-stress-tests yaml file to allow this to run as a test.
3104
3105         * JSAir/allocate_stack.js:
3106         * JSAir/arg.js:
3107         (Arg.createImm):
3108         (Arg.createBigImm):
3109         (Arg.createBitImm):
3110         (Arg.createBitImm64):
3111         (Arg.createWidth):
3112         (Arg.createSpecial):
3113         (Arg.prototype.get kind):
3114         (Arg.prototype.get isTmp):
3115         (Arg.prototype.get isImm):
3116         (Arg.prototype.get isSomeImm):
3117         (Arg.prototype.get isSomeBigImm):
3118         (Arg.prototype.get isCondition):
3119         (Arg.prototype.get isWidth):
3120         (Arg.prototype.get isSpecial):
3121         (Arg.prototype.get isAlive):
3122         (Arg.prototype.get tmp):
3123         (Arg.prototype.get value):
3124         (Arg.prototype.get lowValue):
3125         (Arg.prototype.get highValue):
3126         (Arg.prototype.get base):
3127         (Arg.prototype.get isGP):
3128         (Arg.prototype.get isFP):
3129         (Arg.prototype.isValidForm):
3130         (Arg.prototype.get isInvertible):
3131         (Arg.kindCode):
3132         (Arg.prototype.hash):
3133         (Arg.prototype.toString):
3134         (Arg):
3135         * JSAir/basic_block.js:
3136         (BasicBlock.get successorBlocks):
3137         * JSAir/benchmark.js:
3138         (benchmark):
3139         * JSAir/code.js:
3140         (Code.prototype.setFrameSize):
3141         (Code.prototype.hash):
3142         (Code.prototype.toString):
3143         (Code):
3144         * JSAir/inst.js:
3145         (Inst.prototype.get hasNonArgEffects):
3146         (Inst.prototype.hash):
3147         (Inst.prototype.toString):
3148         (Inst):
3149         * JSAir/jsair-tests.yaml: Added.
3150         * JSAir/opcode.js:
3151         (Inst_forEachArg):
3152         (Inst_hasNonArgEffects):
3153         (opcodeCode):
3154         * JSAir/payload-gbemu-executeIteration.js:
3155         (createPayloadGbemuExecuteIteration):
3156         * JSAir/payload-imaging-gaussian-blur-gaussianBlur.js:
3157         (createPayloadImagingGaussianBlurGaussianBlur):
3158         * JSAir/payload-jsair-ACLj8C.js:
3159         (createPayloadJSAirACLj8C):
3160         * JSAir/payload-typescript-scanIdentifier.js:
3161         (createPayloadTypescriptScanIdentifier):
3162         * JSAir/reg.js:
3163         (Reg.prototype.get isReg):
3164         (Reg.prototype.hash):
3165         (Reg.prototype.toString):
3166         * JSAir/stack_slot.js:
3167         (StackSlot.prototype.setOffsetFromFP):
3168         (StackSlot.prototype.hash):
3169         (StackSlot.prototype.toString):
3170         * JSAir/symbols.js:
3171         (relCondCode):
3172         (resCondCode):
3173         (doubleCondCode):
3174         * JSAir/test.html:
3175         * JSAir/tmp.js:
3176         (Tmp.prototype.get isReg):
3177         (Tmp.prototype.hash):
3178         (Tmp.prototype.toString):
3179         * JSAir/util.js:
3180         (roundUpToMultipleOf):
3181         (symbolName):
3182
3183 2016-06-07  Filip Pizlo  <fpizlo@apple.com>
3184
3185         Implement Air::allocateStack() in ES6 to see how much of a bad idea that is
3186         https://bugs.webkit.org/show_bug.cgi?id=158318
3187
3188         Reviewed by Saam Barati.
3189         
3190         This adds a new benchmark for us to play with called JSAir. It's a complete ES6
3191         implementation of Air's allocateStack() phase along with all of Air needed to run that
3192         phase. This includes things like stack slots, registers, temporaries, basic blocks,
3193         instructions, and all of the code for iterating over, inspecting, and modifying those
3194         things.
3195         
3196         To make this work, JSC can now dump Air just before allocateStack() in the form of JS code
3197         that creates a Code object that matches exactly what C++ Air saw. This benchmark comprises
3198         four Air IRs:
3199         
3200         - Octane/gbemu's largest function, executeIteration.
3201         - Kraken/imaging-gaussian-blur's largest function in OSR entry mode, gaussuanBlur.
3202         - Octane/typescript's largest function that is actually hot, scanIdentifier.
3203         - JSAir's largest hot function, which is anonymous, so we call it by its hash (ACLj8C).
3204         
3205         This runs in about 2 seconds on my machine in JSC trunk. It includes both a commandline
3206         harness and a web harness. JSAir is almost exactly 100x slower in ES6 in WebKit than the
3207         C++ Air::allocateStack() phase on which it is based.
3208         
3209         JSAir uses the following ES6 features:
3210         
3211         - Symbol.
3212         - for-of.
3213         - arrow functions.
3214         - Map/Set.
3215         - let/const.
3216         - classes.
3217         
3218         All of these things are used in anger and should end up on the hot path. There is also code
3219         that uses Proxies, but it ends up being dead.
3220         
3221         We can improve this even more:
3222         I still need to add result validation: https://bugs.webkit.org/show_bug.cgi?id=158493
3223         I want to make it use more ES6 features: https://bugs.webkit.org/show_bug.cgi?id=158497
3224         
3225         * JSAir: Added.
3226         * JSAir/all.js: Added.
3227         * JSAir/allocate_stack.js: Added.
3228         (allocateStack.attemptAssignment):
3229         (allocateStack.assign):
3230         (allocateStack.interfere):
3231         (allocateStack.):
3232         (allocateStack):
3233         * JSAir/arg.js: Added.
3234         (Arg):
3235         (Arg.isAnyUse):
3236         (Arg.isColdUse):
3237         (Arg.isWarmUse):
3238         (Arg.cooled):
3239         (Arg.isEarlyUse):
3240         (Arg.isLateUse):
3241         (Arg.isAnyDef):
3242         (Arg.isEarlyDef):
3243         (Arg.isLateDef):
3244         (Arg.isZDef):
3245         (Arg.typeForB3Type):
3246         (Arg.widthForB3Type):
3247         (Arg.conservativeWidth):
3248         (Arg.minimumWidth):
3249         (Arg.bytes):
3250         (Arg.widthForBytes):
3251         (Arg.createTmp):
3252         (Arg.fromReg):
3253         (Arg.createImm):
3254         (Arg.createBigImm):
3255         (Arg.createBitImm):
3256         (Arg.createBitImm64):
3257         (Arg.createAddr):
3258         (Arg.createStack):
3259         (Arg.createCallArg):
3260         (Arg.createStackAddr):
3261         (Arg.isValidScale):
3262         (Arg.logScale):
3263         (Arg.createIndex):
3264         (Arg.createRelCond):
3265         (Arg.createResCond):
3266         (Arg.createDoubleCond):
3267         (Arg.createWidth):
3268         (Arg.prototype.get kind):
3269         (Arg.prototype.get isTmp):
3270         (Arg.prototype.get isImm):
3271         (Arg.prototype.get isBigImm):
3272         (Arg.prototype.get isBitImm):
3273         (Arg.prototype.get isBitImm64):
3274         (Arg.prototype.get isSomeImm):
3275         (Arg.prototype.get isAddr):
3276         (Arg.prototype.get isStack):
3277         (Arg.prototype.get isCallArg):
3278         (Arg.prototype.get isIndex):
3279         (Arg.prototype.get isMemory):
3280         (Arg.prototype.get isStackMemory):
3281         (Arg.prototype.get isRelCond):
3282         (Arg.prototype.get isResCond):
3283         (Arg.prototype.get isDoubleCond):
3284         (Arg.prototype.get isCondition):
3285         (Arg.prototype.get isWidth):
3286         (Arg.prototype.get isAlive):
3287         (Arg.prototype.get tmp):
3288         (Arg.prototype.get value):
3289         (Arg.prototype.get base):
3290         (Arg.prototype.get hasOffset):
3291         (Arg.prototype.get offset):
3292         (Arg.prototype.get stackSlot):
3293         (Arg.prototype.get index):
3294         (Arg.prototype.get scale):
3295         (Arg.prototype.get logScale):
3296         (Arg.prototype.get width):
3297         (Arg.prototype.get isGPTmp):
3298         (Arg.prototype.get isFPTmp):
3299         (Arg.prototype.get isGP):
3300         (Arg.prototype.get isFP):
3301         (Arg.prototype.get hasType):
3302      &n