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