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