<?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>64630</bug_id>
          
          <creation_ts>2011-07-15 14:37:46 -0700</creation_ts>
          <short_desc>DFG JIT - Where arguments passed are integers, speculate this.</short_desc>
          <delta_ts>2011-07-16 22:32:28 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>437988</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-15 14:37:46 -0700</bug_when>
    <thetext>Presently the DFG JIT is overly aggressively predicting double.  Use a bit of dynamic information, and curtail this a little.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437989</commentid>
    <comment_count>1</comment_count>
      <attachid>101044</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-15 14:40:08 -0700</bug_when>
    <thetext>Created attachment 101044
The patch

TEST                   COMPARISON            FROM                 TO             DETAILS

=============================================================================

** TOTAL **:           1.006x as fast    235.3ms +/- 0.5%   233.8ms +/- 0.3%     significant

=============================================================================

  3d:                  -                  34.0ms +/- 0.0%    34.0ms +/- 0.0% 
    cube:              -                  13.0ms +/- 0.0%    13.0ms +/- 0.0% 
    morph:             -                  10.0ms +/- 0.0%    10.0ms +/- 0.0% 
    raytrace:          -                  11.0ms +/- 0.0%    11.0ms +/- 0.0% 

  access:              -                  26.1ms +/- 3.8%    25.5ms +/- 1.5% 
    binary-trees:      -                   4.0ms +/- 0.0%     4.0ms +/- 0.0% 
    fannkuch:          -                  14.1ms +/- 6.9%    13.5ms +/- 2.8% 
    nbody:             -                   5.0ms +/- 0.0%     5.0ms +/- 0.0% 
    nsieve:            -                   3.0ms +/- 0.0%     3.0ms +/- 0.0% 

  bitops:              1.045x as fast     18.6ms +/- 2.0%    17.8ms +/- 1.7%     significant
    3bit-bits-in-byte: 1.60x as fast       1.6ms +/- 23.1%     1.0ms +/- 0.0%     significant
    bits-in-byte:      -                   5.0ms +/- 0.0%     5.0ms +/- 0.0% 
    bitwise-and:       -                   6.0ms +/- 0.0%     5.8ms +/- 5.2% 
    nsieve-bits:       -                   6.0ms +/- 0.0%     6.0ms +/- 0.0% 

  controlflow:         -                   2.0ms +/- 0.0%     2.0ms +/- 0.0% 
    recursive:         -                   2.0ms +/- 0.0%     2.0ms +/- 0.0% 

  crypto:              1.069x as fast     14.0ms +/- 0.0%    13.1ms +/- 1.7%     significant
    aes:               1.111x as fast      9.0ms +/- 0.0%     8.1ms +/- 2.8%     significant
    md5:               -                   3.0ms +/- 0.0%     3.0ms +/- 0.0% 
    sha1:              -                   2.0ms +/- 0.0%     2.0ms +/- 0.0% 

  date:                -                  30.0ms +/- 0.0%    30.0ms +/- 0.0% 
    format-tofte:      -                  18.0ms +/- 0.0%    18.0ms +/- 0.0% 
    format-xparb:      -                  12.0ms +/- 0.0%    12.0ms +/- 0.0% 

  math:                ??                 22.5ms +/- 1.7%    22.8ms +/- 1.3%     not conclusive: might be *1.013x as slow*
    cordic:            -                   8.0ms +/- 0.0%     8.0ms +/- 0.0% 
    partial-sums:      ??                 11.5ms +/- 3.3%    11.8ms +/- 2.6%     not conclusive: might be *1.026x as slow*
    spectral-norm:     -                   3.0ms +/- 0.0%     3.0ms +/- 0.0% 

  regexp:              -                  14.1ms +/- 1.6%    14.0ms +/- 0.0% 
    dna:               -                  14.1ms +/- 1.6%    14.0ms +/- 0.0% 

  string:              ??                 74.0ms +/- 0.8%    74.6ms +/- 0.5%     not conclusive: might be *1.008x as slow*
    base64:            -                   8.0ms +/- 0.0%     8.0ms +/- 0.0% 
    fasta:             -                  10.0ms +/- 0.0%    10.0ms +/- 0.0% 
    tagcloud:          ??                 18.6ms +/- 2.0%    18.9ms +/- 1.2%     not conclusive: might be *1.016x as slow*
    unpack-code:       -                  28.0ms +/- 0.0%    28.0ms +/- 0.0% 
    validate-input:    ??                  9.4ms +/- 3.9%     9.7ms +/- 3.6%     not conclusive: might be *1.032x as slow*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438001</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-15 14:57:45 -0700</bug_when>
    <thetext>Fixed in r91115</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101044</attachid>
            <date>2011-07-15 14:40:08 -0700</date>
            <delta_ts>2011-07-15 14:43:51 -0700</delta_ts>
            <desc>The patch</desc>
            <filename>64630.patch</filename>
            <type>text/plain</type>
            <size>4008</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTExMTMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAK
KzIwMTEtMDctMTUgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgor
CisgICAgICAgIERGRyBKSVQgLSBXaGVyZSBhcmd1bWVudHMgcGFzc2VkIGFyZSBpbnRlZ2Vycywg
c3BlY3VsYXRlIHRoaXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02NDYzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFByZXNlbnRseSB0aGUgREZHIEpJVCBpcyBvdmVybHkgYWdncmVzc2l2ZWx5IHByZWRp
Y3RpbmcgZG91YmxlLgorICAgICAgICBVc2UgYSBiaXQgb2YgZHluYW1pYyBpbmZvcm1hdGlvbiwg
YW5kIGN1cnRhaWwgdGhpcyBhIGxpdHRsZS4KKworICAgICAgICAqIGRmZy9ERkdHcmFwaC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6R3JhcGg6OnByZWRpY3RBcmd1bWVudFR5cGVzKToKKyAgICAg
ICAgICAgIC0gQ2hlY2sgZm9yIGludGVnZXIgYXJndW1lbnRzLgorICAgICAgICAqIGRmZy9ERkdH
cmFwaC5oOgorICAgICAgICAgICAgLSBGdW5jdGlvbiBkZWNsYXJhdGlvbi4KKyAgICAgICAgKiBy
dW50aW1lL0V4ZWN1dGFibGUuY3BwOgorICAgICAgICAoSlNDOjp0cnlERkdDb21waWxlKToKKyAg
ICAgICAgKEpTQzo6RnVuY3Rpb25FeGVjdXRhYmxlOjpjb21waWxlRm9yQ2FsbEludGVybmFsKToK
KyAgICAgICAgICAgIC0gQWRkIGNhbGwgdG8gcHJlZGljdEFyZ3VtZW50VHlwZXMuCisKIDIwMTEt
MDctMTUgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBERkcgSklU
IGlzIGluY29uc2lzdGVudCBhYm91dCBmdXNpbmcgYnJhbmNoZXMgYW5kIHNwZWN1bGF0aW5nCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkocmV2aXNpb24gOTExMDAp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTc2LDYgKzE3NiwxNiBAQCB2b2lkIEdyYXBoOjpyZWZDaGlsZHJlbihOb2RlSW5kZXgg
b3ApCiAgICAgfQogfQogCit2b2lkIEdyYXBoOjpwcmVkaWN0QXJndW1lbnRUeXBlcyhFeGVjU3Rh
dGUqIGV4ZWMpCit7CisgICAgc2l6ZV90IG51bWJlck9mQXJndW1lbnRzID0gc3RkOjptaW4oZXhl
Yy0+YXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoKSwgbV9hcmd1bWVudFByZWRpY3Rpb25zLnNp
emUoKSk7CisKKyAgICBmb3IgKHNpemVfdCBhcmcgPSAxOyBhcmcgPCBudW1iZXJPZkFyZ3VtZW50
czsgKythcmcpIHsKKyAgICAgICAgaWYgKGV4ZWMtPmFyZ3VtZW50KGFyZyAtIDEpLmlzSW50MzIo
KSkKKyAgICAgICAgICAgIG1fYXJndW1lbnRQcmVkaWN0aW9uc1thcmddLm1fdmFsdWUgfD0gUHJl
ZGljdEludDMyOworICAgIH0KK30KKwogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwogCiAjZW5k
aWYKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmgJKHJldmlzaW9uIDkxMTAw
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgQ29kZUJsb2NrOwor
c3RydWN0IEV4ZWNTdGF0ZTsKIAogbmFtZXNwYWNlIERGRyB7CiAKQEAgLTE2NCw2ICsxNjUsOCBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IGNoYXIgKm9wTmFtZShOb2RlVHlwZSk7CiAjZW5k
aWYKIAorICAgIHZvaWQgcHJlZGljdEFyZ3VtZW50VHlwZXMoRXhlY1N0YXRlKik7CisKICAgICBW
ZWN0b3I8IE93blB0cjxCYXNpY0Jsb2NrPiAsIDg+IG1fYmxvY2tzOwogICAgIFZlY3RvcjxOb2Rl
SW5kZXgsIDE2PiBtX3ZhckFyZ0NoaWxkcmVuOwogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuY3BwCShyZXZpc2lvbiA5MTEwMCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNTksOCArMjU5LDkgQEAgdm9pZCBQcm9ncmFtRXhlY3V0YWJsZTo6dW5saW5rQ2Fs
bHMoKQogfQogCiAjaWYgRU5BQkxFKEpJVCkKLXN0YXRpYyBib29sIHRyeURGR0NvbXBpbGUoSlNH
bG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSklUQ29kZSYgaml0
Q29kZSwgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyJiBqaXRDb2RlV2l0aEFyaXR5Q2hlY2spCitzdGF0
aWMgYm9vbCB0cnlERkdDb21waWxlKEV4ZWNTdGF0ZSogZXhlYywgQ29kZUJsb2NrKiBjb2RlQmxv
Y2ssIEpJVENvZGUmIGppdENvZGUsIE1hY3JvQXNzZW1ibGVyQ29kZVB0ciYgaml0Q29kZVdpdGhB
cml0eUNoZWNrKQogeworICAgIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSA9ICZleGVjLT5nbG9i
YWxEYXRhKCk7CiAjaWYgRU5BQkxFKERGR19KSVQpCiAjaWYgRU5BQkxFKERGR19KSVRfUkVTVFJJ
Q1RJT05TKQogICAgIC8vIEZJWE1FOiBObyBmbG93IGNvbnRyb2wgeWV0IHN1cHBvcnRlZCwgZG9u
J3QgYm90aGVyIHNjYW5uaW5nIHRoZSBieXRlY29kZSBpZiB0aGVyZSBhcmUgYW55IGp1bXAgdGFy
Z2V0cy4KQEAgLTI3Miw2ICsyNzMsOCBAQCBzdGF0aWMgYm9vbCB0cnlERkdDb21waWxlKEpTR2xv
YmFsRGF0YSogCiAgICAgaWYgKCFwYXJzZShkZmcsIGdsb2JhbERhdGEsIGNvZGVCbG9jaykpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGRmZy5wcmVkaWN0QXJndW1lbnRUeXBlcyhleGVj
KTsKKwogICAgIERGRzo6SklUQ29tcGlsZXIgZGF0YUZsb3dKSVQoZ2xvYmFsRGF0YSwgZGZnLCBj
b2RlQmxvY2spOwogICAgIGRhdGFGbG93SklULmNvbXBpbGVGdW5jdGlvbihqaXRDb2RlLCBqaXRD
b2RlV2l0aEFyaXR5Q2hlY2spOwogICAgIHJldHVybiB0cnVlOwpAQCAtMzI5LDcgKzMzMiw3IEBA
IEpTT2JqZWN0KiBGdW5jdGlvbkV4ZWN1dGFibGU6OmNvbXBpbGVGb3IKIAogI2lmIEVOQUJMRShK
SVQpCiAgICAgaWYgKGV4ZWMtPmdsb2JhbERhdGEoKS5jYW5Vc2VKSVQoKSkgewotICAgICAgICBi
b29sIGRmZ0NvbXBpbGVkID0gdHJ5REZHQ29tcGlsZSgmZXhlYy0+Z2xvYmFsRGF0YSgpLCBtX2Nv
ZGVCbG9ja0ZvckNhbGwuZ2V0KCksIG1faml0Q29kZUZvckNhbGwsIG1faml0Q29kZUZvckNhbGxX
aXRoQXJpdHlDaGVjayk7CisgICAgICAgIGJvb2wgZGZnQ29tcGlsZWQgPSB0cnlERkdDb21waWxl
KGV4ZWMsIG1fY29kZUJsb2NrRm9yQ2FsbC5nZXQoKSwgbV9qaXRDb2RlRm9yQ2FsbCwgbV9qaXRD
b2RlRm9yQ2FsbFdpdGhBcml0eUNoZWNrKTsKICAgICAgICAgaWYgKCFkZmdDb21waWxlZCkKICAg
ICAgICAgICAgIG1faml0Q29kZUZvckNhbGwgPSBKSVQ6OmNvbXBpbGUoc2NvcGVDaGFpbk5vZGUt
Pmdsb2JhbERhdGEsIG1fY29kZUJsb2NrRm9yQ2FsbC5nZXQoKSwgJm1faml0Q29kZUZvckNhbGxX
aXRoQXJpdHlDaGVjayk7CiAK
</data>
<flag name="review"
          id="95856"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>