[Webkit-unassigned] [Bug 69690] DFG does not have flow-sensitive intraprocedural control flow analysis

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Oct 7 23:00:21 PDT 2011


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


Filip Pizlo <fpizlo at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #110250|0                           |1
        is obsolete|                            |
 Attachment #110259|                            |review?
               Flag|                            |




--- Comment #7 from Filip Pizlo <fpizlo at apple.com>  2011-10-07 23:00:21 PST ---
Created an attachment (id=110259)
 --> (https://bugs.webkit.org/attachment.cgi?id=110259&action=review)
work in progress - better performance

I did two things:

- Fixed OSR entry. If a variable is dead then the abstract value should be TOP. Internally, the abstract state machine treats dead variables as BOTTOM. That's necessary for making the analysis precise.

- Changed the abstract structure value representation. Previously it was basically Vector<Structure*>. Now it's just Structure*, where sets larger than 1 are turned to TOP. This works great, since most structure sets only contain one element anyway.


Benchmark report for SunSpider, V8, and Kraken.

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
"CFA" at /Volumes/Data/pizlo/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                  CFA                                       
SunSpider:
   3d-cube                                7.3400+-0.2059          7.2108+-0.1398         might be 1.0179x faster
   3d-morph                               7.5851+-0.1400    ?     7.6501+-0.1387       ?
   3d-raytrace                            7.5752+-0.1830          7.5150+-0.1734       
   access-binary-trees                    1.7129+-0.0337    ?     1.7169+-0.0476       ?
   access-fannkuch                        6.2979+-0.0958    ?     6.5286+-0.1364       ? might be 1.0366x slower
   access-nbody                           3.4297+-0.0839    ?     3.5317+-0.0830       ? might be 1.0297x slower
   access-nsieve                          2.5318+-0.0516    ?     2.6022+-0.0786       ? might be 1.0278x slower
   bitops-3bit-bits-in-byte               1.6817+-0.0191    !     1.7452+-0.0250       ! definitely 1.0378x slower
   bitops-bits-in-byte                    2.7081+-0.0537    !     2.9258+-0.1245       ! definitely 1.0804x slower
   bitops-bitwise-and                     3.4372+-0.2532          3.3606+-0.0894         might be 1.0228x faster
   bitops-nsieve-bits                     5.4391+-0.0644          5.3109+-0.1139         might be 1.0241x faster
   controlflow-recursive                  2.0508+-0.0375          2.0316+-0.0499       
   crypto-aes                             6.5082+-0.1513    ?     6.7630+-0.1750       ? might be 1.0392x slower
   crypto-md5                             2.7830+-0.0851    ?     2.8322+-0.0706       ? might be 1.0177x slower
   crypto-sha1                            2.4498+-0.0714    ?     2.5556+-0.0867       ? might be 1.0432x slower
   date-format-tofte                      9.8098+-0.2208    ?     9.9895+-0.1587       ? might be 1.0183x slower
   date-format-xparb                      9.4492+-0.1745    !     9.8804+-0.2001       ! definitely 1.0456x slower
   math-cordic                            6.3737+-0.1416          6.3125+-0.0656       
   math-partial-sums                      7.5554+-0.1169          7.5150+-0.1276       
   math-spectral-norm                     2.7905+-0.0655    ?     2.8601+-0.0784       ? might be 1.0250x slower
   regexp-dna                            10.6186+-0.1482         10.5608+-0.1658       
   string-base64                          5.1063+-0.0828    ?     5.1827+-0.0692       ? might be 1.0150x slower
   string-fasta                           6.3348+-0.1140    ?     6.4154+-0.1134       ? might be 1.0127x slower
   string-tagcloud                       11.1755+-0.2087    ?    11.2236+-0.2715       ?
   string-unpack-code                    21.0133+-0.2257    !    21.6342+-0.2337       ! definitely 1.0295x slower
   string-validate-input                  6.2811+-0.1612          6.2791+-0.1612       

   <arithmetic> *                         6.1553+-0.0194    !     6.2359+-0.0193       ! definitely 1.0131x slower
   <geometric>                            5.0469+-0.0176    !     5.1180+-0.0158       ! definitely 1.0141x slower
   <harmonic>                             4.1371+-0.0257    !     4.2074+-0.0236       ! definitely 1.0170x slower

                                            TipOfTree                  CFA                                       
V8:
   crypto                                71.6115+-0.3106    !    72.6151+-0.5762       ! definitely 1.0140x slower
   deltablue                            227.0336+-3.5653        223.0970+-2.1287         might be 1.0176x faster
   earley-boyer                          90.4309+-0.3425    ?    90.9446+-0.2832       ?
   raytrace                              57.5184+-0.4610         57.4722+-0.2783       
   regexp                               102.7896+-0.3338    ?   102.8251+-0.5877       ?
   richards                             205.1041+-1.1592    ^   175.0092+-0.6119       ^ definitely 1.1720x faster
   splay                                 95.5634+-0.6248    ?    95.6634+-0.7130       ?

   <arithmetic>                         121.4359+-0.5050    ^   116.8038+-0.3613       ^ definitely 1.0397x faster
   <geometric> *                        107.9023+-0.2225    ^   105.5267+-0.2425       ^ definitely 1.0225x faster
   <harmonic>                            97.3732+-0.1490    ^    96.4890+-0.1988       ^ definitely 1.0092x faster

                                            TipOfTree                  CFA                                       
Kraken:
   ai-astar                             493.1064+-3.9254        492.3566+-3.0941       
   audio-beat-detection                 191.3132+-0.6433    ?   191.4514+-0.7850       ?
   audio-dft                            265.4996+-2.7456    ^   260.4941+-1.8597       ^ definitely 1.0192x faster
   audio-fft                            125.3307+-0.5836    ?   126.1825+-1.9849       ?
   audio-oscillator                     251.3514+-1.9030        249.7558+-2.0144       
   imaging-darkroom                     410.4260+-0.8666    !   413.6212+-1.1919       ! definitely 1.0078x slower
   imaging-desaturate                   230.1417+-0.5040    ^   216.3676+-0.4729       ^ definitely 1.0637x faster
   imaging-gaussian-blur                578.7784+-2.2247    ^   568.6758+-2.3888       ^ definitely 1.0178x faster
   json-parse-financial                  54.4313+-0.2379    ?    54.5051+-0.2106       ?
   json-stringify-tinderbox              69.6600+-0.8972    ^    68.1390+-0.2398       ^ definitely 1.0223x faster
   stanford-crypto-aes                  131.3154+-2.2640        130.2981+-1.6271       
   stanford-crypto-ccm                   99.8329+-0.9814    !   101.7389+-0.8432       ! definitely 1.0191x slower
   stanford-crypto-pbkdf2               187.8078+-0.7526    !   191.5040+-1.2973       ! definitely 1.0197x slower
   stanford-crypto-sha256-iterative      69.6199+-0.2190    ?    69.9535+-0.3764       ?

   <arithmetic> *                       225.6153+-0.5117    ^   223.9317+-0.4806       ^ definitely 1.0075x faster
   <geometric>                          176.2934+-0.4303    ^   175.3365+-0.4004       ^ definitely 1.0055x faster
   <harmonic>                           137.8627+-0.3810        137.4240+-0.3734       

                                            TipOfTree                  CFA                                       
All benchmarks:
   <arithmetic>                          88.6958+-0.1882    ^    87.5490+-0.1577       ^ definitely 1.0131x faster
   <geometric>                           22.9502+-0.0535    ?    23.0146+-0.0492       ?
   <harmonic>                             7.2778+-0.0442    !     7.3970+-0.0406       ! definitely 1.0164x slower

                                            TipOfTree                  CFA                                       
Geomean of preferred means:
   <scaled-result>                       53.1147+-0.0841    ^    52.8190+-0.0781       ^ definitely 1.0056x 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