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