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