[Webkit-unassigned] [Bug 72311] Inline caches that refer to otherwise dead objects should be cleared

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Nov 17 20:01:08 PST 2011


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


Filip Pizlo <fpizlo at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #115728|                            |review?
               Flag|                            |




--- Comment #4 from Filip Pizlo <fpizlo at apple.com>  2011-11-17 20:01:08 PST ---
Created an attachment (id=115728)
 --> (https://bugs.webkit.org/attachment.cgi?id=115728&action=review)
the patch

This combines the patch on https://bugs.webkit.org/show_bug.cgi?id=72312 with full inline cache clearing support.  So far it looks like it works, and performance looks mostly fine, except something strange is happening in V8-regexp.



[pizlo at nitroflex bencher] ./bencher TipOfTree:/Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc WeakCaches:/Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/jsc --remote oldmac,bigmac
Packaging VM builds for remote hosts...
Sending VM builds to oldmac...
Running on oldmac...
376/376                                                         
Generating benchmark report at TipOfTree_WeakCaches_SunSpiderV8Kraken_20111117_1949_benchReport.txt

Benchmark report for SunSpider, V8, and Kraken on oldmac.local (MacPro4,1).

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (r100674)
"WeakCaches" at /Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/jsc (r100674)

Collected 12 samples per benchmark/VM, with 4 VM invocations per benchmark. Emitted a call to gc() between sample
measurements. 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               WeakCaches                                   
SunSpider:
   3d-cube                                9.0475+-0.0387          8.9664+-0.0477       
   3d-morph                              10.4450+-0.1721    ^    10.1015+-0.0355       ^ definitely 1.0340x faster
   3d-raytrace                            9.2003+-0.0617    ?     9.2515+-0.0654       ?
   access-binary-trees                    1.9097+-0.0069    ?     1.9349+-0.0326       ? might be 1.0132x slower
   access-fannkuch                        9.1217+-0.0200    ^     9.0871+-0.0084       ^ definitely 1.0038x faster
   access-nbody                           5.0345+-0.0044    ?     5.0679+-0.0381       ?
   access-nsieve                          3.7133+-0.0101          3.7111+-0.0060       
   bitops-3bit-bits-in-byte               1.4966+-0.0164          1.4959+-0.0184       
   bitops-bits-in-byte                    5.9275+-0.0180    ?     5.9298+-0.0159       ?
   bitops-bitwise-and                     3.9731+-0.0059    ?     3.9737+-0.0080       ?
   bitops-nsieve-bits                     6.7840+-0.0316    ?     6.8390+-0.0420       ?
   controlflow-recursive                  2.7644+-0.0177    ?     2.7921+-0.0369       ? might be 1.0100x slower
   crypto-aes                             8.8837+-0.3084          8.6743+-0.0546         might be 1.0241x faster
   crypto-md5                             3.0347+-0.0590          2.9922+-0.0132         might be 1.0142x faster
   crypto-sha1                            2.6152+-0.0334    ?     2.6323+-0.0314       ?
   date-format-tofte                     12.9762+-0.1771    ?    13.1488+-0.0922       ? might be 1.0133x slower
   date-format-xparb                     13.8699+-0.1296    !    14.2420+-0.1412       ! definitely 1.0268x slower
   math-cordic                            8.6768+-0.0372    ^     8.6144+-0.0209       ^ definitely 1.0073x faster
   math-partial-sums                     12.6416+-0.0401         12.6347+-0.0488       
   math-spectral-norm                     3.1685+-0.0557          3.1329+-0.0089         might be 1.0114x faster
   regexp-dna                            15.6974+-0.0541    ?    15.7449+-0.0606       ?
   string-base64                          4.7532+-0.0370    ?     4.7739+-0.0392       ?
   string-fasta                           8.9202+-0.0318    ?     9.0204+-0.0890       ? might be 1.0112x slower
   string-tagcloud                       15.9672+-0.1008         15.7997+-0.1061         might be 1.0106x faster
   string-unpack-code                    27.4349+-0.1522    ?    27.4398+-0.0469       ?
   string-validate-input                  6.9217+-0.1974          6.7428+-0.0794         might be 1.0265x faster

   <arithmetic> *                         8.2684+-0.0264          8.2594+-0.0244         might be 1.0011x faster
   <geometric>                            6.5486+-0.0233          6.5411+-0.0212         might be 1.0011x faster
   <harmonic>                             5.0696+-0.0217    ?     5.0700+-0.0222       ? might be 1.0001x slower

                                            TipOfTree               WeakCaches                                   
V8:
   crypto                                93.3679+-0.3252    ?    93.7752+-0.3924       ?
   deltablue                            205.0419+-0.7970    !   207.4518+-1.3348       ! definitely 1.0118x slower
   earley-boyer                         127.6397+-1.6513        125.9481+-1.5823         might be 1.0134x faster
   raytrace                              75.9334+-0.2453    ?    76.5853+-0.5557       ?
   regexp                               147.4395+-0.4611    !   148.2696+-0.2811       ! definitely 1.0056x slower
   richards                             166.2447+-0.2814        166.0438+-0.3616       
   splay                                107.5413+-1.4244        106.9378+-0.7132       

   <arithmetic>                         131.8869+-0.4721    ?   132.1445+-0.3777       ? might be 1.0020x slower
   <geometric> *                        125.4485+-0.5032    ?   125.6287+-0.3867       ? might be 1.0014x slower
   <harmonic>                           119.2648+-0.5089    ?   119.4452+-0.4084       ? might be 1.0015x slower

                                            TipOfTree               WeakCaches                                   
Kraken:
   ai-astar                             895.4246+-0.9915        895.1654+-0.4022       
   audio-beat-detection                 248.5174+-0.3483    !   250.5549+-0.8042       ! definitely 1.0082x slower
   audio-dft                            314.1673+-2.4462    ?   314.1825+-2.4322       ?
   audio-fft                            162.3186+-0.8125    ?   162.3518+-0.7823       ?
   audio-oscillator                     355.8777+-3.1971    ^   344.9823+-4.3299       ^ definitely 1.0316x faster
   imaging-darkroom                     404.1052+-5.4632    ?   405.4850+-6.1308       ?
   imaging-desaturate                   291.2879+-0.1209        291.1845+-0.0613       
   imaging-gaussian-blur                750.8557+-0.3035    ?   752.8046+-3.3790       ?
   json-parse-financial                  89.8248+-0.6193         89.5875+-0.1899       
   json-stringify-tinderbox             104.5581+-0.2745    ?   105.1705+-0.5748       ?
   stanford-crypto-aes                  143.2029+-1.6641        143.0827+-0.7456       
   stanford-crypto-ccm                  137.4856+-0.5693    !   140.4658+-1.0226       ! definitely 1.0217x slower
   stanford-crypto-pbkdf2               280.5099+-1.9514    ?   283.5715+-2.2643       ? might be 1.0109x slower
   stanford-crypto-sha256-iterative     112.9657+-0.2543        112.9229+-0.2411       

   <arithmetic> *                       306.5072+-0.4968    ?   306.5366+-0.6874       ? might be 1.0001x slower
   <geometric>                          239.8899+-0.4148    ?   240.1797+-0.5115       ? might be 1.0012x slower
   <harmonic>                           194.6864+-0.3307    ?   195.1378+-0.3639       ? might be 1.0023x slower

                                            TipOfTree               WeakCaches                                   
All benchmarks:
   <arithmetic>                         115.5168+-0.1711    ?   115.5589+-0.2314       ? might be 1.0004x slower
   <geometric>                           29.7140+-0.0748         29.7123+-0.0711         might be 1.0001x faster
   <harmonic>                             8.9367+-0.0377    ?     8.9378+-0.0384       ? might be 1.0001x slower

                                            TipOfTree               WeakCaches                                   
Geomean of preferred means:
   <scaled-result>                       68.2507+-0.1561    ?    68.2608+-0.1430       ? might be 1.0001x slower

Sending VM builds to bigmac...
Running on bigmac...
376/376                                                         
Generating benchmark report at TipOfTree_WeakCaches_SunSpiderV8Kraken_20111117_1951_benchReport.txt

Benchmark report for SunSpider, V8, and Kraken on bigmac.local (MacPro5,1).

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (r100674)
"WeakCaches" at /Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/jsc (r100674)

Collected 12 samples per benchmark/VM, with 4 VM invocations per benchmark. Emitted a call to gc() between sample
measurements. 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               WeakCaches                                   
SunSpider:
   3d-cube                                7.5728+-0.1215          7.4300+-0.0254         might be 1.0192x faster
   3d-morph                               8.4423+-0.0879    ?     8.4828+-0.1291       ?
   3d-raytrace                            7.6856+-0.0513    ?     7.7025+-0.0624       ?
   access-binary-trees                    1.5943+-0.0069    ?     1.5977+-0.0082       ?
   access-fannkuch                        7.5383+-0.0104    ^     7.5180+-0.0082       ^ definitely 1.0027x faster
   access-nbody                           4.1663+-0.0092    !     4.1817+-0.0061       ! definitely 1.0037x slower
   access-nsieve                          3.1429+-0.0427          3.1428+-0.0375       
   bitops-3bit-bits-in-byte               1.2399+-0.0138          1.2390+-0.0095       
   bitops-bits-in-byte                    4.9107+-0.0055          4.8973+-0.0198       
   bitops-bitwise-and                     3.2831+-0.0045    ?     3.2890+-0.0055       ?
   bitops-nsieve-bits                     5.6333+-0.0338    ?     5.6556+-0.0387       ?
   controlflow-recursive                  2.2875+-0.0123    ?     2.2913+-0.0126       ?
   crypto-aes                             7.1496+-0.0385    ?     7.3631+-0.2183       ? might be 1.0299x slower
   crypto-md5                             2.4973+-0.0094          2.4956+-0.0086       
   crypto-sha1                            2.1853+-0.0329          2.1757+-0.0174       
   date-format-tofte                     10.6273+-0.0559    !    10.7725+-0.0539       ! definitely 1.0137x slower
   date-format-xparb                     11.4395+-0.2274    ?    11.4434+-0.0890       ?
   math-cordic                            7.1588+-0.0780    ?     7.1610+-0.0499       ?
   math-partial-sums                     10.4612+-0.0344    ?    10.4707+-0.0383       ?
   math-spectral-norm                     2.6258+-0.0326          2.6008+-0.0081       
   regexp-dna                            12.9697+-0.0534    ?    13.0062+-0.0585       ?
   string-base64                          3.9142+-0.0170    ?     3.9304+-0.0123       ?
   string-fasta                           7.3654+-0.0195    !     7.4126+-0.0144       ! definitely 1.0064x slower
   string-tagcloud                       13.0923+-0.0652    ^    12.9657+-0.0327       ^ definitely 1.0098x faster
   string-unpack-code                    22.2100+-0.1262         22.1619+-0.0837       
   string-validate-input                  5.5449+-0.0392    ?     5.6332+-0.0621       ? might be 1.0159x slower

   <arithmetic> *                         6.7976+-0.0218    ?     6.8085+-0.0208       ? might be 1.0016x slower
   <geometric>                            5.4030+-0.0185    ?     5.4117+-0.0177       ? might be 1.0016x slower
   <harmonic>                             4.1972+-0.0165    ?     4.2005+-0.0144       ? might be 1.0008x slower

                                            TipOfTree               WeakCaches                                   
V8:
   crypto                                77.3068+-0.2470    ?    78.5472+-1.0606       ? might be 1.0160x slower
   deltablue                            169.1565+-0.5722    ?   169.9061+-0.7509       ?
   earley-boyer                         105.8436+-1.2681    ?   106.1506+-1.8865       ?
   raytrace                              62.5844+-0.6697    ?    63.4609+-0.5217       ? might be 1.0140x slower
   regexp                               123.0489+-0.4275    !   124.9241+-0.9108       ! definitely 1.0152x slower
   richards                             138.1625+-0.3256    ?   138.3885+-0.7911       ?
   splay                                 90.0783+-0.9855    ?    90.5373+-1.2191       ?

   <arithmetic>                         109.4544+-0.2879    !   110.2735+-0.4132       ! definitely 1.0075x slower
   <geometric> *                        104.1137+-0.3218    !   104.9882+-0.4307       ! definitely 1.0084x slower
   <harmonic>                            98.9421+-0.3618    !    99.8732+-0.4189       ! definitely 1.0094x slower

                                            TipOfTree               WeakCaches                                   
Kraken:
   ai-astar                             817.2374+-11.1240   ?   827.1865+-0.5183       ? might be 1.0122x slower
   audio-beat-detection                 203.9402+-0.3269    !   206.1474+-0.6714       ! definitely 1.0108x slower
   audio-dft                            261.1492+-2.3054        259.6474+-2.6116       
   audio-fft                            132.7391+-0.0777    ?   132.8311+-0.1997       ?
   audio-oscillator                     294.2755+-1.5612    ^   283.3337+-4.9055       ^ definitely 1.0386x faster
   imaging-darkroom                     333.9641+-4.6759    ?   334.3031+-4.9627       ?
   imaging-desaturate                   240.7603+-0.1246    ?   240.8660+-0.3476       ?
   imaging-gaussian-blur                620.6148+-0.1868    ?   621.9812+-2.4208       ?
   json-parse-financial                  73.2566+-0.4176    !    74.1150+-0.3143       ! definitely 1.0117x slower
   json-stringify-tinderbox              86.3845+-0.2568    ?    86.7771+-0.2189       ?
   stanford-crypto-aes                  117.3842+-0.6165    ?   118.7492+-0.7655       ? might be 1.0116x slower
   stanford-crypto-ccm                  116.1933+-0.9027    ?   117.1747+-0.7135       ?
   stanford-crypto-pbkdf2               233.0368+-1.4568        232.9577+-0.2467       
   stanford-crypto-sha256-iterative      93.1566+-0.2464         93.0921+-0.3027       

   <arithmetic> *                       258.8638+-1.0708    ?   259.2259+-0.4904       ? might be 1.0014x slower
   <geometric>                          199.5603+-0.5626    ?   199.8244+-0.4281       ? might be 1.0013x slower
   <harmonic>                           160.8641+-0.4246    ?   161.4155+-0.3345       ? might be 1.0034x slower

                                            TipOfTree               WeakCaches                                   
All benchmarks:
   <arithmetic>                          97.1705+-0.3044    ?    97.4063+-0.1669       ? might be 1.0024x slower
   <geometric>                           24.5976+-0.0601    ?    24.6601+-0.0603       ? might be 1.0025x slower
   <harmonic>                             7.3988+-0.0285    ?     7.4055+-0.0250       ? might be 1.0009x slower

                                            TipOfTree               WeakCaches                                   
Geomean of preferred means:
   <scaled-result>                       56.7948+-0.1173    ?    57.0104+-0.1230       ? might be 1.0038x slower

[pizlo at nitroflex bencher]

-- 
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