Unreviewed, rolling out r239377.
[WebKit-https.git] / PerformanceTests / ChangeLog
1 2018-12-19  Commit Queue  <commit-queue@webkit.org>
2
3         Unreviewed, rolling out r239377.
4         https://bugs.webkit.org/show_bug.cgi?id=192921
5
6         broke 32-bit JSC tests (Requested by keith_miller on #webkit).
7
8         Reverted changeset:
9
10         "[BigInt] We should enable CSE into arithmetic operations that
11         speculate BigIntUse"
12         https://bugs.webkit.org/show_bug.cgi?id=192723
13         https://trac.webkit.org/changeset/239377
14
15 2018-12-19  Caio Lima  <ticaiolima@gmail.com>
16
17         [BigInt] We should enable CSE into arithmetic operations that speculate BigIntUse
18         https://bugs.webkit.org/show_bug.cgi?id=192723
19
20         Reviewed by Saam Barati.
21
22         * BigIntBench/big-int-cse.js: Added.
23         * BigIntBench/big-int-global-cse.js: Added.
24         * BigIntBench/big-int-licm.js: Added.
25
26 2018-12-17  Suresh Koppisetty  <skoppisetty@apple.com>
27
28         Add "-o/--output" option to startup.py and new_tab.py benchmark scripts to save the results in json format.
29         https://bugs.webkit.org/show_bug.cgi?id=192385
30
31         Reviewed by Ryosuke Niwa.
32
33         Sample json output for new tab benchmark script after running for 2 iterations and 2 groups. Values are in milliseconds.
34         {
35                 "NewTabBenchmark": {
36                         "metrics": {
37                                 "Time": {
38                                         "current": [
39                                                 [
40                                                         410.2939453125,
41                                                         307.81494140625
42                                                 ],
43                                                 [
44                                                         340.616943359375,
45                                                         265.94384765625
46                                                 ]
47                                         ]
48                                 }
49                         }
50                 }
51         }
52
53         Sample json output for startup time benchmark script after running for 2 iterations. Values are in milliseconds.
54         {
55                 "StartupBenchmark": {
56                         "metrics": {
57                                 "Time": {
58                                         "current": [
59                                                 [
60                                                         1415.2099609375,
61                                                         1439.552978515625
62                                                 ]
63                                         ]
64                                 }
65                         }
66                 }
67         }
68
69         * LaunchTime/launch_time.py:
70         * LaunchTime/new_tab.py:
71         (NewTabBenchmark.get_test_name):
72         * LaunchTime/startup.py:
73         (StartupBenchmark.get_test_name):
74
75 2018-12-17  Suresh Koppisetty  <skoppisetty@apple.com>
76
77         Import FeedbackServer only if "-f/--feedback-in-browser" option is enabled.
78         https://bugs.webkit.org/show_bug.cgi?id=192378
79
80         Reviewed by Ryosuke Niwa.
81
82         FeedbackServer currently depends on Tornado-5.1, which further adds
83         dependency of "singledispatch", "backports-abc" and "futures" python libraries.
84         Importing FeedbackServer only if "-f/--feedback-in-browser" option is enabled
85         will let us run the benchmark scripts without installing any new python libraries.
86
87         * LaunchTime/launch_time.py:
88         * LaunchTime/new_tab.py:
89
90 2018-12-13  Caio Lima  <ticaiolima@gmail.com>
91
92         [BigInt] Add ValueDiv into DFG
93         https://bugs.webkit.org/show_bug.cgi?id=186178
94
95         Reviewed by Yusuke Suzuki.
96
97         * BigIntBench/big-int-simple-div.js: Added.
98         * BigIntBench/value-div-type-propagation.js: Added.
99
100 2018-12-10  Caio Lima  <ticaiolima@gmail.com>
101
102         [BigInt] Add ValueMul into DFG
103         https://bugs.webkit.org/show_bug.cgi?id=186175
104
105         Reviewed by Yusuke Suzuki.
106
107         * BigIntBench/big-int-simple-mul.js: Added.
108         * BigIntBench/value-mul-type-propagation.js: Added.
109
110 2018-11-07  Caio Lima  <ticaiolima@gmail.com>
111
112         [BigInt] Add support to BigInt into ValueAdd
113         https://bugs.webkit.org/show_bug.cgi?id=186177
114
115         Reviewed by Keith Miller.
116
117         The idea of BigIntBench is to provide a set of microbenchmarks and
118         benchmarks to evaluate how fast BigInt computations are happening on
119         JSC implementation.
120
121         Now, we are adding microbenchmarks in this set,
122         but the plan is to move these tests to "JSTest/microbenchmarks" when
123         BigInt is enabled by default. After that, the focus of Bigint bench is
124         to provide a set of tests that represents real use cases of BigInt in
125         JS programs.
126
127         * BigIntBench/big-int-add-prediction-propagation.js: Added.
128         * BigIntBench/big-int-simple-add.js: Added.
129         * BigIntBench/big-int-simple-sub.js: Added.
130
131 2018-11-07  Tadeu Zagallo  <tzagallo@apple.com>
132
133         REGRESSION(r237547): Test failures on 32-bit JSC since the JIT was disabled
134         https://bugs.webkit.org/show_bug.cgi?id=191184
135
136         Reviewed by Saam Barati.
137
138         Skip test when the JIT is disabled, it takes too long to run on CLoop.
139
140         * JetStream/cdjs/main.js:
141
142 2018-11-05  Myles C. Maxfield  <mmaxfield@apple.com>
143
144         Cache glyph paths and share underline skipping code between all the ports
145         https://bugs.webkit.org/show_bug.cgi?id=191239
146
147         Reviewed by Alex Christensen.
148
149         Measures the performance of drawing a whole lot of underlines
150
151         * Layout/underline.html: Added.
152
153 2018-10-25  Saam Barati  <sbarati@apple.com>
154
155         Check in corresponding C code in JetStream 2
156         https://bugs.webkit.org/show_bug.cgi?id=190733
157
158         Rubber-stamped by Filip Pizlo.
159
160         * JetStream2/simple/float-mm.c: Added.
161         * JetStream2/wasm/HashSet.cpp: Added.
162         * JetStream2/wasm/gcc-loops.cpp: Added.
163         * JetStream2/wasm/quicksort.c: Added.
164         * JetStream2/wasm/TSF: Added.
165         * JetStream2/wasm/TSF/build.sh: Added.
166         * JetStream2/wasm/TSF/config.h: Added.
167         * JetStream2/wasm/TSF/gpc.h: Added.
168         * JetStream2/wasm/TSF/gpc_code_gen_util.c: Added.
169         * JetStream2/wasm/TSF/gpc_instruction.c: Added.
170         * JetStream2/wasm/TSF/gpc_instruction_dispatch.gen: Added.
171         * JetStream2/wasm/TSF/gpc_instruction_size.gen: Added.
172         * JetStream2/wasm/TSF/gpc_instruction_stack_effects.gen: Added.
173         * JetStream2/wasm/TSF/gpc_instruction_static_size.gen: Added.
174         * JetStream2/wasm/TSF/gpc_instruction_to_string.gen: Added.
175         * JetStream2/wasm/TSF/gpc_int_common.h: Added.
176         * JetStream2/wasm/TSF/gpc_intable.c: Added.
177         * JetStream2/wasm/TSF/gpc_internal.h: Added.
178         * JetStream2/wasm/TSF/gpc_interpreter.gen: Added.
179         * JetStream2/wasm/TSF/gpc_program.c: Added.
180         * JetStream2/wasm/TSF/gpc_proto.c: Added.
181         * JetStream2/wasm/TSF/gpc_stack_height.c: Added.
182         * JetStream2/wasm/TSF/gpc_threaded.c: Added.
183         * JetStream2/wasm/TSF/gpc_worklist.h: Added.
184         * JetStream2/wasm/TSF/tsf.h: Added.
185         * JetStream2/wasm/TSF/tsf_adaptive_reader.c: Added.
186         * JetStream2/wasm/TSF/tsf_asprintf.c: Added.
187         * JetStream2/wasm/TSF/tsf_atomics.h: Added.
188         * JetStream2/wasm/TSF/tsf_buf_reader.c: Added.
189         * JetStream2/wasm/TSF/tsf_buf_writer.c: Added.
190         * JetStream2/wasm/TSF/tsf_buffer.c: Added.
191         * JetStream2/wasm/TSF/tsf_build_defines.h: Added.
192         * JetStream2/wasm/TSF/tsf_config.h: Added.
193         * JetStream2/wasm/TSF/tsf_config_stub.h: Added.
194         * JetStream2/wasm/TSF/tsf_copier.c: Added.
195         * JetStream2/wasm/TSF/tsf_define_helpers.c: Added.
196         * JetStream2/wasm/TSF/tsf_define_helpers.h: Added.
197         * JetStream2/wasm/TSF/tsf_destructor.c: Added.
198         * JetStream2/wasm/TSF/tsf_error.c: Added.
199         * JetStream2/wasm/TSF/tsf_format.h: Added.
200         * JetStream2/wasm/TSF/tsf_fsdb.c: Added.
201         * JetStream2/wasm/TSF/tsf_fsdb_protocol.c: Added.
202         * JetStream2/wasm/TSF/tsf_fsdb_protocol.h: Added.
203         * JetStream2/wasm/TSF/tsf_generator.c: Added.
204         * JetStream2/wasm/TSF/tsf_gpc_code_gen.c: Added.
205         * JetStream2/wasm/TSF/tsf_indent.h: Added.
206         * JetStream2/wasm/TSF/tsf_internal.h: Added.
207         * JetStream2/wasm/TSF/tsf_internal_config.h: Added.
208         * JetStream2/wasm/TSF/tsf_internal_config_stub.h: Added.
209         * JetStream2/wasm/TSF/tsf_inttypes.h: Added.
210         * JetStream2/wasm/TSF/tsf_io.c: Added.
211         * JetStream2/wasm/TSF/tsf_io_utils.c: Added.
212         * JetStream2/wasm/TSF/tsf_ir.c: Added.
213         * JetStream2/wasm/TSF/tsf_ir.h: Added.
214         * JetStream2/wasm/TSF/tsf_ir_different.c: Added.
215         * JetStream2/wasm/TSF/tsf_ir_different.h: Added.
216         * JetStream2/wasm/TSF/tsf_ir_speed.c: Added.
217         * JetStream2/wasm/TSF/tsf_limits.c: Added.
218         * JetStream2/wasm/TSF/tsf_named_type.c: Added.
219         * JetStream2/wasm/TSF/tsf_native.c: Added.
220         * JetStream2/wasm/TSF/tsf_parser.c: Added.
221         * JetStream2/wasm/TSF/tsf_primitive.c: Added.
222         * JetStream2/wasm/TSF/tsf_ra_type_man.c: Added.
223         * JetStream2/wasm/TSF/tsf_reflect.c: Added.
224         * JetStream2/wasm/TSF/tsf_region.h: Added.
225         * JetStream2/wasm/TSF/tsf_serial_in_man.c: Added.
226         * JetStream2/wasm/TSF/tsf_serial_out_man.c: Added.
227         * JetStream2/wasm/TSF/tsf_serial_protocol.h: Added.
228         * JetStream2/wasm/TSF/tsf_sha1.c: Added.
229         * JetStream2/wasm/TSF/tsf_sha1.h: Added.
230         * JetStream2/wasm/TSF/tsf_sha1_writer.c: Added.
231         * JetStream2/wasm/TSF/tsf_sort.c: Added.
232         * JetStream2/wasm/TSF/tsf_st.c: Added.
233         * JetStream2/wasm/TSF/tsf_st.h: Added.
234         * JetStream2/wasm/TSF/tsf_st_typetable.c: Added.
235         * JetStream2/wasm/TSF/tsf_stream_file_input.c: Added.
236         * JetStream2/wasm/TSF/tsf_stream_file_output.c: Added.
237         * JetStream2/wasm/TSF/tsf_type.c: Added.
238         * JetStream2/wasm/TSF/tsf_type_in_map.c: Added.
239         * JetStream2/wasm/TSF/tsf_type_out_map.c: Added.
240         * JetStream2/wasm/TSF/tsf_type_table.c: Added.
241         * JetStream2/wasm/TSF/tsf_types.h: Added.
242         * JetStream2/wasm/TSF/tsf_util.h: Added.
243         * JetStream2/wasm/TSF/tsf_version.c: Added.
244         * JetStream2/wasm/TSF/tsf_zip_abstract.c: Added.
245         * JetStream2/wasm/TSF/tsf_zip_abstract.h: Added.
246         * JetStream2/wasm/TSF/tsf_zip_attr.c: Added.
247         * JetStream2/wasm/TSF/tsf_zip_reader.c: Added.
248         * JetStream2/wasm/TSF/tsf_zip_writer.c: Added.
249
250 2018-10-18  Saam Barati  <sbarati@apple.com>
251
252         Make JetStream 2
253         https://bugs.webkit.org/show_bug.cgi?id=187829
254
255         Rubber-stamped by Mark Lam.
256
257         This patch checks in the new JetStream 2 benchmark. JetStream 2 is
258         a new JavaScript and Web Assembly benchmark. JetStream 2's goal
259         is to measure the startup, worst case, and peak throughput performance
260         of the JavaScript engine. JetStream 2 incorporates these previous
261         benchmarks:
262         - JetStream
263         - ARES-6
264         - Kraken
265         - Web Tooling Benchmark
266         - WasmBench
267         - RexBench
268         
269         JetStream 2 also adds some new benchmarks:
270         - Two tests emphasizing web worker performance.
271         - One test emphasizing Promise, async iteration, and DataView performance.
272         - Two new code load tests.
273         - WSL: a test measuring all kinds of things, especially emphasizing exception performance.
274
275         * JetStream2: Added.
276
277 2018-10-02  Chris Dumez  <cdumez@apple.com>
278
279         Regression(r236613): Parser/html-parser.html performance test is failing
280         https://bugs.webkit.org/show_bug.cgi?id=190201
281
282         Unreviewed, apply the same fix as in r236699 to make sure the iframe is treated as
283         same origin, so that calls to document.open() / document.write() succeed.
284
285         * Parser/html-parser.html:
286
287 2018-10-01  Chris Dumez  <cdumez@apple.com>
288
289         Regression(r236613): Parser/HTML5-8266-ParseOnly.html performance tests no longer runs
290         https://bugs.webkit.org/show_bug.cgi?id=190174
291
292         Reviewed by Ryosuke Niwa.
293
294         Update iframe's sandbox to use 'allow-same-origin' so that the iframe is treated as same-origin and so that
295         the top frame can call document.open() / document.write() on the subframe. This test was also failing in
296         Firefox without this change.
297
298         * Parser/HTML5-8266-ParseOnly.html:
299
300 2018-08-27  Aditya Keerthi  <akeerthi@apple.com>
301
302         Consolidate ENABLE_INPUT_TYPE_COLOR and ENABLE_INPUT_TYPE_COLOR_POPOVER
303         https://bugs.webkit.org/show_bug.cgi?id=188931
304
305         Reviewed by Wenson Hsieh.
306
307         * StitchMarker/wtf/FeatureDefines.h: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER.
308
309 2018-08-23  Don Olmstead  <don.olmstead@sony.com>
310
311         [CMake] Have checks are not getting set inside CMake properly
312         https://bugs.webkit.org/show_bug.cgi?id=188901
313
314         Reviewed by Michael Catanzaro.
315
316         Add notification that MallocBench is disabled.
317
318         * CMakeLists.txt:
319
320 2018-08-23  Don Olmstead  <don.olmstead@sony.com>
321
322         [CMake] Add HAVE_MALLOC_TRIM definition
323         https://bugs.webkit.org/show_bug.cgi?id=188897
324
325         Reviewed by Konstantin Tokarev.
326
327         MallocBench should only be built on Apple platforms and platforms that
328         have malloc_trim.
329
330         * CMakeLists.txt:
331
332 2018-08-13  Jon Lee  <jonlee@apple.com>
333
334         Update MotionMark version number
335         https://bugs.webkit.org/show_bug.cgi?id=188535
336         <rdar://problem/43254078>
337
338         Reviewed by Said Abou-Hallawa.
339
340         * MotionMark/resources/strings.js: To 1.1.
341
342 2018-08-13  Jon Lee  <jonlee@apple.com>
343
344         [MotionMark] Update Multiply test
345         https://bugs.webkit.org/show_bug.cgi?id=188532
346         <rdar://problem/43252151>
347
348         Reviewed by Said Abou-Hallawa.
349
350         Update Multiply test to have a larger upper limit of number of particles. Cycle through three
351         different ways of hiding an element. Add new Multiple suite that isolates those components for
352         debugging purposes.
353
354         * MotionMark/resources/debug-runner/tests.js:
355         * MotionMark/tests/dom/multiply.html: Added.
356         * MotionMark/tests/dom/resources/multiply.js: Added.
357         * MotionMark/tests/master/resources/multiply.js:
358
359 2018-08-13  Jon Lee  <jonlee@apple.com>
360
361         [MotionMark] Update Leaves test
362         https://bugs.webkit.org/show_bug.cgi?id=188530
363         <rdar://problem/43251862>
364
365         Reviewed by Said Abou-Hallawa.
366
367         Update Leaves test to include opacity and scale. Add new Leaves suite that isolate those components
368         for debugging purposes.
369
370         * MotionMark/resources/debug-runner/tests.js:
371         * MotionMark/tests/dom/leaves.html:
372         * MotionMark/tests/dom/resources/leaves.js:
373         * MotionMark/tests/master/resources/leaves.js:
374
375 2018-08-10  Ben Richards  <benton_richards@apple.com>
376
377         Add ability to ignore process prewarming for launch time benchmark
378         https://bugs.webkit.org/show_bug.cgi?id=188462
379
380         Reviewed by Ryosuke Niwa.
381
382         Added a flag to the new tab benchmark that will open a blank tab before the tab to be measured in order to ignore process prewarming.
383
384         * LaunchTime/launch_time.py:
385         (DefaultLaunchTimeHandler):
386         (DefaultLaunchTimeHandler.on_receive_stop_time): Deleted.
387         (DefaultLaunchTimeHandler.on_receive_stop_signal):
388         (DefaultLaunchTimeHandler.do_HEAD):
389         (DefaultLaunchTimeHandler.do_GET):
390         (DefaultLaunchTimeHandler.do_POST):
391         (LaunchTimeBenchmark):
392         (LaunchTimeBenchmark._standard_deviation): Fixed divide by zero bug when '-n' is set to 1
393         (LaunchTimeBenchmark.open_tab): Added option to open a blank tab
394         (LaunchTimeBenchmark.run):
395         * LaunchTime/new_tab.py:
396         (NewTabBenchmark.initialize):
397         (NewTabBenchmark.run_iteration):
398         (NewTabBenchmark.will_parse_arguments):
399         (NewTabBenchmark.did_parse_arguments):
400         (NewTabBenchmark.ResponseHandler.Handler.get_test_page):
401         (NewTabBenchmark.ResponseHandler.Handler.on_receive_stop_time): Deleted.
402         (NewTabBenchmark.ResponseHandler.Handler.on_receive_stop_signal):
403         (NewTabBenchmark):
404         * LaunchTime/startup.py:
405         (StartupBenchmark.ResponseHandler.Handler.get_test_page):
406         (StartupBenchmark.ResponseHandler.Handler.on_receive_stop_time): Deleted.
407         (StartupBenchmark.ResponseHandler.Handler.on_receive_stop_signal):
408         (StartupBenchmark):
409
410 2018-08-10  Truitt Savell  <tsavell@apple.com>
411
412         Unreviewed, rolling out r234750.
413
414         Caused 185 perf test failures.
415
416         Reverted changeset:
417
418         "Add ability to ignore process prewarming for launch time
419         benchmark"
420         https://bugs.webkit.org/show_bug.cgi?id=188462
421         https://trac.webkit.org/changeset/234750
422
423 2018-08-09  Ben Richards  <benton_richards@apple.com>
424
425         Add ability to ignore process prewarming for launch time benchmark
426         https://bugs.webkit.org/show_bug.cgi?id=188462
427
428         Reviewed by Ryosuke Niwa.
429
430         Added a flag to the new tab benchmark that will open a blank tab before the tab to be measured in order to ignore process prewarming.
431
432         * LaunchTime/launch_time.py:
433         (DefaultLaunchTimeHandler):
434         (DefaultLaunchTimeHandler.on_receive_stop_time): Deleted.
435         (DefaultLaunchTimeHandler.on_receive_stop_signal):
436         (DefaultLaunchTimeHandler.do_HEAD):
437         (DefaultLaunchTimeHandler.do_GET):
438         (DefaultLaunchTimeHandler.do_POST):
439         (LaunchTimeBenchmark):
440         (LaunchTimeBenchmark._standard_deviation): Fixed divide by zero bug when '-n' is set to 1
441         (LaunchTimeBenchmark.open_tab): Added option to open a blank tab
442         (LaunchTimeBenchmark.run):
443         * LaunchTime/new_tab.py:
444         (NewTabBenchmark.initialize):
445         (NewTabBenchmark.run_iteration):
446         (NewTabBenchmark.will_parse_arguments):
447         (NewTabBenchmark.did_parse_arguments):
448         (NewTabBenchmark.ResponseHandler.Handler.get_test_page):
449         (NewTabBenchmark.ResponseHandler.Handler.on_receive_stop_time): Deleted.
450         (NewTabBenchmark.ResponseHandler.Handler.on_receive_stop_signal):
451         (NewTabBenchmark):
452         * LaunchTime/startup.py:
453         (StartupBenchmark.ResponseHandler.Handler.get_test_page):
454         (StartupBenchmark.ResponseHandler.Handler.on_receive_stop_time): Deleted.
455         (StartupBenchmark.ResponseHandler.Handler.on_receive_stop_signal):
456         (StartupBenchmark):
457
458 2018-07-26  Andy VanWagoner  <andy@vanwagoner.family>
459
460         [INTL] Remove INTL sub-feature compile flags
461         https://bugs.webkit.org/show_bug.cgi?id=188081
462
463         Reviewed by Michael Catanzaro.
464
465         Removed old and unused i18n flag.
466
467         * StitchMarker/wtf/FeatureDefines.h:
468
469 2018-07-20  David Fenton  <david_fenton@apple.com>
470
471         REGRESSION (234006) ERROR: Blocked access to external URL http://code.jquery.com/jquery-1.9.1.min.js
472         https://bugs.webkit.org/show_bug.cgi?id=187858
473
474         Unreviewed test gardening, skipped test.
475
476         * Skipped: LaunchTime
477
478 2018-07-19  Ben Richards  <benton_richards@apple.com>
479
480         Add benchmark for WebKit process launch times
481         https://bugs.webkit.org/show_bug.cgi?id=186414
482
483         Reviewed by Ryosuke Niwa.
484
485         Added two benchmarks, one for measuring browser new tab launch time and one for browser startup time.
486
487         * LaunchTime/.gitignore: Added.
488         * LaunchTime/feedback_client.html: Added.
489         Displays benchmark progress in browser
490         * LaunchTime/feedback_server.py: Added.
491         (FeedbackServer): Sends data to feedback_client via websocket
492         (FeedbackServer.__init__):
493         (FeedbackServer._create_app):
494         (FeedbackServer._start_server):
495         (FeedbackServer._send_all_messages):
496         (FeedbackServer.start):
497         (FeedbackServer.stop):
498         (FeedbackServer.send_message): Send a message to the feedback_client
499         (FeedbackServer.wait_until_client_has_loaded): Wait until the feedback_client has opened a websocket connection to the feedback_server
500         (FeedbackServer.MainHandler): Handler factory to create handler that serves feedback_client.html
501         (FeedbackServer.MainHandler.Handler):
502         (FeedbackServer.MainHandler.Handler.get):
503         (FeedbackServer.WSHandler): Handler factory to create handler that sends data to feedback client
504         (FeedbackServer.WSHandler.Handler):
505         (FeedbackServer.WSHandler.Handler.open): On websocket connection opened
506         (FeedbackServer.WSHandler.Handler.on_close): On websocket connection closed
507         * LaunchTime/launch_time.py: Added.
508         (DefaultLaunchTimeHandler): Abstract HTTP request handler for launch time benchmarks
509         (DefaultLaunchTimeHandler.get_test_page): Default test page to be overridden by benchmarks
510         (DefaultLaunchTimeHandler.get_blank_page):
511         (DefaultLaunchTimeHandler.on_receive_stop_time):
512         (DefaultLaunchTimeHandler.do_HEAD):
513         (DefaultLaunchTimeHandler.do_GET):
514         (DefaultLaunchTimeHandler.do_POST):
515         (DefaultLaunchTimeHandler.log_message): Suppresses HTTP logs from SimpleHTTPRequestHandler
516         (LaunchTimeBenchmark): Abstract class which launch time benchmarks inherit from and override methods desired to customize
517         (LaunchTimeBenchmark.__init__):
518         (LaunchTimeBenchmark._parse_browser_bundle_path): Parser for bundle path option
519         (LaunchTimeBenchmark._parse_args):
520         (LaunchTimeBenchmark._run_server): Target function for main server thread
521         (LaunchTimeBenchmark._setup_servers):
522         (LaunchTimeBenchmark._clean_up):
523         (LaunchTimeBenchmark._exit_due_to_exception):
524         (LaunchTimeBenchmark._geometric_mean):
525         (LaunchTimeBenchmark._standard_deviation):
526         (LaunchTimeBenchmark._compute_results): Returns mean and std dev of list of results and pretty prints if should_print=True is specified
527         (LaunchTimeBenchmark._wait_times): Mimic numpy.linspace
528         (LaunchTimeBenchmark.open_tab): Open a browser tab with the html given by self.response_handler.get_test_page
529         (LaunchTimeBenchmark.launch_browser): Open a broser to either the feedback client (if option is set) or a blank page
530         (LaunchTimeBenchmark.quit_browser):
531         (LaunchTimeBenchmark.quit_browser.quit_app):
532         (LaunchTimeBenchmark.quit_browser.is_app_closed):
533         (LaunchTimeBenchmark.close_tab):
534         (LaunchTimeBenchmark.wait):
535         (LaunchTimeBenchmark.log): Print to console and send to feedback client if --feedback-in-browser flag is used
536         (LaunchTimeBenchmark.log_verbose): Only logs if --verbose flag is used
537         (LaunchTimeBenchmark.run):
538         (LaunchTimeBenchmark.group_init): Initialization done before each round of iterations
539         (LaunchTimeBenchmark.run_iteration):
540         (LaunchTimeBenchmark.initialize): Convenience method to be overriden by subclasses which is called at the end of __init__
541         (LaunchTimeBenchmark.will_parse_arguments): Called before argparse.parse_args to let subclasses add new command line arguments
542         (LaunchTimeBenchmark.did_parse_arguments): Called after argparse.parse_args to let subclass initialize based on command line arguments
543         * LaunchTime/new_tab.py: Added
544         (NewTabBenchmark):
545         (NewTabBenchmark._parse_wait_time): Parser for wait time option
546         (NewTabBenchmark.initialize):
547         (NewTabBenchmark.run_iteration):
548         (NewTabBenchmark.group_init):
549         (NewTabBenchmark.will_parse_arguments):
550         (NewTabBenchmark.did_parse_arguments):
551         (NewTabBenchmark.ResponseHandler):
552         (NewTabBenchmark.ResponseHandler.Handler):
553         (NewTabBenchmark.ResponseHandler.Handler.get_test_page):
554         * LaunchTime/startup.py: Added
555         (StartupBenchmark): This benchmark measures browser startup time and initial page load time
556         (StartupBenchmark.initialize):
557         (StartupBenchmark.run_iteration):
558         (StartupBenchmark.ResponseHandler):
559         (StartupBenchmark.ResponseHandler.Handler):
560         (StartupBenchmark.ResponseHandler.Handler.get_test_page):
561         * LaunchTime/thirdparty/__init__.py: Added.
562         (AutoinstallImportHook): Auto installs tornado package for feedback server
563         (AutoinstallImportHook.__init__):
564         (AutoinstallImportHook._ensure_autoinstalled_dir_is_in_sys_path):
565         (AutoinstallImportHook.find_module):
566         (AutoinstallImportHook._install_tornado):
567         (AutoinstallImportHook.greater_than_equal_to_version):
568         (AutoinstallImportHook._install):
569         (AutoinstallImportHook.get_latest_pypi_url):
570         (AutoinstallImportHook.install_binary):
571         (autoinstall_everything):
572         (get_os_info):
573
574 2018-06-25  Jon Lee  <jonlee@apple.com>
575
576         [MotionMark] Add support for version numbers
577         https://bugs.webkit.org/show_bug.cgi?id=186479
578
579         Reviewed by Said Abou-Hallawa.
580
581         Add support for displaying the version number as well as including it in the JSON results.
582
583         When loading the front page, script replaces any element with classname version with the
584         version number of the benchmark, which is stored in Strings.version.
585
586         The JSON structure for the results includes a new version property:
587             {
588               "version": "1.0",
589               "options": { ... },
590               "data": [ ... ]
591             }
592
593         When dragging a results file, the version listed will come from the JSON file. Older
594         results will not have had the version property, in which case it will default to "1.0".
595
596         * MotionMark/index.html: Update title to some other default. Script will update it.
597         Include the version number in the logo title.
598         * MotionMark/developer.html: Ditto.
599         * MotionMark/about.html: Ditto.
600
601         * MotionMark/resources/runner/motionmark.js:
602         (ResultsDashboard): Update constructor to include version. This is used when serializing
603         results out to JSON, and displaying the results panel in developer mode.
604         (ResultsDashboard._processData): When running the benchmark, include benchmark version string
605         in the results object.
606         (ResultsDashboard.version):
607         (window.benchmarkRunnerClient.willStartFirstIteration): When running the benchmark, pass the
608         benchmark version string to the dashboard, which holds the results.
609         (window.sectionsManager.setSectionVersion): Helper function to update the element in the
610         section with the class name version.
611         (window.benchmarkController.initialize): Populate all DOM elements with class name "version"
612         with the version string. Update the page title.
613         (window.benchmarkController.showResults): When showing results, update the version string
614         based on what is included in the JSON results, which would be the same as the benchmark version.
615         * MotionMark/resources/runner/motionmark.css: Include missing copyright. Wrap the SVG logo
616         in a div and include the version string.
617         * MotionMark/resources/strings.js: Add strings for the page title template, and the version.
618
619         * MotionMark/resources/debug-runner/motionmark.css:
620         * MotionMark/resources/debug-runner/motionmark.js:
621         (window.benchmarkRunnerClient.willStartFirstIteration): When running the benchmark, pass the
622         benchmark version string to the dashboard, which holds the results.
623         (window.benchmarkController.initialize): Populate all DOM elements with class name "version"
624         with the version string. Update the page title. When dragging in JSON results, look for
625         version to pass to the dashboard. If it doesn't exist, default to "1.0".
626         (window.benchmarkController.showResults): When showing results, update the version string
627         based on what is included in the JSON results, instead of the current benchmark version.
628         * MotionMark/resources/debug-runner/tests.js: Update page title template.
629
630 2018-06-08  Jon Lee  <jonlee@apple.com>
631
632         [MotionMark] Rename Suits test files
633         https://bugs.webkit.org/show_bug.cgi?id=186447
634
635         Reviewed by Said Abou-Hallawa.
636
637         * MotionMark/resources/runner/tests.js:
638         * MotionMark/tests/master/resources/suits.js: Renamed from PerformanceTests/MotionMark/tests/master/resources/svg-particles.js.
639         * MotionMark/tests/master/suits.html: Renamed from PerformanceTests/MotionMark/tests/master/svg-particles.html.
640         * MotionMark/tests/svg/suits.html:
641
642 2018-06-08  Jon Lee  <jonlee@apple.com>
643
644         Add sub-tests based on Suits
645         https://bugs.webkit.org/show_bug.cgi?id=186260
646
647         Reviewed by Said Abou-Hallawa.
648
649         Add a new developer Suits suite with sub-tests that isolate parts of each particle.
650         The sub-tests are:
651             - Particles using only clip paths
652             - Particles using only shapes
653             - Particles that have no gradients
654             - Particles that have no rotation
655             - Particles that do not move around at all (but all of the physics calculations are
656             still performed)
657
658         * MotionMark/resources/debug-runner/tests.js:
659         * MotionMark/tests/master/resources/svg-particles.js: Rename the stage, particle, and
660         benchmark to "Suits" from "SVG". Change SuitsParticle so that we guarantee 50% clip and
661         shape paths rather than relying on random chance. Wrap a check around creation of the
662         gradient element, and use a simple fill color when we aren't using a gradient.
663         * MotionMark/tests/svg/suits.html: Added.
664         * MotionMark/tests/svg/suits.js: Added.
665         Look for the query string and set the particle based on what is selected.
666
667 2018-06-06  Jon Lee  <jonlee@apple.com>
668
669         Allow the ramp controller to run tests that take less time than the initial ramp-up phase
670         https://bugs.webkit.org/show_bug.cgi?id=186257
671
672         Reviewed by Said Abou-Hallawa.
673
674         * MotionMark/tests/resources/main.js: Extend the desired end timestamp when ramp-up occurs.
675         Previously the controller assumed that the duration of the test was always longer than the
676         time it took to figure out the order of magnitude of particles to render. When that range
677         is determined, the end timestamp is then extended. If the duration is too short, the controller
678         would throw an exception. The fix is to continue extending the timestamp every time the order of
679         magnitude tiers up.
680
681         In general testing with really short durations isn't practical, but sometimes it is
682         desired for debugging.
683
684         To avoid confusion of the private variables, I renamed Benchmark._startTimestamp to
685         Benchmark._benchmarkStartTimestamp, to disambiguate from Controller._startTimestamp.
686         Benchmark._startTimestamp is set once and never changed, after the initial 100ms warm-up.
687         Controller._startTimestamp is initialized to 0 (which means "not initialized"), and then after
688         the warm up is complete, set in Controller.start() to the same wall clock timestamp, and never
689         changed afterwards.
690
691 2018-06-06  Jon Lee  <jonlee@apple.com>
692
693         Remove unneeded data processing in MotionMark
694         https://bugs.webkit.org/show_bug.cgi?id=186256
695
696         Reviewed by Said Abou-Hallawa.
697
698         Remove calculation of average frame rate based on multiple samples at a given complexity.
699         It is not used in the calculation of the score, and is just extra work to do at the end
700         of a test.
701
702         * MotionMark/developer.html: Remove options to show average data and regression based on
703         that data.
704         * MotionMark/resources/debug-runner/graph.js: Remove data. Update the time graph that
705         shows the relationship between the break point in the regression against the complexity
706         graph.
707         * MotionMark/resources/debug-runner/motionmark.css: Make the confidence intervals easier
708         to see.
709         * MotionMark/resources/runner/motionmark.js: Simplify score calculation now that we are
710         only calculating regressions on the raw data. We were calculating it based on the averages,
711         but that was just for analysis, and not used in the actual score. Get rid of the
712         |complexitySamples| local variable.
713         * MotionMark/resources/strings.js: Remove unneeded string constant.
714         * MotionMark/tests/resources/main.js:
715         (processSamples): Refactor so that more of it can be shared between Controller and
716         RampController. It also avoids processing the raw samples (controllerSamples) twice for
717         the ramp controller.
718         (_processComplexitySamples): Remove logic to calculate averages based on complexity.
719         (_processMarks): Split this out from the old processSamples.
720         (_processControllerSamples): Split this out from the old processSamples.
721
722 2018-06-06  Jon Lee  <jonlee@apple.com>
723
724         Strip out more characters when creating permalinks
725         https://bugs.webkit.org/show_bug.cgi?id=186259
726
727         Reviewed by Said Abou-Hallawa.
728
729         Tests and suites may have names that make permalinks to the tests less readable when
730         shared. Expand the set of characters that are stripped out of the names.
731
732         * MotionMark/resources/debug-runner/motionmark.js: Refactor to call
733         stripUnwantedCharactersForURL. For existing links, decode the suite and test names.
734         * MotionMark/resources/extensions.js:
735         (Utilities.stripUnwantedCharactersForURL): Rename from stripNonASCIICharacters.
736         Remove any non-alphanumeric character.
737
738 2018-06-04  Jon Lee  <jonlee@apple.com>
739
740         Remove unnecessary MotionMark controllers
741         https://bugs.webkit.org/show_bug.cgi?id=186255
742
743         Reviewed by Said Abou-Hallawa.
744
745         Get rid of the ramp30 and the fixed-with-a-step controllers, which aren't used for testing
746         or debugging.
747
748         * MotionMark/developer.html: Move the "ramp" option as first, since that is the default
749         controller for the benchmark.
750         * MotionMark/resources/debug-runner/motionmark.js:
751         * MotionMark/resources/runner/motionmark.js: Added missing copyright notice.
752         * MotionMark/tests/resources/main.js:
753
754 2018-05-25  Myles C. Maxfield  <mmaxfield@apple.com>
755
756         Improve the performance of Font::canRenderCombiningCharacterSequence()
757         https://bugs.webkit.org/show_bug.cgi?id=185933
758
759         Reviewed by Ryosuke Niwa.
760
761         * Layout/ComplexLongUnique.html: Added.
762
763 2018-05-25  Saam Barati  <sbarati@apple.com>
764
765         Have a memory test where we can validate JSCs mini memory mode
766         https://bugs.webkit.org/show_bug.cgi?id=185932
767
768         Reviewed by Mark Lam.
769
770         We add a directory here with the contents of the testmem benchmark.
771         To run it, use `Tools/Scripts/run-testmem`. To add new tests in the future,
772         you just need to add JS files to this directory.
773
774         * testmem: Added.
775         * testmem/air.js: Added.
776         * testmem/base64.js: Added.
777         * testmem/basic.js: Added.
778         * testmem/box2d.js: Added.
779         * testmem/crypto-md5.js: Added.
780         * testmem/date-format-tofte.js: Added.
781         * testmem/earley-boyer.js: Added.
782         * testmem/hash-map.js: Added.
783         * testmem/regex-dna.js: Added.
784         * testmem/splay.js: Added.
785         * testmem/tagcloud.js: Added.
786
787 2018-05-22  Ryan Haddad  <ryanhaddad@apple.com>
788
789         Unreviewed, rolling out r232052.
790
791         Breaks internal builds.
792
793         Reverted changeset:
794
795         "Use more C++17"
796         https://bugs.webkit.org/show_bug.cgi?id=185176
797         https://trac.webkit.org/changeset/232052
798
799 2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
800
801         Use more C++17
802         https://bugs.webkit.org/show_bug.cgi?id=185176
803
804         Reviewed by JF Bastien.
805
806         * MallocBench/MallocBench.xcodeproj/project.pbxproj:
807         * MediaTime/Configurations/Base.xcconfig:
808         * MediaTime/MediaTime.xcodeproj/project.pbxproj:
809
810 2018-04-30  Myles C. Maxfield  <mmaxfield@apple.com>
811
812         Improve the performance of FontCascadeDescription's effectiveFamilies
813         https://bugs.webkit.org/show_bug.cgi?id=184720
814
815         Reviewed by Simon Fraser.
816
817         This performance test calls SystemFontDatabase::systemFontCascadeList() around 2,000,000 times (before
818         this patch is applied), which is roughly equivalent to the page we found the performance problem on.
819         The calling pattern is roughly equivalent in this test.
820
821         * Layout/system-ui.html: Added.
822
823 2018-03-08  Antti Koivisto  <antti@apple.com>
824
825         Update StyleBench version number in page title to 0.3
826
827         * StyleBench/index.html:
828
829         There has been a bunch of changes, most notably the addition of attribute selector test step.
830
831 2018-02-16  Dean Jackson  <dino@apple.com>
832
833         Use OPENGL macros to be more clear about which OpenGL/ES WebGL uses on Cocoa
834         https://bugs.webkit.org/show_bug.cgi?id=182894
835
836         Reviewed by Tim Horton.
837
838         Rename OPENGL_ES_2 to OPENGL_ES.
839
840         * StitchMarker/wtf/Platform.h:
841
842 2018-02-09  Ryosuke Niwa  <rniwa@webkit.org>
843
844         Make run-perf-tests work with Speedometer 2.0 and re-enable the test
845         https://bugs.webkit.org/show_bug.cgi?id=182088
846
847         Reviewed by Antti Koivisto.
848
849         This patch updates the test harness to report new metrics of Speedometer 2.0.
850
851         Replaced the total time by the geometric mean of the time spent in each suite, and added scores
852         as a metric in addition to time. Also, updated the PerfTestRunner harness and the results template
853         to support "Score" metric with "pt" as its unit.
854
855         * Skipped: Unskipped the test.
856         * Speedometer/resources/benchmark-report.js:
857         (window.benchmarkClient.willStartFirstIteration..createTest): Added the unit as an optional argument
858         to report the score in addition to time. Also report the geomean of time instead of the total time.
859         (window.benchmarkClient.willStartFirstIteration): Report the geomean of time.
860         (window.benchmarkClient.didRunSuites): Record the entire measuredValues instead of just tests.
861         (window.benchmarkClient.didFinishLastIteration): Report the scores.
862
863 2018-02-09  Ross Kirsling  <ross.kirsling@sony.com>
864
865         Use REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR on any non-Windows port.
866         https://bugs.webkit.org/show_bug.cgi?id=182623
867
868         Reviewed by Alex Christensen.
869
870         * StitchMarker/wtf/Platform.h:
871         Simplify #if.
872
873 2018-02-01  Antti Koivisto  <antti@apple.com>
874
875         StyleBench: Attribute selectors and other improvements
876         https://bugs.webkit.org/show_bug.cgi?id=182387
877
878         Reviewed by Joseph Pecoraro.
879
880         - Add some attributes to elements in all tests
881         - Add some attribute selectors to stylesheets in all tests
882         - Also add some * selectors to all stylesheets.
883         - Add attribute mutation step to all suites
884         - Make test steps do more mutations (25->100) and reduce the number of steps to keep testing time in check.
885           Too fast steps were running into timer resolution limits.
886
887         * StyleBench/resources/style-bench.js:
888         (defaultConfiguration):
889         (prototype.randomAttributeName):
890         (prototype.randomAttributeValue):
891         (prototype.randomAttributeSelector):
892         (prototype.makeCompoundSelector):
893         (prototype.makeElement):
894         (prototype.addClasses):
895         (prototype.removeClasses):
896         (prototype.mutateAttributes):
897         (prototype.async.runForever):
898         * StyleBench/resources/tests.js:
899         (makeSteps):
900         (makeSuite):
901
902 2018-02-01  Geoffrey Garen  <ggaren@apple.com>
903
904         Make MallocBench easier for non-WebKit engineers to run
905         https://bugs.webkit.org/show_bug.cgi?id=182415
906
907         Reviewed by Saam Barati.
908
909         * MallocBench/MallocBench.xcodeproj/project.pbxproj: Use c++14 so we
910         can make_unique.
911
912         Specify that we support all Darwin platforms so you can test them.
913
914         * MallocBench/run-malloc-benchmarks: Specify the path to MallocBench
915         and libmbmalloc explicitly, rather than computing them implicitly
916         using webkitdirs. Non-WebKit folks don't have the directory structure
917         required by webkitdirs.
918
919         Remove Linux-specific and cmake-specific behaviors because we only
920         needed them in the world of implicit path computation.
921
922 2018-01-31  Ryosuke Niwa  <rniwa@webkit.org>
923
924         Make run-perf-tests work with StyleBench and re-enable it
925         https://bugs.webkit.org/show_bug.cgi?id=182322
926
927         Reviewed by Antti Koivisto.
928
929         This patch updates the test harness to report new metrics of StyleBench.
930
931         Replaced the total time by the geometric mean of the time spent in each suite, and added scores
932         as a metric in addition to time. Also, updated the PerfTestRunner harness and the results template
933         to support "Score" metric with "pt" as its unit.
934
935         * Skipped: Unskipped the test.
936         * StyleBench/resources/benchmark-report.js:
937         (window.benchmarkClient.willStartFirstIteration..createTest): Added the unit as an optional argument
938         to report the score in addition to time. Also report the geomean of time instead of the total time.
939         (window.benchmarkClient.willStartFirstIteration): Report the geomean of time.
940         (window.benchmarkClient.didRunSuites): Record the entire measuredValues instead of just tests.
941         (window.benchmarkClient.didFinishLastIteration): Report the scores.
942         * resources/results-template.html: Added "Score" as a metric and "pt" as its unit.
943         * resources/runner.js:
944         (PerfTestRunner..finish): Ditto.
945
946 2018-01-30  Ryosuke Niwa  <rniwa@webkit.org>
947
948         StyleBench: Generate more mutation steps
949         https://bugs.webkit.org/show_bug.cgi?id=182291
950
951         Rubber-stamped by Antti Koivisto
952
953         Use zero-based index instead of one-based index.
954
955         * StyleBench/resources/tests.js:
956         (makeSteps):
957
958 2018-01-30  Antti Koivisto  <antti@apple.com>
959
960         StyleBench: Generate more mutation steps
961         https://bugs.webkit.org/show_bug.cgi?id=182291
962
963         Reviewed by Ryosuke Niwa.
964
965         The test should be doing multiple rounds of mutations in a single document to test what is supposed to test (like it did before r227756).
966         This also makes test results more stable and less dependent on possible first-time costs.
967
968         * StyleBench/resources/benchmark-runner.js:
969
970         Adjust correctionFactor to match the new steps count. With 1.5 Firefox is ~72rpm.
971
972         * StyleBench/resources/tests.js:
973         (makeSteps):
974
975         Generate 10 rounds of class/element mutation steps.
976         Give each generated step unique name so reporting works.
977         Make individual steps do fewer mutations.
978
979 2018-01-29  Antti Koivisto  <antti@apple.com>
980
981         StyleBench: Remove : from a test name
982         https://bugs.webkit.org/show_bug.cgi?id=182258
983
984         Reviewed by Ryosuke Niwa.
985
986         It breaks reporting.
987
988         * StyleBench/resources/style-bench.js:
989         (nthPseudoClassConfiguration):
990
991 2018-01-29  Ryosuke Niwa  <rniwa@webkit.org>
992
993         Temporarily skip StyleBench until webkit.org/b/182088 is fixed.
994
995         * Skipped:
996
997 2018-01-29  Ryosuke Niwa  <rniwa@webkit.org>
998
999         Make StyleBench compatible with run-benchmark and run-perf-tests
1000         https://bugs.webkit.org/show_bug.cgi?id=182262
1001
1002         Reviewed by Antti Koivisto.
1003
1004         Copied resource files referenced from Speedometer directory since run-benchmark needs to be able
1005         to checkout each benchmark separately.
1006
1007         Removed the code to create tests of the same name five times in makeSteps since this
1008         won't be compatible with either run-benchmark or run-perf-tests.
1009
1010         * StyleBench/index.html: Removed the code to show warnings for local files since run-benchmark
1011         doesn't use HTTP server in WebDriver mode.
1012         * StyleBench/resources/benchmark-report.js: Copied from resources/benchmark-report.js.
1013         * StyleBench/resources/benchmark-runner.js: Copied from resources/benchmark-runner.js.
1014         (BenchmarkRunner.prototype._finalize): Use the correction factor of 8 instead of 5 in StyleBench.
1015         * StyleBench/resources/gauge.png: Copied from resources/gauge.png.
1016         * StyleBench/resources/gauge@2x.png: Copied from resources/gauge@2x.png.
1017         * StyleBench/resources/main.css: Copied from resources/main.css.
1018         * StyleBench/resources/main.js: Copied from resources/main.js.
1019         * StyleBench/resources/tests.js:
1020         (makeSteps): Only make each test once.
1021
1022 2018-01-26  Chris Nardi  <cnardi@chromium.org>
1023
1024         Addressing post-review comments after r226614
1025         https://bugs.webkit.org/show_bug.cgi?id=182151
1026
1027         Reviewed by Myles C. Maxfield.
1028
1029         * StitchMarker/wtf/text/StringImpl.h:
1030         (WTF::isSpaceOrNewline):
1031         * StitchMarker/wtf/text/TextBreakIterator.cpp:
1032         (WTF::numCodeUnitsInGraphemeClusters):
1033         * StitchMarker/wtf/text/TextBreakIterator.h:
1034
1035 2018-01-22  Antti Koivisto  <antti@apple.com>
1036
1037         StyleBench: Separate test for :nth pseudo classes
1038         https://bugs.webkit.org/show_bug.cgi?id=181932
1039
1040         Reviewed by Sam Weinig.
1041
1042         Optimization strategies for nth are different from other structural pseudo classes (:first-child etc). Move them to a separate test.
1043
1044         * StyleBench/resources/style-bench.js:
1045         (structuralPseudoClassConfiguration):
1046         (nthPseudoClassConfiguration):
1047
1048             Add a new configuration.
1049
1050         (predefinedConfigurations):
1051         (pseudoClassConfiguration): Deleted.
1052
1053 2018-01-17  Ryosuke Niwa  <rniwa@webkit.org>
1054
1055         Temporarily skip Speedometer until we fix the metrics.
1056
1057         * Skipped:
1058
1059 2018-01-16  Alex Christensen  <achristensen@webkit.org>
1060
1061         Fix Mac CMake build after r222900
1062
1063         * MallocBench/MallocBench/CMakeLists.txt:
1064         The mbmalloc target doesn't exist if we're not in developer mode, so only use it if we are.
1065
1066 2018-01-09  Ryosuke Niwa  <rniwa@webkit.org>
1067
1068         Speedometer 2.0: Update the About page.
1069         https://bugs.webkit.org/show_bug.cgi?id=175918
1070
1071         Reviewed by Keith Miller.
1072
1073         Updated the about page for Speedometer 2.0.
1074
1075         * Speedometer/index.html:
1076
1077 == Rolled over to ChangeLog-2018-01-01 ==