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