WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
65424
DFG non-speculative JIT does not optimize PutByVal
https://bugs.webkit.org/show_bug.cgi?id=65424
Summary
DFG non-speculative JIT does not optimize PutByVal
Filip Pizlo
Reported
2011-07-30 19:39:24 PDT
The DFG non-speculative JIT does not inline the fast path for PutByVal. It should probably inline it since it's important for programs that use arrays.
Attachments
the patch
(4.51 KB, patch)
2011-07-30 19:42 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Filip Pizlo
Comment 1
2011-07-30 19:42:05 PDT
Created
attachment 102450
[details]
the patch This is a win on V8 and Kraken, and is neutral on SunSpider. I'll mark as ? when all of the tests pass. [pizlo@minime bencher] ./bencher TipOfTree:/Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc PutByVal:/Volumes/Data/pizlo/tertiary/OpenSource/WebKitBuild/Release/jsc --outer 8 --inner 4 --warmup 1 --sunspider TipOfTree: /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc PutByVal: /Volumes/Data/pizlo/tertiary/OpenSource/WebKitBuild/Release/jsc 416/416 TipOfTree PutByVal 3d-cube 7.9960+-0.1025 7.9514+-0.1193 3d-morph 7.4389+-0.0984 ? 7.4717+-0.0818 ? 3d-raytrace 8.0496+-0.0791 ? 8.0799+-0.1073 ? access-binary-trees 2.5966+-0.0429 2.5497+-0.0396 might be 1.0184x faster access-fannkuch 11.4419+-0.0778 11.4402+-0.0949 access-nbody 4.2838+-0.0506 4.2521+-0.0375 access-nsieve 2.4487+-0.0240 ? 2.4793+-0.0265 ? might be 1.0125x slower bitops-3bit-bits-in-byte 1.7775+-0.0383 1.7407+-0.0285 might be 1.0211x faster bitops-bits-in-byte 4.3679+-0.1230 ? 4.3684+-0.1120 ? bitops-bitwise-and 3.6403+-0.0455 3.6222+-0.0496 bitops-nsieve-bits 5.4653+-0.0520 ? 5.5231+-0.0623 ? might be 1.0106x slower controlflow-recursive 2.6069+-0.0362 2.5787+-0.0252 might be 1.0110x faster crypto-aes 7.1403+-0.1086 6.9869+-0.0837 might be 1.0220x faster crypto-md5 2.7782+-0.0432 2.7611+-0.0396 crypto-sha1 2.1873+-0.0306 ? 2.2137+-0.0384 ? might be 1.0120x slower date-format-tofte 13.8207+-0.1268 13.8169+-0.1653 date-format-xparb 9.1638+-0.1102 ! 9.4332+-0.1297 ! definitely 1.0294x slower math-cordic 6.2502+-0.1015 ? 6.2869+-0.0803 ? math-partial-sums 7.5674+-0.0630 ? 7.6288+-0.0988 ? math-spectral-norm 2.4707+-0.0259 ? 2.5098+-0.0317 ? might be 1.0158x slower regexp-dna 10.1646+-0.0885 ! 10.3734+-0.1145 ! definitely 1.0205x slower string-base64 6.5853+-0.0767 6.5288+-0.0879 string-fasta 7.8724+-0.0925 7.8144+-0.1147 string-tagcloud 13.7407+-0.1333 13.6155+-0.1485 string-unpack-code 21.0170+-0.1659 ? 21.3776+-0.2100 ? might be 1.0172x slower string-validate-input 7.6710+-0.1038 7.5806+-0.1044 might be 1.0119x faster AVERAGE 6.9440+-0.0121 ? 6.9610+-0.0187 ? GEOMEAN 5.6967+-0.0118 ? 5.6981+-0.0175 ? [pizlo@minime bencher] ./bencher TipOfTree:/Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc PutByVal:/Volumes/Data/pizlo/tertiary/OpenSource/WebKitBuild/Release/jsc --outer 8 --inner 4 --warmup 1 --v8 TipOfTree: /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc PutByVal: /Volumes/Data/pizlo/tertiary/OpenSource/WebKitBuild/Release/jsc 112/112 TipOfTree PutByVal crypto 97.3797+-0.2758 ^ 92.0391+-0.2533 ^ definitely 1.0580x faster deltablue 268.9680+-1.2141 ? 269.2985+-1.4905 ? earley-boyer 124.8596+-1.0107 124.0673+-0.5397 raytrace 79.9386+-0.5049 ^ 78.5594+-0.5066 ^ definitely 1.0176x faster regexp 106.6690+-0.4577 ? 107.5821+-0.4963 ? richards 253.9950+-1.0977 253.4202+-1.2990 splay 183.8398+-1.0727 183.0630+-0.5311 AVERAGE 159.3785+-0.3636 ^ 158.2900+-0.3325 ^ definitely 1.0069x faster GEOMEAN 144.2779+-0.3709 ^ 142.7031+-0.2669 ^ definitely 1.0110x faster [pizlo@minime bencher] ./bencher TipOfTree:/Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc PutByVal:/Volumes/Data/pizlo/tertiary/OpenSource/WebKitBuild/Release/jsc --outer 8 --inner 4 --warmup 1 --kraken TipOfTree: /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc PutByVal: /Volumes/Data/pizlo/tertiary/OpenSource/WebKitBuild/Release/jsc 224/224 TipOfTree PutByVal ai-astar 1093.1172+-4.5503 ^ 1080.1295+-2.7251 ^ definitely 1.0120x faster audio-beat-detection 452.1903+-1.4868 ! 460.8981+-2.3712 ! definitely 1.0193x slower audio-dft 445.4518+-4.0142 ? 447.8315+-5.3821 ? audio-fft 359.2328+-0.7923 ! 361.9505+-1.6893 ! definitely 1.0076x slower audio-oscillator 441.3523+-1.0646 ^ 400.6011+-1.6775 ^ definitely 1.1017x faster imaging-darkroom 658.6015+-3.5162 ^ 568.0929+-1.0142 ^ definitely 1.1593x faster imaging-desaturate 855.1886+-4.7568 ^ 590.2016+-1.4386 ^ definitely 1.4490x faster imaging-gaussian-blur 3074.3151+-73.2557 ^ 2961.6057+-9.7733 ^ definitely 1.0381x faster json-parse-financial 48.4931+-0.2036 ^ 47.8002+-0.1907 ^ definitely 1.0145x faster json-stringify-tinderbox 63.1767+-0.3018 ^ 62.2697+-0.1606 ^ definitely 1.0146x faster stanford-crypto-aes 144.8389+-0.8967 143.3318+-0.6163 might be 1.0105x faster stanford-crypto-ccm 114.9960+-0.8006 ? 115.4686+-1.0867 ? stanford-crypto-pbkdf2 387.3435+-13.6259 ^ 366.1053+-1.8585 ^ definitely 1.0580x faster stanford-crypto-sha256-iterative 141.4128+-0.6867 ^ 139.2711+-0.6301 ^ definitely 1.0154x faster AVERAGE 591.4079+-5.3777 ^ 553.2541+-0.8777 ^ definitely 1.0690x faster GEOMEAN 328.1413+-0.9137 ^ 311.3703+-0.4795 ^ definitely 1.0539x faster [pizlo@minime bencher]
Filip Pizlo
Comment 2
2011-07-30 19:56:09 PDT
Comment on
attachment 102450
[details]
the patch Tests pass, ready for review.
WebKit Review Bot
Comment 3
2011-07-31 13:13:51 PDT
Comment on
attachment 102450
[details]
the patch Clearing flags on attachment: 102450 Committed
r92085
: <
http://trac.webkit.org/changeset/92085
>
WebKit Review Bot
Comment 4
2011-07-31 13:13:55 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug