[Webkit-unassigned] [Bug 67985] SpeculativeJIT::shouldSpeculateInteger(NodeIndex, NodeIndex) should return false if either node can be double

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Sep 13 14:49:31 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=67985


Filip Pizlo <fpizlo at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #107217|0                           |1
        is obsolete|                            |
 Attachment #107234|                            |review?
               Flag|                            |




--- Comment #9 from Filip Pizlo <fpizlo at apple.com>  2011-09-13 14:49:30 PST ---
Created an attachment (id=107234)
 --> (https://bugs.webkit.org/attachment.cgi?id=107234&action=review)
the patch - fix review, and hardened shouldSpeculateInteger() even more

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

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list