[BigInt] Add ValueDiv into DFG
[WebKit-https.git] / PerformanceTests / ChangeLog
1 2018-12-13  Caio Lima  <ticaiolima@gmail.com>
2
3         [BigInt] Add ValueDiv into DFG
4         https://bugs.webkit.org/show_bug.cgi?id=186178
5
6         Reviewed by Yusuke Suzuki.
7
8         * BigIntBench/big-int-simple-div.js: Added.
9         * BigIntBench/value-div-type-propagation.js: Added.
10
11 2018-12-10  Caio Lima  <ticaiolima@gmail.com>
12
13         [BigInt] Add ValueMul into DFG
14         https://bugs.webkit.org/show_bug.cgi?id=186175
15
16         Reviewed by Yusuke Suzuki.
17
18         * BigIntBench/big-int-simple-mul.js: Added.
19         * BigIntBench/value-mul-type-propagation.js: Added.
20
21 2018-11-07  Caio Lima  <ticaiolima@gmail.com>
22
23         [BigInt] Add support to BigInt into ValueAdd
24         https://bugs.webkit.org/show_bug.cgi?id=186177
25
26         Reviewed by Keith Miller.
27
28         The idea of BigIntBench is to provide a set of microbenchmarks and
29         benchmarks to evaluate how fast BigInt computations are happening on
30         JSC implementation.
31
32         Now, we are adding microbenchmarks in this set,
33         but the plan is to move these tests to "JSTest/microbenchmarks" when
34         BigInt is enabled by default. After that, the focus of Bigint bench is
35         to provide a set of tests that represents real use cases of BigInt in
36         JS programs.
37
38         * BigIntBench/big-int-add-prediction-propagation.js: Added.
39         * BigIntBench/big-int-simple-add.js: Added.
40         * BigIntBench/big-int-simple-sub.js: Added.
41
42 2018-11-07  Tadeu Zagallo  <tzagallo@apple.com>
43
44         REGRESSION(r237547): Test failures on 32-bit JSC since the JIT was disabled
45         https://bugs.webkit.org/show_bug.cgi?id=191184
46
47         Reviewed by Saam Barati.
48
49         Skip test when the JIT is disabled, it takes too long to run on CLoop.
50
51         * JetStream/cdjs/main.js:
52
53 2018-11-05  Myles C. Maxfield  <mmaxfield@apple.com>
54
55         Cache glyph paths and share underline skipping code between all the ports
56         https://bugs.webkit.org/show_bug.cgi?id=191239
57
58         Reviewed by Alex Christensen.
59
60         Measures the performance of drawing a whole lot of underlines
61
62         * Layout/underline.html: Added.
63
64 2018-10-25  Saam Barati  <sbarati@apple.com>
65
66         Check in corresponding C code in JetStream 2
67         https://bugs.webkit.org/show_bug.cgi?id=190733
68
69         Rubber-stamped by Filip Pizlo.
70
71         * JetStream2/simple/float-mm.c: Added.
72         * JetStream2/wasm/HashSet.cpp: Added.
73         * JetStream2/wasm/gcc-loops.cpp: Added.
74         * JetStream2/wasm/quicksort.c: Added.
75         * JetStream2/wasm/TSF: Added.
76         * JetStream2/wasm/TSF/build.sh: Added.
77         * JetStream2/wasm/TSF/config.h: Added.
78         * JetStream2/wasm/TSF/gpc.h: Added.
79         * JetStream2/wasm/TSF/gpc_code_gen_util.c: Added.
80         * JetStream2/wasm/TSF/gpc_instruction.c: Added.
81         * JetStream2/wasm/TSF/gpc_instruction_dispatch.gen: Added.
82         * JetStream2/wasm/TSF/gpc_instruction_size.gen: Added.
83         * JetStream2/wasm/TSF/gpc_instruction_stack_effects.gen: Added.
84         * JetStream2/wasm/TSF/gpc_instruction_static_size.gen: Added.
85         * JetStream2/wasm/TSF/gpc_instruction_to_string.gen: Added.
86         * JetStream2/wasm/TSF/gpc_int_common.h: Added.
87         * JetStream2/wasm/TSF/gpc_intable.c: Added.
88         * JetStream2/wasm/TSF/gpc_internal.h: Added.
89         * JetStream2/wasm/TSF/gpc_interpreter.gen: Added.
90         * JetStream2/wasm/TSF/gpc_program.c: Added.
91         * JetStream2/wasm/TSF/gpc_proto.c: Added.
92         * JetStream2/wasm/TSF/gpc_stack_height.c: Added.
93         * JetStream2/wasm/TSF/gpc_threaded.c: Added.
94         * JetStream2/wasm/TSF/gpc_worklist.h: Added.
95         * JetStream2/wasm/TSF/tsf.h: Added.
96         * JetStream2/wasm/TSF/tsf_adaptive_reader.c: Added.
97         * JetStream2/wasm/TSF/tsf_asprintf.c: Added.
98         * JetStream2/wasm/TSF/tsf_atomics.h: Added.
99         * JetStream2/wasm/TSF/tsf_buf_reader.c: Added.
100         * JetStream2/wasm/TSF/tsf_buf_writer.c: Added.
101         * JetStream2/wasm/TSF/tsf_buffer.c: Added.
102         * JetStream2/wasm/TSF/tsf_build_defines.h: Added.
103         * JetStream2/wasm/TSF/tsf_config.h: Added.
104         * JetStream2/wasm/TSF/tsf_config_stub.h: Added.
105         * JetStream2/wasm/TSF/tsf_copier.c: Added.
106         * JetStream2/wasm/TSF/tsf_define_helpers.c: Added.
107         * JetStream2/wasm/TSF/tsf_define_helpers.h: Added.
108         * JetStream2/wasm/TSF/tsf_destructor.c: Added.
109         * JetStream2/wasm/TSF/tsf_error.c: Added.
110         * JetStream2/wasm/TSF/tsf_format.h: Added.
111         * JetStream2/wasm/TSF/tsf_fsdb.c: Added.
112         * JetStream2/wasm/TSF/tsf_fsdb_protocol.c: Added.
113         * JetStream2/wasm/TSF/tsf_fsdb_protocol.h: Added.
114         * JetStream2/wasm/TSF/tsf_generator.c: Added.
115         * JetStream2/wasm/TSF/tsf_gpc_code_gen.c: Added.
116         * JetStream2/wasm/TSF/tsf_indent.h: Added.
117         * JetStream2/wasm/TSF/tsf_internal.h: Added.
118         * JetStream2/wasm/TSF/tsf_internal_config.h: Added.
119         * JetStream2/wasm/TSF/tsf_internal_config_stub.h: Added.
120         * JetStream2/wasm/TSF/tsf_inttypes.h: Added.
121         * JetStream2/wasm/TSF/tsf_io.c: Added.
122         * JetStream2/wasm/TSF/tsf_io_utils.c: Added.
123         * JetStream2/wasm/TSF/tsf_ir.c: Added.
124         * JetStream2/wasm/TSF/tsf_ir.h: Added.
125         * JetStream2/wasm/TSF/tsf_ir_different.c: Added.
126         * JetStream2/wasm/TSF/tsf_ir_different.h: Added.
127         * JetStream2/wasm/TSF/tsf_ir_speed.c: Added.
128         * JetStream2/wasm/TSF/tsf_limits.c: Added.
129         * JetStream2/wasm/TSF/tsf_named_type.c: Added.
130         * JetStream2/wasm/TSF/tsf_native.c: Added.
131         * JetStream2/wasm/TSF/tsf_parser.c: Added.
132         * JetStream2/wasm/TSF/tsf_primitive.c: Added.
133         * JetStream2/wasm/TSF/tsf_ra_type_man.c: Added.
134         * JetStream2/wasm/TSF/tsf_reflect.c: Added.
135         * JetStream2/wasm/TSF/tsf_region.h: Added.
136         * JetStream2/wasm/TSF/tsf_serial_in_man.c: Added.
137         * JetStream2/wasm/TSF/tsf_serial_out_man.c: Added.
138         * JetStream2/wasm/TSF/tsf_serial_protocol.h: Added.
139         * JetStream2/wasm/TSF/tsf_sha1.c: Added.
140         * JetStream2/wasm/TSF/tsf_sha1.h: Added.
141         * JetStream2/wasm/TSF/tsf_sha1_writer.c: Added.
142         * JetStream2/wasm/TSF/tsf_sort.c: Added.
143         * JetStream2/wasm/TSF/tsf_st.c: Added.
144         * JetStream2/wasm/TSF/tsf_st.h: Added.
145         * JetStream2/wasm/TSF/tsf_st_typetable.c: Added.
146         * JetStream2/wasm/TSF/tsf_stream_file_input.c: Added.
147         * JetStream2/wasm/TSF/tsf_stream_file_output.c: Added.
148         * JetStream2/wasm/TSF/tsf_type.c: Added.
149         * JetStream2/wasm/TSF/tsf_type_in_map.c: Added.
150         * JetStream2/wasm/TSF/tsf_type_out_map.c: Added.
151         * JetStream2/wasm/TSF/tsf_type_table.c: Added.
152         * JetStream2/wasm/TSF/tsf_types.h: Added.
153         * JetStream2/wasm/TSF/tsf_util.h: Added.
154         * JetStream2/wasm/TSF/tsf_version.c: Added.
155         * JetStream2/wasm/TSF/tsf_zip_abstract.c: Added.
156         * JetStream2/wasm/TSF/tsf_zip_abstract.h: Added.
157         * JetStream2/wasm/TSF/tsf_zip_attr.c: Added.
158         * JetStream2/wasm/TSF/tsf_zip_reader.c: Added.
159         * JetStream2/wasm/TSF/tsf_zip_writer.c: Added.
160
161 2018-10-18  Saam Barati  <sbarati@apple.com>
162
163         Make JetStream 2
164         https://bugs.webkit.org/show_bug.cgi?id=187829
165
166         Rubber-stamped by Mark Lam.
167
168         This patch checks in the new JetStream 2 benchmark. JetStream 2 is
169         a new JavaScript and Web Assembly benchmark. JetStream 2's goal
170         is to measure the startup, worst case, and peak throughput performance
171         of the JavaScript engine. JetStream 2 incorporates these previous
172         benchmarks:
173         - JetStream
174         - ARES-6
175         - Kraken
176         - Web Tooling Benchmark
177         - WasmBench
178         - RexBench
179         
180         JetStream 2 also adds some new benchmarks:
181         - Two tests emphasizing web worker performance.
182         - One test emphasizing Promise, async iteration, and DataView performance.
183         - Two new code load tests.
184         - WSL: a test measuring all kinds of things, especially emphasizing exception performance.
185
186         * JetStream2: Added.
187
188 2018-10-02  Chris Dumez  <cdumez@apple.com>
189
190         Regression(r236613): Parser/html-parser.html performance test is failing
191         https://bugs.webkit.org/show_bug.cgi?id=190201
192
193         Unreviewed, apply the same fix as in r236699 to make sure the iframe is treated as
194         same origin, so that calls to document.open() / document.write() succeed.
195
196         * Parser/html-parser.html:
197
198 2018-10-01  Chris Dumez  <cdumez@apple.com>
199
200         Regression(r236613): Parser/HTML5-8266-ParseOnly.html performance tests no longer runs
201         https://bugs.webkit.org/show_bug.cgi?id=190174
202
203         Reviewed by Ryosuke Niwa.
204
205         Update iframe's sandbox to use 'allow-same-origin' so that the iframe is treated as same-origin and so that
206         the top frame can call document.open() / document.write() on the subframe. This test was also failing in
207         Firefox without this change.
208
209         * Parser/HTML5-8266-ParseOnly.html:
210
211 2018-08-27  Aditya Keerthi  <akeerthi@apple.com>
212
213         Consolidate ENABLE_INPUT_TYPE_COLOR and ENABLE_INPUT_TYPE_COLOR_POPOVER
214         https://bugs.webkit.org/show_bug.cgi?id=188931
215
216         Reviewed by Wenson Hsieh.
217
218         * StitchMarker/wtf/FeatureDefines.h: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER.
219
220 2018-08-23  Don Olmstead  <don.olmstead@sony.com>
221
222         [CMake] Have checks are not getting set inside CMake properly
223         https://bugs.webkit.org/show_bug.cgi?id=188901
224
225         Reviewed by Michael Catanzaro.
226
227         Add notification that MallocBench is disabled.
228
229         * CMakeLists.txt:
230
231 2018-08-23  Don Olmstead  <don.olmstead@sony.com>
232
233         [CMake] Add HAVE_MALLOC_TRIM definition
234         https://bugs.webkit.org/show_bug.cgi?id=188897
235
236         Reviewed by Konstantin Tokarev.
237
238         MallocBench should only be built on Apple platforms and platforms that
239         have malloc_trim.
240
241         * CMakeLists.txt:
242
243 2018-08-13  Jon Lee  <jonlee@apple.com>
244
245         Update MotionMark version number
246         https://bugs.webkit.org/show_bug.cgi?id=188535
247         <rdar://problem/43254078>
248
249         Reviewed by Said Abou-Hallawa.
250
251         * MotionMark/resources/strings.js: To 1.1.
252
253 2018-08-13  Jon Lee  <jonlee@apple.com>
254
255         [MotionMark] Update Multiply test
256         https://bugs.webkit.org/show_bug.cgi?id=188532
257         <rdar://problem/43252151>
258
259         Reviewed by Said Abou-Hallawa.
260
261         Update Multiply test to have a larger upper limit of number of particles. Cycle through three
262         different ways of hiding an element. Add new Multiple suite that isolates those components for
263         debugging purposes.
264
265         * MotionMark/resources/debug-runner/tests.js:
266         * MotionMark/tests/dom/multiply.html: Added.
267         * MotionMark/tests/dom/resources/multiply.js: Added.
268         * MotionMark/tests/master/resources/multiply.js:
269
270 2018-08-13  Jon Lee  <jonlee@apple.com>
271
272         [MotionMark] Update Leaves test
273         https://bugs.webkit.org/show_bug.cgi?id=188530
274         <rdar://problem/43251862>
275
276         Reviewed by Said Abou-Hallawa.
277
278         Update Leaves test to include opacity and scale. Add new Leaves suite that isolate those components
279         for debugging purposes.
280
281         * MotionMark/resources/debug-runner/tests.js:
282         * MotionMark/tests/dom/leaves.html:
283         * MotionMark/tests/dom/resources/leaves.js:
284         * MotionMark/tests/master/resources/leaves.js:
285
286 2018-08-10  Ben Richards  <benton_richards@apple.com>
287
288         Add ability to ignore process prewarming for launch time benchmark
289         https://bugs.webkit.org/show_bug.cgi?id=188462
290
291         Reviewed by Ryosuke Niwa.
292
293         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.
294
295         * LaunchTime/launch_time.py:
296         (DefaultLaunchTimeHandler):
297         (DefaultLaunchTimeHandler.on_receive_stop_time): Deleted.
298         (DefaultLaunchTimeHandler.on_receive_stop_signal):
299         (DefaultLaunchTimeHandler.do_HEAD):
300         (DefaultLaunchTimeHandler.do_GET):
301         (DefaultLaunchTimeHandler.do_POST):
302         (LaunchTimeBenchmark):
303         (LaunchTimeBenchmark._standard_deviation): Fixed divide by zero bug when '-n' is set to 1
304         (LaunchTimeBenchmark.open_tab): Added option to open a blank tab
305         (LaunchTimeBenchmark.run):
306         * LaunchTime/new_tab.py:
307         (NewTabBenchmark.initialize):
308         (NewTabBenchmark.run_iteration):
309         (NewTabBenchmark.will_parse_arguments):
310         (NewTabBenchmark.did_parse_arguments):
311         (NewTabBenchmark.ResponseHandler.Handler.get_test_page):
312         (NewTabBenchmark.ResponseHandler.Handler.on_receive_stop_time): Deleted.
313         (NewTabBenchmark.ResponseHandler.Handler.on_receive_stop_signal):
314         (NewTabBenchmark):
315         * LaunchTime/startup.py:
316         (StartupBenchmark.ResponseHandler.Handler.get_test_page):
317         (StartupBenchmark.ResponseHandler.Handler.on_receive_stop_time): Deleted.
318         (StartupBenchmark.ResponseHandler.Handler.on_receive_stop_signal):
319         (StartupBenchmark):
320
321 2018-08-10  Truitt Savell  <tsavell@apple.com>
322
323         Unreviewed, rolling out r234750.
324
325         Caused 185 perf test failures.
326
327         Reverted changeset:
328
329         "Add ability to ignore process prewarming for launch time
330         benchmark"
331         https://bugs.webkit.org/show_bug.cgi?id=188462
332         https://trac.webkit.org/changeset/234750
333
334 2018-08-09  Ben Richards  <benton_richards@apple.com>
335
336         Add ability to ignore process prewarming for launch time benchmark
337         https://bugs.webkit.org/show_bug.cgi?id=188462
338
339         Reviewed by Ryosuke Niwa.
340
341         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.
342
343         * LaunchTime/launch_time.py:
344         (DefaultLaunchTimeHandler):
345         (DefaultLaunchTimeHandler.on_receive_stop_time): Deleted.
346         (DefaultLaunchTimeHandler.on_receive_stop_signal):
347         (DefaultLaunchTimeHandler.do_HEAD):
348         (DefaultLaunchTimeHandler.do_GET):
349         (DefaultLaunchTimeHandler.do_POST):
350         (LaunchTimeBenchmark):
351         (LaunchTimeBenchmark._standard_deviation): Fixed divide by zero bug when '-n' is set to 1
352         (LaunchTimeBenchmark.open_tab): Added option to open a blank tab
353         (LaunchTimeBenchmark.run):
354         * LaunchTime/new_tab.py:
355         (NewTabBenchmark.initialize):
356         (NewTabBenchmark.run_iteration):
357         (NewTabBenchmark.will_parse_arguments):
358         (NewTabBenchmark.did_parse_arguments):
359         (NewTabBenchmark.ResponseHandler.Handler.get_test_page):
360         (NewTabBenchmark.ResponseHandler.Handler.on_receive_stop_time): Deleted.
361         (NewTabBenchmark.ResponseHandler.Handler.on_receive_stop_signal):
362         (NewTabBenchmark):
363         * LaunchTime/startup.py:
364         (StartupBenchmark.ResponseHandler.Handler.get_test_page):
365         (StartupBenchmark.ResponseHandler.Handler.on_receive_stop_time): Deleted.
366         (StartupBenchmark.ResponseHandler.Handler.on_receive_stop_signal):
367         (StartupBenchmark):
368
369 2018-07-26  Andy VanWagoner  <andy@vanwagoner.family>
370
371         [INTL] Remove INTL sub-feature compile flags
372         https://bugs.webkit.org/show_bug.cgi?id=188081
373
374         Reviewed by Michael Catanzaro.
375
376         Removed old and unused i18n flag.
377
378         * StitchMarker/wtf/FeatureDefines.h:
379
380 2018-07-20  David Fenton  <david_fenton@apple.com>
381
382         REGRESSION (234006) ERROR: Blocked access to external URL http://code.jquery.com/jquery-1.9.1.min.js
383         https://bugs.webkit.org/show_bug.cgi?id=187858
384
385         Unreviewed test gardening, skipped test.
386
387         * Skipped: LaunchTime
388
389 2018-07-19  Ben Richards  <benton_richards@apple.com>
390
391         Add benchmark for WebKit process launch times
392         https://bugs.webkit.org/show_bug.cgi?id=186414
393
394         Reviewed by Ryosuke Niwa.
395
396         Added two benchmarks, one for measuring browser new tab launch time and one for browser startup time.
397
398         * LaunchTime/.gitignore: Added.
399         * LaunchTime/feedback_client.html: Added.
400         Displays benchmark progress in browser
401         * LaunchTime/feedback_server.py: Added.
402         (FeedbackServer): Sends data to feedback_client via websocket
403         (FeedbackServer.__init__):
404         (FeedbackServer._create_app):
405         (FeedbackServer._start_server):
406         (FeedbackServer._send_all_messages):
407         (FeedbackServer.start):
408         (FeedbackServer.stop):
409         (FeedbackServer.send_message): Send a message to the feedback_client
410         (FeedbackServer.wait_until_client_has_loaded): Wait until the feedback_client has opened a websocket connection to the feedback_server
411         (FeedbackServer.MainHandler): Handler factory to create handler that serves feedback_client.html
412         (FeedbackServer.MainHandler.Handler):
413         (FeedbackServer.MainHandler.Handler.get):
414         (FeedbackServer.WSHandler): Handler factory to create handler that sends data to feedback client
415         (FeedbackServer.WSHandler.Handler):
416         (FeedbackServer.WSHandler.Handler.open): On websocket connection opened
417         (FeedbackServer.WSHandler.Handler.on_close): On websocket connection closed
418         * LaunchTime/launch_time.py: Added.
419         (DefaultLaunchTimeHandler): Abstract HTTP request handler for launch time benchmarks
420         (DefaultLaunchTimeHandler.get_test_page): Default test page to be overridden by benchmarks
421         (DefaultLaunchTimeHandler.get_blank_page):
422         (DefaultLaunchTimeHandler.on_receive_stop_time):
423         (DefaultLaunchTimeHandler.do_HEAD):
424         (DefaultLaunchTimeHandler.do_GET):
425         (DefaultLaunchTimeHandler.do_POST):
426         (DefaultLaunchTimeHandler.log_message): Suppresses HTTP logs from SimpleHTTPRequestHandler
427         (LaunchTimeBenchmark): Abstract class which launch time benchmarks inherit from and override methods desired to customize
428         (LaunchTimeBenchmark.__init__):
429         (LaunchTimeBenchmark._parse_browser_bundle_path): Parser for bundle path option
430         (LaunchTimeBenchmark._parse_args):
431         (LaunchTimeBenchmark._run_server): Target function for main server thread
432         (LaunchTimeBenchmark._setup_servers):
433         (LaunchTimeBenchmark._clean_up):
434         (LaunchTimeBenchmark._exit_due_to_exception):
435         (LaunchTimeBenchmark._geometric_mean):
436         (LaunchTimeBenchmark._standard_deviation):
437         (LaunchTimeBenchmark._compute_results): Returns mean and std dev of list of results and pretty prints if should_print=True is specified
438         (LaunchTimeBenchmark._wait_times): Mimic numpy.linspace
439         (LaunchTimeBenchmark.open_tab): Open a browser tab with the html given by self.response_handler.get_test_page
440         (LaunchTimeBenchmark.launch_browser): Open a broser to either the feedback client (if option is set) or a blank page
441         (LaunchTimeBenchmark.quit_browser):
442         (LaunchTimeBenchmark.quit_browser.quit_app):
443         (LaunchTimeBenchmark.quit_browser.is_app_closed):
444         (LaunchTimeBenchmark.close_tab):
445         (LaunchTimeBenchmark.wait):
446         (LaunchTimeBenchmark.log): Print to console and send to feedback client if --feedback-in-browser flag is used
447         (LaunchTimeBenchmark.log_verbose): Only logs if --verbose flag is used
448         (LaunchTimeBenchmark.run):
449         (LaunchTimeBenchmark.group_init): Initialization done before each round of iterations
450         (LaunchTimeBenchmark.run_iteration):
451         (LaunchTimeBenchmark.initialize): Convenience method to be overriden by subclasses which is called at the end of __init__
452         (LaunchTimeBenchmark.will_parse_arguments): Called before argparse.parse_args to let subclasses add new command line arguments
453         (LaunchTimeBenchmark.did_parse_arguments): Called after argparse.parse_args to let subclass initialize based on command line arguments
454         * LaunchTime/new_tab.py: Added
455         (NewTabBenchmark):
456         (NewTabBenchmark._parse_wait_time): Parser for wait time option
457         (NewTabBenchmark.initialize):
458         (NewTabBenchmark.run_iteration):
459         (NewTabBenchmark.group_init):
460         (NewTabBenchmark.will_parse_arguments):
461         (NewTabBenchmark.did_parse_arguments):
462         (NewTabBenchmark.ResponseHandler):
463         (NewTabBenchmark.ResponseHandler.Handler):
464         (NewTabBenchmark.ResponseHandler.Handler.get_test_page):
465         * LaunchTime/startup.py: Added
466         (StartupBenchmark): This benchmark measures browser startup time and initial page load time
467         (StartupBenchmark.initialize):
468         (StartupBenchmark.run_iteration):
469         (StartupBenchmark.ResponseHandler):
470         (StartupBenchmark.ResponseHandler.Handler):
471         (StartupBenchmark.ResponseHandler.Handler.get_test_page):
472         * LaunchTime/thirdparty/__init__.py: Added.
473         (AutoinstallImportHook): Auto installs tornado package for feedback server
474         (AutoinstallImportHook.__init__):
475         (AutoinstallImportHook._ensure_autoinstalled_dir_is_in_sys_path):
476         (AutoinstallImportHook.find_module):
477         (AutoinstallImportHook._install_tornado):
478         (AutoinstallImportHook.greater_than_equal_to_version):
479         (AutoinstallImportHook._install):
480         (AutoinstallImportHook.get_latest_pypi_url):
481         (AutoinstallImportHook.install_binary):
482         (autoinstall_everything):
483         (get_os_info):
484
485 2018-06-25  Jon Lee  <jonlee@apple.com>
486
487         [MotionMark] Add support for version numbers
488         https://bugs.webkit.org/show_bug.cgi?id=186479
489
490         Reviewed by Said Abou-Hallawa.
491
492         Add support for displaying the version number as well as including it in the JSON results.
493
494         When loading the front page, script replaces any element with classname version with the
495         version number of the benchmark, which is stored in Strings.version.
496
497         The JSON structure for the results includes a new version property:
498             {
499               "version": "1.0",
500               "options": { ... },
501               "data": [ ... ]
502             }
503
504         When dragging a results file, the version listed will come from the JSON file. Older
505         results will not have had the version property, in which case it will default to "1.0".
506
507         * MotionMark/index.html: Update title to some other default. Script will update it.
508         Include the version number in the logo title.
509         * MotionMark/developer.html: Ditto.
510         * MotionMark/about.html: Ditto.
511
512         * MotionMark/resources/runner/motionmark.js:
513         (ResultsDashboard): Update constructor to include version. This is used when serializing
514         results out to JSON, and displaying the results panel in developer mode.
515         (ResultsDashboard._processData): When running the benchmark, include benchmark version string
516         in the results object.
517         (ResultsDashboard.version):
518         (window.benchmarkRunnerClient.willStartFirstIteration): When running the benchmark, pass the
519         benchmark version string to the dashboard, which holds the results.
520         (window.sectionsManager.setSectionVersion): Helper function to update the element in the
521         section with the class name version.
522         (window.benchmarkController.initialize): Populate all DOM elements with class name "version"
523         with the version string. Update the page title.
524         (window.benchmarkController.showResults): When showing results, update the version string
525         based on what is included in the JSON results, which would be the same as the benchmark version.
526         * MotionMark/resources/runner/motionmark.css: Include missing copyright. Wrap the SVG logo
527         in a div and include the version string.
528         * MotionMark/resources/strings.js: Add strings for the page title template, and the version.
529
530         * MotionMark/resources/debug-runner/motionmark.css:
531         * MotionMark/resources/debug-runner/motionmark.js:
532         (window.benchmarkRunnerClient.willStartFirstIteration): When running the benchmark, pass the
533         benchmark version string to the dashboard, which holds the results.
534         (window.benchmarkController.initialize): Populate all DOM elements with class name "version"
535         with the version string. Update the page title. When dragging in JSON results, look for
536         version to pass to the dashboard. If it doesn't exist, default to "1.0".
537         (window.benchmarkController.showResults): When showing results, update the version string
538         based on what is included in the JSON results, instead of the current benchmark version.
539         * MotionMark/resources/debug-runner/tests.js: Update page title template.
540
541 2018-06-08  Jon Lee  <jonlee@apple.com>
542
543         [MotionMark] Rename Suits test files
544         https://bugs.webkit.org/show_bug.cgi?id=186447
545
546         Reviewed by Said Abou-Hallawa.
547
548         * MotionMark/resources/runner/tests.js:
549         * MotionMark/tests/master/resources/suits.js: Renamed from PerformanceTests/MotionMark/tests/master/resources/svg-particles.js.
550         * MotionMark/tests/master/suits.html: Renamed from PerformanceTests/MotionMark/tests/master/svg-particles.html.
551         * MotionMark/tests/svg/suits.html:
552
553 2018-06-08  Jon Lee  <jonlee@apple.com>
554
555         Add sub-tests based on Suits
556         https://bugs.webkit.org/show_bug.cgi?id=186260
557
558         Reviewed by Said Abou-Hallawa.
559
560         Add a new developer Suits suite with sub-tests that isolate parts of each particle.
561         The sub-tests are:
562             - Particles using only clip paths
563             - Particles using only shapes
564             - Particles that have no gradients
565             - Particles that have no rotation
566             - Particles that do not move around at all (but all of the physics calculations are
567             still performed)
568
569         * MotionMark/resources/debug-runner/tests.js:
570         * MotionMark/tests/master/resources/svg-particles.js: Rename the stage, particle, and
571         benchmark to "Suits" from "SVG". Change SuitsParticle so that we guarantee 50% clip and
572         shape paths rather than relying on random chance. Wrap a check around creation of the
573         gradient element, and use a simple fill color when we aren't using a gradient.
574         * MotionMark/tests/svg/suits.html: Added.
575         * MotionMark/tests/svg/suits.js: Added.
576         Look for the query string and set the particle based on what is selected.
577
578 2018-06-06  Jon Lee  <jonlee@apple.com>
579
580         Allow the ramp controller to run tests that take less time than the initial ramp-up phase
581         https://bugs.webkit.org/show_bug.cgi?id=186257
582
583         Reviewed by Said Abou-Hallawa.
584
585         * MotionMark/tests/resources/main.js: Extend the desired end timestamp when ramp-up occurs.
586         Previously the controller assumed that the duration of the test was always longer than the
587         time it took to figure out the order of magnitude of particles to render. When that range
588         is determined, the end timestamp is then extended. If the duration is too short, the controller
589         would throw an exception. The fix is to continue extending the timestamp every time the order of
590         magnitude tiers up.
591
592         In general testing with really short durations isn't practical, but sometimes it is
593         desired for debugging.
594
595         To avoid confusion of the private variables, I renamed Benchmark._startTimestamp to
596         Benchmark._benchmarkStartTimestamp, to disambiguate from Controller._startTimestamp.
597         Benchmark._startTimestamp is set once and never changed, after the initial 100ms warm-up.
598         Controller._startTimestamp is initialized to 0 (which means "not initialized"), and then after
599         the warm up is complete, set in Controller.start() to the same wall clock timestamp, and never
600         changed afterwards.
601
602 2018-06-06  Jon Lee  <jonlee@apple.com>
603
604         Remove unneeded data processing in MotionMark
605         https://bugs.webkit.org/show_bug.cgi?id=186256
606
607         Reviewed by Said Abou-Hallawa.
608
609         Remove calculation of average frame rate based on multiple samples at a given complexity.
610         It is not used in the calculation of the score, and is just extra work to do at the end
611         of a test.
612
613         * MotionMark/developer.html: Remove options to show average data and regression based on
614         that data.
615         * MotionMark/resources/debug-runner/graph.js: Remove data. Update the time graph that
616         shows the relationship between the break point in the regression against the complexity
617         graph.
618         * MotionMark/resources/debug-runner/motionmark.css: Make the confidence intervals easier
619         to see.
620         * MotionMark/resources/runner/motionmark.js: Simplify score calculation now that we are
621         only calculating regressions on the raw data. We were calculating it based on the averages,
622         but that was just for analysis, and not used in the actual score. Get rid of the
623         |complexitySamples| local variable.
624         * MotionMark/resources/strings.js: Remove unneeded string constant.
625         * MotionMark/tests/resources/main.js:
626         (processSamples): Refactor so that more of it can be shared between Controller and
627         RampController. It also avoids processing the raw samples (controllerSamples) twice for
628         the ramp controller.
629         (_processComplexitySamples): Remove logic to calculate averages based on complexity.
630         (_processMarks): Split this out from the old processSamples.
631         (_processControllerSamples): Split this out from the old processSamples.
632
633 2018-06-06  Jon Lee  <jonlee@apple.com>
634
635         Strip out more characters when creating permalinks
636         https://bugs.webkit.org/show_bug.cgi?id=186259
637
638         Reviewed by Said Abou-Hallawa.
639
640         Tests and suites may have names that make permalinks to the tests less readable when
641         shared. Expand the set of characters that are stripped out of the names.
642
643         * MotionMark/resources/debug-runner/motionmark.js: Refactor to call
644         stripUnwantedCharactersForURL. For existing links, decode the suite and test names.
645         * MotionMark/resources/extensions.js:
646         (Utilities.stripUnwantedCharactersForURL): Rename from stripNonASCIICharacters.
647         Remove any non-alphanumeric character.
648
649 2018-06-04  Jon Lee  <jonlee@apple.com>
650
651         Remove unnecessary MotionMark controllers
652         https://bugs.webkit.org/show_bug.cgi?id=186255
653
654         Reviewed by Said Abou-Hallawa.
655
656         Get rid of the ramp30 and the fixed-with-a-step controllers, which aren't used for testing
657         or debugging.
658
659         * MotionMark/developer.html: Move the "ramp" option as first, since that is the default
660         controller for the benchmark.
661         * MotionMark/resources/debug-runner/motionmark.js:
662         * MotionMark/resources/runner/motionmark.js: Added missing copyright notice.
663         * MotionMark/tests/resources/main.js:
664
665 2018-05-25  Myles C. Maxfield  <mmaxfield@apple.com>
666
667         Improve the performance of Font::canRenderCombiningCharacterSequence()
668         https://bugs.webkit.org/show_bug.cgi?id=185933
669
670         Reviewed by Ryosuke Niwa.
671
672         * Layout/ComplexLongUnique.html: Added.
673
674 2018-05-25  Saam Barati  <sbarati@apple.com>
675
676         Have a memory test where we can validate JSCs mini memory mode
677         https://bugs.webkit.org/show_bug.cgi?id=185932
678
679         Reviewed by Mark Lam.
680
681         We add a directory here with the contents of the testmem benchmark.
682         To run it, use `Tools/Scripts/run-testmem`. To add new tests in the future,
683         you just need to add JS files to this directory.
684
685         * testmem: Added.
686         * testmem/air.js: Added.
687         * testmem/base64.js: Added.
688         * testmem/basic.js: Added.
689         * testmem/box2d.js: Added.
690         * testmem/crypto-md5.js: Added.
691         * testmem/date-format-tofte.js: Added.
692         * testmem/earley-boyer.js: Added.
693         * testmem/hash-map.js: Added.
694         * testmem/regex-dna.js: Added.
695         * testmem/splay.js: Added.
696         * testmem/tagcloud.js: Added.
697
698 2018-05-22  Ryan Haddad  <ryanhaddad@apple.com>
699
700         Unreviewed, rolling out r232052.
701
702         Breaks internal builds.
703
704         Reverted changeset:
705
706         "Use more C++17"
707         https://bugs.webkit.org/show_bug.cgi?id=185176
708         https://trac.webkit.org/changeset/232052
709
710 2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
711
712         Use more C++17
713         https://bugs.webkit.org/show_bug.cgi?id=185176
714
715         Reviewed by JF Bastien.
716
717         * MallocBench/MallocBench.xcodeproj/project.pbxproj:
718         * MediaTime/Configurations/Base.xcconfig:
719         * MediaTime/MediaTime.xcodeproj/project.pbxproj:
720
721 2018-04-30  Myles C. Maxfield  <mmaxfield@apple.com>
722
723         Improve the performance of FontCascadeDescription's effectiveFamilies
724         https://bugs.webkit.org/show_bug.cgi?id=184720
725
726         Reviewed by Simon Fraser.
727
728         This performance test calls SystemFontDatabase::systemFontCascadeList() around 2,000,000 times (before
729         this patch is applied), which is roughly equivalent to the page we found the performance problem on.
730         The calling pattern is roughly equivalent in this test.
731
732         * Layout/system-ui.html: Added.
733
734 2018-03-08  Antti Koivisto  <antti@apple.com>
735
736         Update StyleBench version number in page title to 0.3
737
738         * StyleBench/index.html:
739
740         There has been a bunch of changes, most notably the addition of attribute selector test step.
741
742 2018-02-16  Dean Jackson  <dino@apple.com>
743
744         Use OPENGL macros to be more clear about which OpenGL/ES WebGL uses on Cocoa
745         https://bugs.webkit.org/show_bug.cgi?id=182894
746
747         Reviewed by Tim Horton.
748
749         Rename OPENGL_ES_2 to OPENGL_ES.
750
751         * StitchMarker/wtf/Platform.h:
752
753 2018-02-09  Ryosuke Niwa  <rniwa@webkit.org>
754
755         Make run-perf-tests work with Speedometer 2.0 and re-enable the test
756         https://bugs.webkit.org/show_bug.cgi?id=182088
757
758         Reviewed by Antti Koivisto.
759
760         This patch updates the test harness to report new metrics of Speedometer 2.0.
761
762         Replaced the total time by the geometric mean of the time spent in each suite, and added scores
763         as a metric in addition to time. Also, updated the PerfTestRunner harness and the results template
764         to support "Score" metric with "pt" as its unit.
765
766         * Skipped: Unskipped the test.
767         * Speedometer/resources/benchmark-report.js:
768         (window.benchmarkClient.willStartFirstIteration..createTest): Added the unit as an optional argument
769         to report the score in addition to time. Also report the geomean of time instead of the total time.
770         (window.benchmarkClient.willStartFirstIteration): Report the geomean of time.
771         (window.benchmarkClient.didRunSuites): Record the entire measuredValues instead of just tests.
772         (window.benchmarkClient.didFinishLastIteration): Report the scores.
773
774 2018-02-09  Ross Kirsling  <ross.kirsling@sony.com>
775
776         Use REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR on any non-Windows port.
777         https://bugs.webkit.org/show_bug.cgi?id=182623
778
779         Reviewed by Alex Christensen.
780
781         * StitchMarker/wtf/Platform.h:
782         Simplify #if.
783
784 2018-02-01  Antti Koivisto  <antti@apple.com>
785
786         StyleBench: Attribute selectors and other improvements
787         https://bugs.webkit.org/show_bug.cgi?id=182387
788
789         Reviewed by Joseph Pecoraro.
790
791         - Add some attributes to elements in all tests
792         - Add some attribute selectors to stylesheets in all tests
793         - Also add some * selectors to all stylesheets.
794         - Add attribute mutation step to all suites
795         - Make test steps do more mutations (25->100) and reduce the number of steps to keep testing time in check.
796           Too fast steps were running into timer resolution limits.
797
798         * StyleBench/resources/style-bench.js:
799         (defaultConfiguration):
800         (prototype.randomAttributeName):
801         (prototype.randomAttributeValue):
802         (prototype.randomAttributeSelector):
803         (prototype.makeCompoundSelector):
804         (prototype.makeElement):
805         (prototype.addClasses):
806         (prototype.removeClasses):
807         (prototype.mutateAttributes):
808         (prototype.async.runForever):
809         * StyleBench/resources/tests.js:
810         (makeSteps):
811         (makeSuite):
812
813 2018-02-01  Geoffrey Garen  <ggaren@apple.com>
814
815         Make MallocBench easier for non-WebKit engineers to run
816         https://bugs.webkit.org/show_bug.cgi?id=182415
817
818         Reviewed by Saam Barati.
819
820         * MallocBench/MallocBench.xcodeproj/project.pbxproj: Use c++14 so we
821         can make_unique.
822
823         Specify that we support all Darwin platforms so you can test them.
824
825         * MallocBench/run-malloc-benchmarks: Specify the path to MallocBench
826         and libmbmalloc explicitly, rather than computing them implicitly
827         using webkitdirs. Non-WebKit folks don't have the directory structure
828         required by webkitdirs.
829
830         Remove Linux-specific and cmake-specific behaviors because we only
831         needed them in the world of implicit path computation.
832
833 2018-01-31  Ryosuke Niwa  <rniwa@webkit.org>
834
835         Make run-perf-tests work with StyleBench and re-enable it
836         https://bugs.webkit.org/show_bug.cgi?id=182322
837
838         Reviewed by Antti Koivisto.
839
840         This patch updates the test harness to report new metrics of StyleBench.
841
842         Replaced the total time by the geometric mean of the time spent in each suite, and added scores
843         as a metric in addition to time. Also, updated the PerfTestRunner harness and the results template
844         to support "Score" metric with "pt" as its unit.
845
846         * Skipped: Unskipped the test.
847         * StyleBench/resources/benchmark-report.js:
848         (window.benchmarkClient.willStartFirstIteration..createTest): Added the unit as an optional argument
849         to report the score in addition to time. Also report the geomean of time instead of the total time.
850         (window.benchmarkClient.willStartFirstIteration): Report the geomean of time.
851         (window.benchmarkClient.didRunSuites): Record the entire measuredValues instead of just tests.
852         (window.benchmarkClient.didFinishLastIteration): Report the scores.
853         * resources/results-template.html: Added "Score" as a metric and "pt" as its unit.
854         * resources/runner.js:
855         (PerfTestRunner..finish): Ditto.
856
857 2018-01-30  Ryosuke Niwa  <rniwa@webkit.org>
858
859         StyleBench: Generate more mutation steps
860         https://bugs.webkit.org/show_bug.cgi?id=182291
861
862         Rubber-stamped by Antti Koivisto
863
864         Use zero-based index instead of one-based index.
865
866         * StyleBench/resources/tests.js:
867         (makeSteps):
868
869 2018-01-30  Antti Koivisto  <antti@apple.com>
870
871         StyleBench: Generate more mutation steps
872         https://bugs.webkit.org/show_bug.cgi?id=182291
873
874         Reviewed by Ryosuke Niwa.
875
876         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).
877         This also makes test results more stable and less dependent on possible first-time costs.
878
879         * StyleBench/resources/benchmark-runner.js:
880
881         Adjust correctionFactor to match the new steps count. With 1.5 Firefox is ~72rpm.
882
883         * StyleBench/resources/tests.js:
884         (makeSteps):
885
886         Generate 10 rounds of class/element mutation steps.
887         Give each generated step unique name so reporting works.
888         Make individual steps do fewer mutations.
889
890 2018-01-29  Antti Koivisto  <antti@apple.com>
891
892         StyleBench: Remove : from a test name
893         https://bugs.webkit.org/show_bug.cgi?id=182258
894
895         Reviewed by Ryosuke Niwa.
896
897         It breaks reporting.
898
899         * StyleBench/resources/style-bench.js:
900         (nthPseudoClassConfiguration):
901
902 2018-01-29  Ryosuke Niwa  <rniwa@webkit.org>
903
904         Temporarily skip StyleBench until webkit.org/b/182088 is fixed.
905
906         * Skipped:
907
908 2018-01-29  Ryosuke Niwa  <rniwa@webkit.org>
909
910         Make StyleBench compatible with run-benchmark and run-perf-tests
911         https://bugs.webkit.org/show_bug.cgi?id=182262
912
913         Reviewed by Antti Koivisto.
914
915         Copied resource files referenced from Speedometer directory since run-benchmark needs to be able
916         to checkout each benchmark separately.
917
918         Removed the code to create tests of the same name five times in makeSteps since this
919         won't be compatible with either run-benchmark or run-perf-tests.
920
921         * StyleBench/index.html: Removed the code to show warnings for local files since run-benchmark
922         doesn't use HTTP server in WebDriver mode.
923         * StyleBench/resources/benchmark-report.js: Copied from resources/benchmark-report.js.
924         * StyleBench/resources/benchmark-runner.js: Copied from resources/benchmark-runner.js.
925         (BenchmarkRunner.prototype._finalize): Use the correction factor of 8 instead of 5 in StyleBench.
926         * StyleBench/resources/gauge.png: Copied from resources/gauge.png.
927         * StyleBench/resources/gauge@2x.png: Copied from resources/gauge@2x.png.
928         * StyleBench/resources/main.css: Copied from resources/main.css.
929         * StyleBench/resources/main.js: Copied from resources/main.js.
930         * StyleBench/resources/tests.js:
931         (makeSteps): Only make each test once.
932
933 2018-01-26  Chris Nardi  <cnardi@chromium.org>
934
935         Addressing post-review comments after r226614
936         https://bugs.webkit.org/show_bug.cgi?id=182151
937
938         Reviewed by Myles C. Maxfield.
939
940         * StitchMarker/wtf/text/StringImpl.h:
941         (WTF::isSpaceOrNewline):
942         * StitchMarker/wtf/text/TextBreakIterator.cpp:
943         (WTF::numCodeUnitsInGraphemeClusters):
944         * StitchMarker/wtf/text/TextBreakIterator.h:
945
946 2018-01-22  Antti Koivisto  <antti@apple.com>
947
948         StyleBench: Separate test for :nth pseudo classes
949         https://bugs.webkit.org/show_bug.cgi?id=181932
950
951         Reviewed by Sam Weinig.
952
953         Optimization strategies for nth are different from other structural pseudo classes (:first-child etc). Move them to a separate test.
954
955         * StyleBench/resources/style-bench.js:
956         (structuralPseudoClassConfiguration):
957         (nthPseudoClassConfiguration):
958
959             Add a new configuration.
960
961         (predefinedConfigurations):
962         (pseudoClassConfiguration): Deleted.
963
964 2018-01-17  Ryosuke Niwa  <rniwa@webkit.org>
965
966         Temporarily skip Speedometer until we fix the metrics.
967
968         * Skipped:
969
970 2018-01-16  Alex Christensen  <achristensen@webkit.org>
971
972         Fix Mac CMake build after r222900
973
974         * MallocBench/MallocBench/CMakeLists.txt:
975         The mbmalloc target doesn't exist if we're not in developer mode, so only use it if we are.
976
977 2018-01-09  Ryosuke Niwa  <rniwa@webkit.org>
978
979         Speedometer 2.0: Update the About page.
980         https://bugs.webkit.org/show_bug.cgi?id=175918
981
982         Reviewed by Keith Miller.
983
984         Updated the about page for Speedometer 2.0.
985
986         * Speedometer/index.html:
987
988 == Rolled over to ChangeLog-2018-01-01 ==