<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>68143</bug_id>
          
          <creation_ts>2011-09-14 23:46:57 -0700</creation_ts>
          <short_desc>Value profiles collect no information for global variables</short_desc>
          <delta_ts>2011-09-15 12:55:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>467665</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-09-14 23:46:57 -0700</bug_when>
    <thetext>Value profiles used by tiered compilation collect no information for global variable loads, even though they probably should do so just like other property accesses.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467667</commentid>
    <comment_count>1</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-09-14 23:47:44 -0700</bug_when>
    <thetext>Doing this appears to produce a 17% speed-up on string-fasta.


Benchmark report for SunSpider, V8, and Kraken.

VMs tested:
&quot;TipOfTree&quot; at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
&quot;GlobalVarProfile&quot; at /Volumes/Data/pizlo/septenary/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            GlobalVarProfile                                
SunSpider:
   3d-cube                                7.8082+-0.1079    ?     7.8471+-0.1885       ?
   3d-morph                               7.4736+-0.1019          7.3982+-0.1500         might be 1.0102x faster
   3d-raytrace                            7.5719+-0.0925    ?     7.7841+-0.1691       ? might be 1.0280x slower
   access-binary-trees                    2.3421+-0.1033    ?     2.4316+-0.1598       ? might be 1.0382x slower
   access-fannkuch                       11.6264+-0.2108         11.6090+-0.2593       
   access-nbody                           4.2754+-0.1636          4.2182+-0.0761         might be 1.0136x faster
   access-nsieve                          2.6933+-0.1160          2.6595+-0.0790         might be 1.0127x faster
   bitops-3bit-bits-in-byte               1.7263+-0.0730          1.6892+-0.0361         might be 1.0219x faster
   bitops-bits-in-byte                    2.7137+-0.0399    ?     2.7880+-0.0571       ? might be 1.0274x slower
   bitops-bitwise-and                     3.5911+-0.0934          3.5841+-0.0896       
   bitops-nsieve-bits                     5.3006+-0.0913    ?     5.4109+-0.2121       ? might be 1.0208x slower
   controlflow-recursive                  1.9564+-0.0463    ?     2.0176+-0.0574       ? might be 1.0313x slower
   crypto-aes                             6.9636+-0.2600          6.9293+-0.2545       
   crypto-md5                             2.6808+-0.0224    ?     2.7667+-0.0955       ? might be 1.0321x slower
   crypto-sha1                            2.1628+-0.0512          2.1432+-0.0254       
   date-format-tofte                     10.4746+-0.2961         10.2954+-0.3917         might be 1.0174x faster
   date-format-xparb                      8.7510+-0.2551    ?     8.9827+-0.2189       ? might be 1.0265x slower
   math-cordic                            6.2209+-0.1250    ?     6.2881+-0.1458       ? might be 1.0108x slower
   math-partial-sums                      7.4749+-0.1750          7.3382+-0.1338         might be 1.0186x faster
   math-spectral-norm                     2.6076+-0.0877    ?     2.6086+-0.0426       ?
   regexp-dna                            10.9258+-0.1886    ?    10.9681+-0.2181       ?
   string-base64                          5.9446+-0.2683          5.7639+-0.2387         might be 1.0314x faster
   string-fasta                           8.3444+-0.2235    ^     7.1399+-0.1846       ^ definitely 1.1687x faster
   string-tagcloud                       11.9497+-0.3133    ?    12.0223+-0.3088       ?
   string-unpack-code                    18.8324+-0.3925         18.7539+-0.4277       
   string-validate-input                  6.7391+-0.2165          6.7018+-0.1905       

   &lt;arithmetic&gt;                           6.5058+-0.0207          6.4669+-0.0384       
   &lt;geometric&gt;                            5.3515+-0.0207          5.3347+-0.0266       
   &lt;harmonic&gt;                             4.3471+-0.0316    ?     4.3528+-0.0230       ?

                                            TipOfTree            GlobalVarProfile                                
