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