WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 65949
DFG JIT does not speculative integers as aggressively as it should
https://bugs.webkit.org/show_bug.cgi?id=65949
Summary
DFG JIT does not speculative integers as aggressively as it should
Filip Pizlo
Reported
2011-08-09 16:35:54 PDT
The DFG JIT assumes that values are doubles unless it has reason to speculate integer. But it does not do so transitively. For example, it will successfull speculate that x is an integer here: var x = … stuff … var tmp = array[x]; But not here: var x = … stuff … var tmp = array[x * 2]; This is because the attempt to predict that "x * 2" is a no-op, since the prediction code has no way of propagating the prediction past the multiply.
Attachments
the patch
(2.54 KB, patch)
2011-08-09 16:38 PDT
,
Filip Pizlo
barraclough
: review+
Details
Formatted Diff
Diff
the patch (merged to ToT, added perf numbers in ChangeLog)
(2.87 KB, patch)
2011-08-09 17:31 PDT
,
Filip Pizlo
fpizlo
: commit-queue-
Details
Formatted Diff
Diff
the patch (merged to ToT, added perf numbers to ChangeLog, and added Gavin as reviewer)
(2.73 KB, patch)
2011-08-09 17:33 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Filip Pizlo
Comment 1
2011-08-09 16:38:33 PDT
Created
attachment 103416
[details]
the patch
Filip Pizlo
Comment 2
2011-08-09 16:42:57 PDT
Note: this is a 75% speed-up on imaging-gaussian-blur. But I'm doing an svn up to make sure that this is still the case with latest commits.
Filip Pizlo
Comment 3
2011-08-09 17:17:24 PDT
Here are the complete performance numbers. TipOfTree MoreIntPrediction SunSpider: 3d-cube 7.6745+-0.1019 ? 7.6835+-0.1166 ? 3d-morph 7.4896+-0.2832 ? 7.4942+-0.0978 ? 3d-raytrace 7.7863+-0.1357 7.6264+-0.1290 might be 1.0210x faster access-binary-trees 2.2473+-0.0589 2.2113+-0.0360 might be 1.0163x faster access-fannkuch 11.7730+-0.2411 ? 11.7908+-0.2121 ? access-nbody 4.1934+-0.0454 ? 4.3190+-0.0906 ? might be 1.0299x slower access-nsieve 2.4448+-0.0406 ? 2.5105+-0.0462 ? might be 1.0269x slower bitops-3bit-bits-in-byte 1.7384+-0.0393 1.7228+-0.0528 bitops-bits-in-byte 4.2191+-0.1023 4.1484+-0.0980 might be 1.0170x faster bitops-bitwise-and 3.6774+-0.0775 ? 3.6978+-0.0712 ? bitops-nsieve-bits 5.5151+-0.0851 5.5048+-0.0794 controlflow-recursive 2.0880+-0.0292 ? 2.1112+-0.0401 ? might be 1.0111x slower crypto-aes 6.5138+-0.1300 6.4731+-0.1229 crypto-md5 2.7793+-0.0392 ? 2.8046+-0.0638 ? crypto-sha1 2.2024+-0.0386 ? 2.2396+-0.0330 ? might be 1.0169x slower date-format-tofte 10.0715+-0.1753 ? 10.0717+-0.1696 ? date-format-xparb 8.8285+-0.2281 8.7777+-0.1663 math-cordic 6.3224+-0.0819 6.2717+-0.0913 math-partial-sums 7.7275+-0.1963 7.6841+-0.0915 math-spectral-norm 2.5223+-0.0466 2.4793+-0.0546 might be 1.0174x faster regexp-dna 10.3466+-0.1322 ? 10.3785+-0.0831 ? string-base64 5.9888+-0.1269 ? 6.0098+-0.1060 ? string-fasta 7.2988+-0.1264 ? 7.3690+-0.1294 ? string-tagcloud 13.3424+-0.1679 13.2359+-0.1711 string-unpack-code 18.7737+-0.2036 ? 18.8364+-0.2646 ? string-validate-input 6.9843+-0.1404 ? 7.0288+-0.1377 ? <arithmetic> 6.5596+-0.0285 6.5570+-0.0190 <geometric> 5.4297+-0.0187 ? 5.4328+-0.0129 ? <harmonic> 4.4360+-0.0188 ? 4.4419+-0.0175 ? TipOfTree MoreIntPrediction V8: crypto 89.5519+-0.4226 89.2459+-0.4849 deltablue 267.0146+-1.9752 266.9575+-1.6417 earley-boyer 100.1948+-0.4290 ? 101.2045+-0.6564 ? might be 1.0101x slower raytrace 78.3700+-0.4048 77.7418+-0.4722 regexp 107.9905+-0.6120 ? 109.0274+-0.8690 ? richards 252.3878+-1.3620 ^ 247.8854+-1.0892 ^ definitely 1.0182x faster splay 108.9475+-0.6675 ? 109.2536+-0.5530 ? <arithmetic> 143.4939+-0.3942 143.0452+-0.4092 <geometric> 127.8141+-0.2470 127.6807+-0.3624 <harmonic> 116.5470+-0.1965 116.5441+-0.3588 TipOfTree MoreIntPrediction Kraken: ai-astar 1098.7387+-5.3837 1093.7142+-4.3138 audio-beat-detection 469.0803+-2.4284 ^ 461.5361+-2.3209 ^ definitely 1.0163x faster audio-dft 428.4697+-5.4192 ? 429.9280+-5.5726 ? audio-fft 366.5176+-2.1237 ? 368.1275+-2.9561 ? audio-oscillator 380.0753+-1.7885 378.3811+-0.9690 imaging-darkroom 586.0195+-5.1337 ? 594.1783+-17.3111 ? might be 1.0139x slower imaging-desaturate 597.5276+-2.3314 594.4309+-2.4371 imaging-gaussian-blur 2970.7402+-4.8706 ^ 1738.6283+-3.3785 ^ definitely 1.7087x faster json-parse-financial 49.2663+-0.3575 48.8788+-0.3181 json-stringify-tinderbox 61.7510+-0.2202 ? 61.9327+-0.2707 ? stanford-crypto-aes 143.6676+-0.7414 ? 145.2050+-1.0337 ? might be 1.0107x slower stanford-crypto-ccm 112.0324+-0.4927 111.4733+-0.3494 stanford-crypto-pbkdf2 373.0106+-2.9323 370.2925+-1.5627 stanford-crypto-sha256-iterative 140.1264+-0.6707 139.2418+-0.6824 <arithmetic> 555.5017+-0.7214 ^ 466.8535+-1.4057 ^ definitely 1.1899x faster <geometric> 311.7203+-0.5547 ^ 299.5131+-0.7081 ^ definitely 1.0408x faster <harmonic> 182.6274+-0.5036 ^ 181.6548+-0.4620 ^ definitely 1.0054x faster TipOfTree MoreIntPrediction All benchmarks: <arithmetic> 190.4687+-0.2287 ^ 163.9946+-0.4317 ^ definitely 1.1614x faster <geometric> 29.0427+-0.0535 ^ 28.7038+-0.0385 ^ definitely 1.0118x faster <harmonic> 7.8361+-0.0325 ? 7.8458+-0.0302 ?
Filip Pizlo
Comment 4
2011-08-09 17:31:16 PDT
Created
attachment 103424
[details]
the patch (merged to ToT, added perf numbers in ChangeLog)
Filip Pizlo
Comment 5
2011-08-09 17:32:03 PDT
Comment on
attachment 103424
[details]
the patch (merged to ToT, added perf numbers in ChangeLog) Ooops, I accidentally posted the wrong patch.
Filip Pizlo
Comment 6
2011-08-09 17:33:04 PDT
Created
attachment 103425
[details]
the patch (merged to ToT, added perf numbers to ChangeLog, and added Gavin as reviewer)
WebKit Review Bot
Comment 7
2011-08-09 18:12:42 PDT
Comment on
attachment 103425
[details]
the patch (merged to ToT, added perf numbers to ChangeLog, and added Gavin as reviewer) Clearing flags on attachment: 103425 Committed
r92736
: <
http://trac.webkit.org/changeset/92736
>
WebKit Review Bot
Comment 8
2011-08-09 18:12:47 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