NEW 155398
[JSC] Improve Load/Store on x86
https://bugs.webkit.org/show_bug.cgi?id=155398
Summary [JSC] Improve Load/Store on x86
Benjamin Poulain
Reported 2016-03-12 13:35:48 PST
[JSC] Improve Load/Store on x86
Attachments
Patch (96.76 KB, patch)
2016-03-12 13:52 PST, Benjamin Poulain
no flags
Archive of layout-test-results from ews113 for mac-yosemite (854.50 KB, application/zip)
2016-03-12 14:53 PST, Build Bot
no flags
Patch (97.69 KB, patch)
2016-03-12 18:48 PST, Benjamin Poulain
beidson: review-
Benjamin Poulain
Comment 1 2016-03-12 13:52:03 PST
Build Bot
Comment 2 2016-03-12 14:53:36 PST
Comment on attachment 273848 [details] Patch Attachment 273848 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/968037 New failing tests: js/function-apply.html
Build Bot
Comment 3 2016-03-12 14:53:39 PST
Created attachment 273856 [details] Archive of layout-test-results from ews113 for mac-yosemite The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews113 Port: mac-yosemite Platform: Mac OS X 10.10.5
Benjamin Poulain
Comment 4 2016-03-12 15:30:03 PST
The Debug EWS looks unrelated with this, it fails on other patches too.
Benjamin Poulain
Comment 5 2016-03-12 17:12:38 PST
Conf#1 Conf#2 SunSpider: 3d-cube 4.7766+-0.0347 4.7345+-0.0295 3d-morph 5.2675+-0.0900 5.2486+-0.0778 3d-raytrace 5.7100+-0.1017 5.6870+-0.1075 access-binary-trees 2.1951+-0.0615 ? 2.2091+-0.0945 ? access-fannkuch 6.1734+-0.0884 6.1496+-0.0717 access-nbody 2.7012+-0.0615 ? 2.7918+-0.2012 ? might be 1.0335x slower access-nsieve 3.0883+-0.0575 3.0772+-0.0423 bitops-3bit-bits-in-byte 1.2007+-0.0296 1.1819+-0.0076 might be 1.0159x faster bitops-bits-in-byte 2.8292+-0.0974 2.8025+-0.0417 bitops-bitwise-and 2.0483+-0.0289 2.0394+-0.0222 bitops-nsieve-bits 3.1962+-0.0623 3.1880+-0.0407 controlflow-recursive 2.4214+-0.1016 2.4059+-0.0688 crypto-aes 4.1352+-0.0620 4.0947+-0.0360 crypto-md5 2.6429+-0.0764 2.5949+-0.0141 might be 1.0185x faster crypto-sha1 2.4253+-0.1075 ? 2.4282+-0.0992 ? date-format-tofte 6.9134+-0.2577 ? 6.9348+-0.1598 ? date-format-xparb 5.0121+-0.2097 4.8990+-0.0741 might be 1.0231x faster math-cordic 2.8951+-0.0321 ? 2.9458+-0.0846 ? might be 1.0175x slower math-partial-sums 4.8905+-0.0621 ? 4.8915+-0.0682 ? math-spectral-norm 2.1143+-0.0958 2.0384+-0.0122 might be 1.0372x faster regexp-dna 6.1610+-0.3340 ? 6.3693+-0.3272 ? might be 1.0338x slower string-base64 4.5517+-0.0676 ? 4.6689+-0.1511 ? might be 1.0258x slower string-fasta 5.9588+-0.1037 5.8691+-0.0390 might be 1.0153x faster string-tagcloud 8.2073+-0.1418 ? 8.3241+-0.2938 ? might be 1.0142x slower string-unpack-code 19.1877+-0.3676 ? 19.3740+-0.5792 ? string-validate-input 4.2840+-0.0967 ? 4.4523+-0.2025 ? might be 1.0393x slower <arithmetic> 4.6533+-0.0253 ? 4.6693+-0.0319 ? might be 1.0034x slower Conf#1 Conf#2 Octane: encrypt 0.15919+-0.00115 ? 0.16093+-0.00099 ? might be 1.0109x slower decrypt 2.91407+-0.02932 2.88448+-0.00882 might be 1.0103x faster deltablue x2 0.13820+-0.00180 ? 0.13980+-0.00311 ? might be 1.0116x slower earley 0.28721+-0.00174 ? 0.29029+-0.00177 ? might be 1.0107x slower boyer 4.99673+-0.06845 4.93729+-0.08567 might be 1.0120x faster navier-stokes x2 4.96490+-0.02022 4.96251+-0.01438 raytrace x2 0.89637+-0.00528 0.89526+-0.00468 richards x2 0.08263+-0.00049 0.08263+-0.00067 splay x2 0.34939+-0.00196 0.34833+-0.00173 regexp x2 20.22800+-0.16502 ^ 19.71143+-0.06234 ^ definitely 1.0262x faster pdfjs x2 39.19994+-0.37001 39.02864+-0.22619 mandreel x2 42.51677+-0.13177 ! 43.05582+-0.18591 ! definitely 1.0127x slower gbemu x2 24.89433+-0.28621 ? 24.92884+-0.20153 ? closure 0.56807+-0.00228 ? 0.57144+-0.00345 ? jquery 7.46282+-0.03772 7.42135+-0.03541 box2d x2 9.41828+-0.04658 ? 9.42007+-0.06716 ? zlib x2 379.56838+-6.19593 ? 381.14460+-5.17633 ? typescript x2 661.81850+-5.16364 660.23896+-4.47963 <geometric> 5.22547+-0.00926 5.22277+-0.01129 might be 1.0005x faster Conf#1 Conf#2 Kraken: ai-astar 87.599+-0.495 87.489+-0.897 audio-beat-detection 45.159+-0.091 ! 45.606+-0.289 ! definitely 1.0099x slower audio-dft 97.798+-1.418 97.212+-1.383 audio-fft 35.769+-0.027 ? 35.846+-0.102 ? audio-oscillator 48.021+-0.899 47.376+-0.210 might be 1.0136x faster imaging-darkroom 60.176+-0.179 ^ 58.865+-0.605 ^ definitely 1.0223x faster imaging-desaturate 44.598+-0.433 ? 44.904+-1.028 ? imaging-gaussian-blur 62.409+-2.644 62.118+-1.052 json-parse-financial 38.002+-0.396 37.102+-0.702 might be 1.0243x faster json-stringify-tinderbox 26.031+-1.027 ^ 23.313+-0.400 ^ definitely 1.1166x faster stanford-crypto-aes 40.284+-0.253 ? 40.567+-1.063 ? stanford-crypto-ccm 36.074+-0.698 35.570+-1.011 might be 1.0142x faster stanford-crypto-pbkdf2 101.004+-0.378 ? 101.551+-1.167 ? stanford-crypto-sha256-iterative 38.991+-0.408 38.549+-0.181 might be 1.0115x faster <arithmetic> 54.423+-0.202 54.005+-0.289 might be 1.0077x faster Conf#1 Conf#2 AsmBench: bigfib.cpp 432.7098+-4.2232 ? 436.2110+-5.6950 ? cray.c 361.8622+-2.3867 361.3420+-2.5991 dry.c 434.3013+-25.0949 ? 442.0171+-28.3129 ? might be 1.0178x slower FloatMM.c 720.2002+-4.4111 717.5498+-1.8863 gcc-loops.cpp 3696.6608+-11.2485 3690.9028+-16.4952 n-body.c 811.0977+-4.6029 ? 812.4679+-3.9609 ? Quicksort.c 392.0461+-3.0076 390.8493+-1.1178 stepanov_container.cpp 3291.5280+-12.3010 ? 3319.2509+-28.4207 ? Towers.c 268.8706+-1.1830 268.6998+-1.1996 <geometric> 718.0760+-5.0753 ? 720.0023+-5.0048 ? might be 1.0027x slower Conf#1 Conf#2 Geomean of preferred means: <scaled-result> 31.2211+-0.0694 31.2042+-0.0759 might be 1.0005x faster
Benjamin Poulain
Comment 6 2016-03-12 18:48:20 PST
Benjamin Poulain
Comment 7 2016-03-12 18:49:57 PST
This new version addresses the mandreel regression (it is a small progression now). The added rule is: if the ZExt32 or Add32 is used by something else than the address, do not do the transformation. It is needed for mandreel because it has branches *after* the load based on the computed index.
Brady Eidson
Comment 8 2017-08-19 16:00:50 PDT
Comment on attachment 273865 [details] Patch r-, as this has been pending review for over a year now. It is near-impossible that this patch still applies to trunk and unlikely to still be relevant in its current form.
Note You need to log in before you can comment on or make changes to this bug.