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