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