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