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