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