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