[webkit-reviews] review requested: [Bug 67985] SpeculativeJIT::shouldSpeculateInteger(NodeIndex, NodeIndex) should return false if either node can be double : [Attachment 107234] the patch - fix review, and hardened shouldSpeculateInteger() even more
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Sep 13 14:49:30 PDT 2011
Filip Pizlo <fpizlo at apple.com> has asked for review:
Bug 67985: SpeculativeJIT::shouldSpeculateInteger(NodeIndex, NodeIndex) should
return false if either node can be double
https://bugs.webkit.org/show_bug.cgi?id=67985
Attachment 107234: the patch - fix review, and hardened
shouldSpeculateInteger() even more
https://bugs.webkit.org/attachment.cgi?id=107234&action=review
------- Additional Comments from Filip Pizlo <fpizlo at apple.com>
Here are the latest perf numbers:
Benchmark report for SunSpider, V8, and Kraken.
VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/octonary/OpenSource/WebKitBuild/Release/jsc
"TipOfTreeDyn" at
/Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
"CarefulNumber" at
/Volumes/Data/pizlo/tertiary/OpenSource/WebKitBuild/Release/jsc
Collected 12 samples per benchmark/VM, with 4 VM invocations per benchmark.
Used 1 benchmark iteration per VM invocation for warm-up.
Used the jsc-specific preciseTime() function to get microsecond-level timing.
Reporting benchmark execution times with 95% confidence
intervals in milliseconds.
TipOfTree TipOfTreeDyn
CarefulNumber CarefulNumber v. TipOfTree
SunSpider:
3d-cube 7.7000+-0.1110 !
9.0728+-0.2063 ^ 7.7518+-0.1422 ?
3d-morph 7.4553+-0.1671 ?
7.5690+-0.1943 7.4558+-0.1516 ?
3d-raytrace 7.6957+-0.2284
7.5390+-0.1541 ? 7.7188+-0.2071 ?
access-binary-trees 2.2838+-0.0962 ?
2.4106+-0.1220 2.2463+-0.0583 might be 1.0167x faster
access-fannkuch 11.7680+-0.1695
11.6634+-0.1932 ? 11.7183+-0.2692
access-nbody 4.2794+-0.0558
4.2430+-0.1707 4.1893+-0.0973 might be 1.0215x faster
access-nsieve 2.6066+-0.1488
2.5871+-0.0419 2.5849+-0.0392
bitops-3bit-bits-in-byte 1.7161+-0.0694
1.6783+-0.0393 ? 1.6990+-0.0539 might be 1.0101x faster
bitops-bits-in-byte 3.2165+-0.0406 ?
3.2256+-0.0493 3.1281+-0.0669 might be 1.0283x faster
bitops-bitwise-and 3.6744+-0.0978
3.5958+-0.1036 3.5818+-0.0980 might be 1.0258x faster
bitops-nsieve-bits 5.4681+-0.1144
5.4025+-0.1006 5.3010+-0.1118 might be 1.0315x faster
controlflow-recursive 1.9870+-0.0448 ?
2.0253+-0.0299 1.9628+-0.0425 might be 1.0123x faster
crypto-aes 6.6115+-0.1839 !
7.3610+-0.4124 7.1159+-0.3231 ? might be 1.0763x slower
crypto-md5 2.9036+-0.0785
2.7903+-0.0977 2.7666+-0.1011 might be 1.0495x faster
crypto-sha1 2.3284+-0.0785
2.2361+-0.0427 ^ 2.1552+-0.0330 ^ definitely 1.0804x faster
date-format-tofte 10.3591+-0.4120
10.3206+-0.2688 10.2628+-0.2429
date-format-xparb 8.4283+-0.2384 ?
8.9335+-0.3087 8.5139+-0.1523 ? might be 1.0102x slower
math-cordic 6.3591+-0.1185
6.3367+-0.0792 ^ 6.1589+-0.0684 ^ definitely 1.0325x faster
math-partial-sums 7.7329+-0.1796 ^
7.3818+-0.1621 7.3804+-0.1093 ^ definitely 1.0478x faster
math-spectral-norm 2.5507+-0.1063 ?
2.6231+-0.0423 2.6071+-0.0585 ? might be 1.0221x slower
regexp-dna 10.8829+-0.2408 ?
11.0444+-0.3196 10.9296+-0.1949 ?
string-base64 6.0589+-0.2107
5.8801+-0.2482 ? 5.9180+-0.1902 might be 1.0238x faster
string-fasta 7.3014+-0.1081 !
8.3146+-0.2175 8.3007+-0.1999 ! definitely 1.1369x slower
string-tagcloud 12.1434+-0.4217
12.0108+-0.3340 11.9435+-0.3274 might be 1.0167x faster
string-unpack-code 19.1970+-0.5470
19.0773+-0.4865 18.8295+-0.3295 might be 1.0195x faster
string-validate-input 7.1812+-0.2631
6.8250+-0.2467 6.7450+-0.3059 might be 1.0647x faster
<arithmetic> 6.5342+-0.0469 !
6.6211+-0.0351 ^ 6.4987+-0.0275
<geometric> 5.4040+-0.0381 ?
5.4584+-0.0191 ^ 5.3546+-0.0229
<harmonic> 4.4180+-0.0393 ?
4.4379+-0.0164 ^ 4.3547+-0.0310 might be 1.0145x faster
TipOfTree TipOfTreeDyn
CarefulNumber CarefulNumber v. TipOfTree
V8:
crypto 92.6777+-1.0560 ^
85.8287+-0.6768 84.6729+-1.3058 ^ definitely 1.0945x faster
deltablue 271.7779+-2.4911 ^
258.1274+-2.1974 257.1388+-2.2389 ^ definitely 1.0569x faster
earley-boyer 95.3850+-0.7488 ?
95.9525+-0.9046 ? 96.9092+-1.7912 ? might be 1.0160x slower
raytrace 78.7186+-0.7819
77.7404+-0.5089 76.6954+-0.5746 ^ definitely 1.0264x faster
regexp 108.6307+-0.6516 ?
109.0979+-1.1529 107.6484+-0.5817
richards 231.8681+-2.1057 ^
218.4648+-1.6917 218.0566+-1.9601 ^ definitely 1.0633x faster
splay 101.9574+-0.4023 ?
102.9560+-0.8176 ? 102.9860+-0.8933 ? might be 1.0101x slower
<arithmetic> 140.1451+-0.4827 ^
135.4525+-0.3950 134.8725+-0.5967 ^ definitely 1.0391x faster
<geometric> 125.3196+-0.3113 ^
122.1319+-0.3559 121.4995+-0.4868 ^ definitely 1.0314x faster
<harmonic> 114.7691+-0.3329 ^
112.4043+-0.3475 111.7151+-0.4317 ^ definitely 1.0273x faster
TipOfTree TipOfTreeDyn
CarefulNumber CarefulNumber v. TipOfTree
Kraken:
ai-astar 1115.9489+-13.6925 ?
1127.2781+-4.3517 ! 1148.8542+-9.6147 ! definitely 1.0295x slower
audio-beat-detection 483.6177+-5.5121 ^
468.2725+-3.1906 ? 472.6012+-2.7622 ^ definitely 1.0233x faster
audio-dft 435.9011+-11.7825
422.9108+-2.6337 ? 425.0530+-5.1124 might be 1.0255x faster
audio-fft 368.5819+-1.3054 ?
369.9146+-3.2159 ^ 365.7559+-0.3816 ^ definitely 1.0077x faster
audio-oscillator 381.7322+-1.6193 ^
356.1275+-2.5445 353.8487+-2.4433 ^ definitely 1.0788x faster
imaging-darkroom 536.6514+-4.1188 ^
511.1556+-3.5697 509.2351+-2.1197 ^ definitely 1.0538x faster
imaging-desaturate 622.3301+-2.8078 ^
219.1983+-2.3835 218.1094+-0.8011 ^ definitely 2.8533x faster
imaging-gaussian-blur 1737.6811+-4.6308
1735.7990+-10.7049 ? 1742.4213+-8.1005 ?
json-parse-financial 49.0553+-0.3802 ?
49.3396+-0.5432 ! 50.7809+-0.6047 ! definitely 1.0352x slower
json-stringify-tinderbox 69.8076+-1.5159
69.1354+-0.3432 68.6172+-0.2549 might be 1.0173x faster
stanford-crypto-aes 146.7155+-2.4606
144.8160+-0.6303 ? 145.1716+-0.4200 might be 1.0106x faster
stanford-crypto-ccm 114.1883+-2.5628
114.1723+-1.0068 ^ 112.0443+-0.7322 might be 1.0191x faster
stanford-crypto-pbkdf2 333.9798+-2.2400 !
401.9650+-2.1643 401.8433+-2.0952 ! definitely 1.2032x slower
stanford-crypto-sha256-iterative 132.0898+-0.7086 !
150.4716+-0.4734 ^ 148.9359+-0.9755 ! definitely 1.1275x slower
<arithmetic> 466.3058+-1.7094 ^
438.6111+-0.8533 ? 440.2337+-1.1670 ^ definitely 1.0592x faster
<geometric> 300.2954+-1.1813 ^
281.3736+-0.5503 ? 281.4741+-0.5687 ^ definitely 1.0669x faster
<harmonic> 185.3853+-0.8586 ^
180.5717+-0.6557 ? 181.0842+-0.6153 ^ definitely 1.0238x faster
TipOfTree TipOfTreeDyn
CarefulNumber CarefulNumber v. TipOfTree
All benchmarks:
<arithmetic> 163.3869+-0.4742 ^
154.4866+-0.2504 ? 154.8158+-0.3607 ^ definitely 1.0554x faster
<geometric> 28.5619+-0.0953 ^
28.0616+-0.0556 ^ 27.7467+-0.0759 ^ definitely 1.0294x faster
<harmonic> 7.8052+-0.0677 ?
7.8354+-0.0283 ^ 7.6916+-0.0537 might be 1.0148x faster
More information about the webkit-reviews
mailing list