V8:
   crypto                                83.6288+-0.9219         83.4868+-0.7196       
   deltablue                            247.5050+-2.4194        244.5040+-1.6395         might be 1.0123x faster
   earley-boyer                          94.9656+-0.4355    ?    95.2173+-1.1138       ?
   raytrace                              72.1248+-0.7492    ?    73.4037+-0.6232       ? might be 1.0177x slower
   regexp                               106.7957+-0.3336    ?   107.2530+-0.6605       ?
   richards                             217.2272+-1.3942    ?   218.5755+-0.6407       ?
   splay                                 98.7647+-0.4745    ?    98.8252+-0.4361       ?

   &lt;arithmetic&gt;                         131.5731+-0.3473    ?   131.6094+-0.3043       ?
   &lt;geometric&gt;                          118.3221+-0.1812    ?   118.6175+-0.2684       ?
   &lt;harmonic&gt;                           108.5373+-0.1645    ?   109.0019+-0.3074       ?

                                            TipOfTree            GlobalVarProfile                                
Kraken:
   ai-astar                             633.1555+-5.7432        630.8679+-4.6809       
   audio-beat-detection                 471.2182+-1.7112    !   477.0400+-2.6966       ! definitely 1.0124x slower
   audio-dft                            421.4834+-3.5459        419.5688+-2.7914       
   audio-fft                            367.7237+-1.1684    ?   369.3817+-1.6521       ?
   audio-oscillator                     319.0198+-0.8527    ^   315.8485+-1.0662       ^ definitely 1.0100x faster
   imaging-darkroom                     414.5780+-0.8529    !   418.2511+-1.9829       ! definitely 1.0089x slower
   imaging-desaturate                   208.9592+-1.0865        208.1463+-0.3312       
   imaging-gaussian-blur               1730.6572+-4.2407       1729.9792+-2.8306       
   json-parse-financial                  48.1279+-0.2019    ?    48.5082+-0.3040       ?
   json-stringify-tinderbox              69.0969+-0.5589         68.8286+-0.5030       
   stanford-crypto-aes                  145.7341+-0.7048    ?   145.9337+-0.8582       ?
   stanford-crypto-ccm                  111.9191+-0.9876    ?   112.3584+-0.6948       ?
   stanford-crypto-pbkdf2               401.2080+-3.4416        397.3857+-2.1064       
   stanford-crypto-sha256-iterative     149.8334+-0.5571        149.6679+-0.6379       

   &lt;arithmetic&gt;                         392.3367+-0.7224        392.2690+-0.6121       
   &lt;geometric&gt;                          262.0689+-0.5519    ?   262.1030+-0.4722       ?
   &lt;harmonic&gt;                           175.1691+-0.4898    ?   175.4169+-0.5955       ?

                                            TipOfTree            GlobalVarProfile                                
All benchmarks:
   &lt;arithmetic&gt;                         140.0612+-0.2171        140.0249+-0.1915       
   &lt;geometric&gt;                           27.0469+-0.0586         27.0109+-0.0684       
   &lt;harmonic&gt;                             7.6729+-0.0544    ?     7.6833+-0.0396       ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467668</commentid>
    <comment_count>2</comment_count>
      <attachid>107466</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-09-14 23:50:14 -0700</bug_when>
    <thetext>Created attachment 107466
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467951</commentid>
    <comment_count>3</comment_count>
      <attachid>107466</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-09-15 11:41:28 -0700</bug_when>
    <thetext>Comment on attachment 107466
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468013</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-09-15 12:55:49 -0700</bug_when>
    <thetext>Landed in r95219.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107466</attachid>
            <date>2011-09-14 23:50:14 -0700</date>
            <delta_ts>2011-09-15 11:41:28 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>globalvarprofile_patch_1.diff</filename>
            <type>text/plain</type>
            <size>3740</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTUxNzMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTEtMDktMTQgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBW
