[Webkit-unassigned] [Bug 68580] DFG JIT cannot compile op_new_object, op_new_array, op_new_array_buffer, or op_new_regexp

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Sep 27 21:18:13 PDT 2011


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





--- Comment #2 from Filip Pizlo <fpizlo at apple.com>  2011-09-27 21:18:13 PST ---
Implementing op_new_object, op_new_array, and op_new_array_buffer is a win on Kraken and V8, and neutral on SunSpider.

But implementing op_new_regexp is a regression on SunSpider, because string-validate-input does things that fail speculation due to some static speculation logic on comparisons that's still hanging around.

Recommendation: reintroduce DFG_RESTRICTIONS and restrict op_new_regexp until we fix those regressions.



Benchmark report for SunSpider, V8, and Kraken.

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
"NewObjArr" at /Volumes/Data/pizlo/senary/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               NewObjArr                                    
SunSpider:
   3d-cube                                7.6069+-0.1990    ?     7.6847+-0.2081       ? might be 1.0102x slower
   3d-morph                               7.3532+-0.1059    ?     7.4783+-0.1642       ? might be 1.0170x slower
   3d-raytrace                            8.0790+-0.2086    ?     8.1011+-0.1652       ?
   access-binary-trees                    2.0403+-0.0725          2.0396+-0.0843       
   access-fannkuch                        6.2823+-0.1056    ?     6.2945+-0.0926       ?
   access-nbody                           3.8682+-0.1419          3.6726+-0.0948         might be 1.0533x faster
   access-nsieve                          2.6062+-0.0740    ?     2.6352+-0.0709       ? might be 1.0111x slower
   bitops-3bit-bits-in-byte               1.7547+-0.0213          1.7003+-0.0410         might be 1.0320x faster
   bitops-bits-in-byte                    2.7603+-0.0593    ?     2.7621+-0.1151       ?
   bitops-bitwise-and                     3.3824+-0.0945    ?     3.4179+-0.0806       ? might be 1.0105x slower
   bitops-nsieve-bits                     5.4669+-0.1184    ?     5.6133+-0.1420       ? might be 1.0268x slower
   controlflow-recursive                  2.1387+-0.0375          2.0752+-0.0489         might be 1.0306x faster
   crypto-aes                             6.1968+-0.1590    !     6.5941+-0.1909       ! definitely 1.0641x slower
   crypto-md5                             2.8109+-0.0801    ?     2.8470+-0.0919       ? might be 1.0128x slower
   crypto-sha1                            2.4519+-0.0526    ?     2.4965+-0.0925       ? might be 1.0182x slower
   date-format-tofte                     10.1652+-0.2940    ?    10.2501+-0.3256       ?
   date-format-xparb                      9.6200+-0.2456          9.4512+-0.4918         might be 1.0179x faster
   math-cordic                            6.3152+-0.1337    ?     6.3721+-0.1215       ?
   math-partial-sums                      7.4580+-0.0947    ?     7.5503+-0.1409       ? might be 1.0124x slower
   math-spectral-norm                     2.9994+-0.1077          2.9799+-0.0897       
   regexp-dna                            10.8572+-0.2331    ?    11.0281+-0.2246       ? might be 1.0157x slower
   string-base64                          5.8501+-0.1934    ?     5.9021+-0.1795       ?
   string-fasta                           6.9347+-0.1855    ?     6.9611+-0.1681       ?
   string-tagcloud                       11.8963+-0.3418         11.8376+-0.3378       
   string-unpack-code                    21.2604+-0.5087         21.0444+-0.3425         might be 1.0103x faster
   string-validate-input                  6.3037+-0.2205          6.2693+-0.1517       

   <arithmetic>                           6.3253+-0.0353    ?     6.3484+-0.0299       ?
   <geometric>                            5.2192+-0.0269    ?     5.2329+-0.0235       ?
   <harmonic>                             4.3191+-0.0305          4.3127+-0.0407       

                                            TipOfTree               NewObjArr                                    
V8:
   crypto                                70.8299+-0.2972         70.4997+-0.2495       
   deltablue                            231.4250+-0.8306    ?   231.6184+-1.4313       ?
   earley-boyer                          89.7968+-0.3721         89.2143+-0.3464       
   raytrace                              62.3036+-0.2579    ?    62.3904+-0.3775       ?
   regexp                               103.8305+-0.4649        103.6756+-0.3347       
   richards                             197.2494+-0.6818    ?   197.3745+-0.4847       ?
   splay                                 95.0562+-0.5740    ^    91.0451+-0.6727       ^ definitely 1.0441x faster

   <arithmetic>                         121.4988+-0.1952    ^   120.8311+-0.2861       ^ definitely 1.0055x faster
   <geometric>                          108.6305+-0.1401    ^   107.8119+-0.2417       ^ definitely 1.0076x faster
   <harmonic>                            98.8004+-0.1205    ^    97.9876+-0.2559       ^ definitely 1.0083x faster

                                            TipOfTree               NewObjArr                                    
Kraken:
   ai-astar                             546.8545+-3.6949        545.3186+-4.3388       
   audio-beat-detection                 204.9062+-1.9674    ^   190.9386+-0.9909       ^ definitely 1.0732x faster
   audio-dft                            424.9145+-2.3221    ^   296.9401+-3.0409       ^ definitely 1.4310x faster
   audio-fft                            139.2435+-0.4448    ^   125.6971+-0.4805       ^ definitely 1.1078x faster
   audio-oscillator                     255.0111+-1.8242    ?   256.7649+-1.8605       ?
   imaging-darkroom                     417.7086+-1.1558    ?   419.8134+-2.8078       ?
   imaging-desaturate                   223.0863+-0.6879        223.0231+-0.8260       
   imaging-gaussian-blur                579.0343+-1.2023    ?   579.4247+-1.3042       ?
   json-parse-financial                  48.6793+-0.3749         48.6245+-0.2575       
   json-stringify-tinderbox              68.1574+-0.2439    !    68.7362+-0.2441       ! definitely 1.0085x slower
   stanford-crypto-aes                  134.2218+-0.9676    ^   129.9201+-1.2568       ^ definitely 1.0331x faster
   stanford-crypto-ccm                  103.4385+-0.7074        103.2702+-0.5201       
   stanford-crypto-pbkdf2               200.0034+-0.7682    ^   194.1208+-0.8295       ^ definitely 1.0303x faster
   stanford-crypto-sha256-iterative      84.2175+-0.2737    ?    84.5064+-0.3092       ?

   <arithmetic>                         244.9626+-0.4782    ^   233.3642+-0.6612       ^ definitely 1.0497x faster
   <geometric>                          188.3567+-0.4424    ^   180.7748+-0.5055       ^ definitely 1.0419x faster
   <harmonic>                           142.8848+-0.4315    ^   139.4901+-0.3682       ^ definitely 1.0243x faster

                                            TipOfTree               NewObjArr                                    
All benchmarks:
   <arithmetic>                          94.5623+-0.1303    ^    91.0207+-0.2131       ^ definitely 1.0389x faster
   <geometric>                           23.8698+-0.0692    ^    23.5873+-0.0644       ^ definitely 1.0120x faster
   <harmonic>                             7.5946+-0.0522          7.5800+-0.0698

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