YWx1ZSBwcm9maWxlcyBjb2xsZWN0IG5vIGluZm9ybWF0aW9uIGZvciBnbG9iYWwgdmFyaWFibGVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE0Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAg
MTclIHNwZWVkLXVwIG9uIHN0cmluZy1mYXN0YS4gIE5ldXRyYWwgZWxzZXdoZXJlLgorCisgICAg
ICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRl
Q29kZVBhcnNlcjo6Z2V0U3Ryb25nUHJlZGljdGlvbik6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0
ZUNvZGVQYXJzZXI6OnN0cm9uZ2x5UHJlZGljdCk6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNv
ZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5j
cHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9nZXRfZ2xvYmFsX3Zhcik6CisKIDIwMTEt
MDktMTQgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBERkcgZG9l
cyBub3Qgc3BlY3VsYXRlIGFnZ3Jlc3NpdmVseSBlbm91Z2ggb24gY29tcGFyaXNvbnMKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShy
ZXZpc2lvbiA5NTE3MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQ
YXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NzQsMjEgKzQ3NCwyOSBAQCBwcml2YXRlOgog
ICAgICAgICB9IHdoaWxlICghbV9yZXVzYWJsZU5vZGVTdGFjay5pc0VtcHR5KCkpOwogICAgIH0K
ICAgICAKLSAgICB2b2lkIHN0cm9uZ2x5UHJlZGljdChOb2RlSW5kZXggbm9kZUluZGV4LCB1bnNp
Z25lZCBieXRlY29kZUluZGV4KQorICAgIFByZWRpY3RlZFR5cGUgZ2V0U3Ryb25nUHJlZGljdGlv
bihOb2RlSW5kZXggbm9kZUluZGV4LCB1bnNpZ25lZCBieXRlY29kZUluZGV4KQogICAgIHsKKyAg
ICAgICAgVU5VU0VEX1BBUkFNKG5vZGVJbmRleCk7CisgICAgICAgIFVOVVNFRF9QQVJBTShieXRl
Y29kZUluZGV4KTsKKyAgICAgICAgCiAjaWYgRU5BQkxFKERZTkFNSUNfT1BUSU1JWkFUSU9OKQog
ICAgICAgICBWYWx1ZVByb2ZpbGUqIHByb2ZpbGUgPSBtX3Byb2ZpbGVkQmxvY2stPnZhbHVlUHJv
ZmlsZUZvckJ5dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlSW5kZXgpOwogICAgICAgICBBU1NFUlQocHJv
ZmlsZSk7Ci0gICAgICAgIG1fZ3JhcGhbbm9kZUluZGV4XS5wcmVkaWN0KHByb2ZpbGUtPmNvbXB1
dGVVcGRhdGVkUHJlZGljdGlvbigpICYgflByZWRpY3Rpb25UYWdNYXNrLCBTdHJvbmdQcmVkaWN0
aW9uKTsKKyAgICAgICAgUHJlZGljdGVkVHlwZSBwcmVkaWN0aW9uID0gcHJvZmlsZS0+Y29tcHV0
ZVVwZGF0ZWRQcmVkaWN0aW9uKCk7CiAjaWYgRU5BQkxFKERGR19ERUJVR19WRVJCT1NFKQotICAg
ICAgICBwcmludGYoIkR5bmFtaWMgWyV1LCAldV0gcHJlZGljdGlvbjogJXNcbiIsIG5vZGVJbmRl
eCwgYnl0ZWNvZGVJbmRleCwgcHJlZGljdGlvblRvU3RyaW5nKG1fZ3JhcGhbbm9kZUluZGV4XS5n
ZXRQcmVkaWN0aW9uKCkpKTsKKyAgICAgICAgcHJpbnRmKCJEeW5hbWljIFsldSwgJXVdIHByZWRp
Y3Rpb246ICVzXG4iLCBub2RlSW5kZXgsIGJ5dGVjb2RlSW5kZXgsIHByZWRpY3Rpb25Ub1N0cmlu
ZyhwcmVkaWN0aW9uKSk7CiAjZW5kaWYKKyAgICAgICAgcmV0dXJuIHByZWRpY3Rpb247CiAjZWxz
ZQotICAgICAgICBVTlVTRURfUEFSQU0obm9kZUluZGV4KTsKLSAgICAgICAgVU5VU0VEX1BBUkFN
KGJ5dGVjb2RlSW5kZXgpOworICAgICAgICByZXR1cm4gUHJlZGljdE5vbmU7CiAjZW5kaWYKICAg
ICB9CiAgICAgCisgICAgdm9pZCBzdHJvbmdseVByZWRpY3QoTm9kZUluZGV4IG5vZGVJbmRleCwg
dW5zaWduZWQgYnl0ZWNvZGVJbmRleCkKKyAgICB7CisgICAgICAgIG1fZ3JhcGhbbm9kZUluZGV4
XS5wcmVkaWN0KGdldFN0cm9uZ1ByZWRpY3Rpb24obm9kZUluZGV4LCBieXRlY29kZUluZGV4KSAm
IH5QcmVkaWN0aW9uVGFnTWFzaywgU3Ryb25nUHJlZGljdGlvbik7CisgICAgfQorICAgIAogICAg
IHZvaWQgc3Ryb25nbHlQcmVkaWN0KE5vZGVJbmRleCBub2RlSW5kZXgpCiAgICAgewogICAgICAg
ICBzdHJvbmdseVByZWRpY3Qobm9kZUluZGV4LCBtX2N1cnJlbnRJbmRleCk7CkBAIC05ODgsNiAr
OTk2LDcgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAg
ICBjYXNlIG9wX2dldF9nbG9iYWxfdmFyOiB7CiAgICAgICAgICAgICBOb2RlSW5kZXggZ2V0R2xv
YmFsVmFyID0gYWRkVG9HcmFwaChHZXRHbG9iYWxWYXIsIE9wSW5mbyhjdXJyZW50SW5zdHJ1Y3Rp
b25bMl0udS5vcGVyYW5kKSk7CiAgICAgICAgICAgICBzZXQoY3VycmVudEluc3RydWN0aW9uWzFd
LnUub3BlcmFuZCwgZ2V0R2xvYmFsVmFyKTsKKyAgICAgICAgICAgIG1fZ3JhcGgucHJlZGljdEds
b2JhbFZhcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCBnZXRTdHJvbmdQcmVkaWN0
aW9uKGdldEdsb2JhbFZhciwgbV9jdXJyZW50SW5kZXgpICYgflByZWRpY3Rpb25UYWdNYXNrLCBT
dHJvbmdQcmVkaWN0aW9uKTsKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX2dldF9nbG9iYWxf
dmFyKTsKICAgICAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFBy
b3BlcnR5QWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFByb3BlcnR5QWNjZXNzLmNwcAkocmV2aXNpb24gOTUxNzMpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAw
NCw2ICsxMDA0LDcgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X2dsb2JhbF92YXIoSW5zdHJ1Ywog
ICAgIEpTVmFyaWFibGVPYmplY3QqIGdsb2JhbE9iamVjdCA9IG1fY29kZUJsb2NrLT5nbG9iYWxP
YmplY3QoKTsKICAgICBsb2FkUHRyKCZnbG9iYWxPYmplY3QtPm1fcmVnaXN0ZXJzLCByZWdUMCk7
CiAgICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QwLCBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVy
YW5kICogc2l6ZW9mKFJlZ2lzdGVyKSksIHJlZ1QwKTsKKyAgICBlbWl0VmFsdWVQcm9maWxpbmdT
aXRlKEZpcnN0UHJvZmlsaW5nU2l0ZSk7CiAgICAgZW1pdFB1dFZpcnR1YWxSZWdpc3RlcihjdXJy
ZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKTsKIH0KIAo=
</data>
<flag name="review"
          id="104173"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>