<?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>110659</bug_id>
          
          <creation_ts>2013-02-22 16:42:11 -0800</creation_ts>
          <short_desc>DFG::SpeculativeJIT::speculateNumber() should just use SpeculateDoubleOperand instead of doing its own thing</short_desc>
          <delta_ts>2013-02-22 17:12:51 -0800</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="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mario</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>840111</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-02-22 16:42:11 -0800</bug_when>
    <thetext>This simplifies the code, and also has the effect that if speculateNumber() is called prior to someone actually using the number in a double context, then the number will already be up-converted to double and ready to go.

Previously if this ever came up, the subsequent use would have to again branch to see if the value is tagged as int or tagged as double.

On the other hand, if you ever did speculateNumber() and then used the value as a JSValue, this will be a slow down now.

I suspect that the former (speculateNumber() and then use as number) is more likely than the latter (speculateNumber() and then use as JSValue).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840115</commentid>
    <comment_count>1</comment_count>
      <attachid>189862</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-02-22 16:43:39 -0800</bug_when>
    <thetext>Created attachment 189862
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840145</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-02-22 17:12:51 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/143818</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189862</attachid>
            <date>2013-02-22 16:43:39 -0800</date>
            <delta_ts>2013-02-22 16:45:03 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>2770</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQzODE0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDEzLTAyLTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
REZHOjpTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlTnVtYmVyKCkgc2hvdWxkIGp1c3QgdXNlIFNw
ZWN1bGF0ZURvdWJsZU9wZXJhbmQgaW5zdGVhZCBvZiBkb2luZyBpdHMgb3duIHRoaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA2NTkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFRoaXMg
c2ltcGxpZmllcyB0aGUgY29kZSwgYW5kIGFsc28gaGFzIHRoZSBlZmZlY3QgdGhhdCBpZiBzcGVj
dWxhdGVOdW1iZXIoKSBpcyBjYWxsZWQKKyAgICAgICAgcHJpb3IgdG8gc29tZW9uZSBhY3R1YWxs
eSB1c2luZyB0aGUgbnVtYmVyIGluIGEgZG91YmxlIGNvbnRleHQsIHRoZW4gdGhlIG51bWJlciB3
aWxsCisgICAgICAgIGFscmVhZHkgYmUgdXAtY29udmVydGVkIHRvIGRvdWJsZSBhbmQgcmVhZHkg
dG8gZ28uCisKKyAgICAgICAgUHJldmlvdXNseSBpZiB0aGlzIGV2ZXIgY2FtZSB1cCwgdGhlIHN1
YnNlcXVlbnQgdXNlIHdvdWxkIGhhdmUgdG8gYWdhaW4gYnJhbmNoIHRvIHNlZQorICAgICAgICBp
ZiB0aGUgdmFsdWUgaXMgdGFnZ2VkIGFzIGludCBvciB0YWdnZWQgYXMgZG91YmxlLgorCisgICAg
ICAgIE9uIHRoZSBvdGhlciBoYW5kLCBpZiB5b3UgZXZlciBkaWQgc3BlY3VsYXRlTnVtYmVyKCkg
YW5kIHRoZW4gdXNlZCB0aGUgdmFsdWUgYXMgYQorICAgICAgICBKU1ZhbHVlLCB0aGlzIHdpbGwg
YmUgYSBzbG93IGRvd24gbm93LgorCisgICAgICAgIEkgc3VzcGVjdCB0aGF0IHRoZSBmb3JtZXIg
KHNwZWN1bGF0ZU51bWJlcigpIGFuZCB0aGVuIHVzZSBhcyBudW1iZXIpIGlzIG1vcmUgbGlrZWx5
CisgICAgICAgIHRoYW4gdGhlIGxhdHRlciAoc3BlY3VsYXRlTnVtYmVyKCkgYW5kIHRoZW4gdXNl
IGFzIEpTVmFsdWUpLgorCisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlTnVtYmVyKToKKwogMjAx
My0wMi0yMiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JF
U1NJT04ocjE0MzY1NCk6IHNvbWUgZmFzdC9qcyB0ZXN0IGNyYXNoZXMgb24gMzIgYml0IGJ1aWxk
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmNwcAkocmV2aXNpb24gMTQzODAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5MzYsMjEgKzM5MzYsNyBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVOdW1iZXIoRWRnCiAgICAgaWYgKCFuZWVkc1R5
cGVDaGVjayhlZGdlLCBTcGVjTnVtYmVyKSkKICAgICAgICAgcmV0dXJuOwogICAgIAotICAgIEpT
VmFsdWVPcGVyYW5kIG9wZXJhbmQodGhpcywgZWRnZSwgTWFudWFsT3BlcmFuZFNwZWN1bGF0aW9u
KTsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgIEpJVENvbXBpbGVyOjpKdW1wIGlzSW50ZWdlciA9
IG1faml0LmJyYW5jaDY0KE1hY3JvQXNzZW1ibGVyOjpBYm92ZU9yRXF1YWwsIG9wZXJhbmQuZ3By
KCksIEdQUkluZm86OnRhZ1R5cGVOdW1iZXJSZWdpc3Rlcik7Ci0gICAgdHlwZUNoZWNrKAotICAg
ICAgICBKU1ZhbHVlUmVncyhvcGVyYW5kLmdwcigpKSwgZWRnZSwgU3BlY051bWJlciwKLSAgICAg
ICAgbV9qaXQuYnJhbmNoVGVzdDY0KE1hY3JvQXNzZW1ibGVyOjpaZXJvLCBvcGVyYW5kLmdwcigp
LCBHUFJJbmZvOjp0YWdUeXBlTnVtYmVyUmVnaXN0ZXIpKTsKLSAgICBpc0ludGVnZXIubGluaygm
bV9qaXQpOwotI2Vsc2UKLSAgICBKU1ZhbHVlT3BlcmFuZCBvcDEodGhpcywgZWRnZSwgTWFudWFs
T3BlcmFuZFNwZWN1bGF0aW9uKTsKLSAgICBKSVRDb21waWxlcjo6SnVtcCBpc0ludGVnZXIgPSBt
X2ppdC5icmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6RXF1YWwsIG9wZXJhbmQudGFnR1BSKCksIFRy
dXN0ZWRJbW0zMihKU1ZhbHVlOjpJbnQzMlRhZykpOwotICAgIHR5cGVDaGVjaygKLSAgICAgICAg
SlNWYWx1ZVJlZ3Mob3BlcmFuZC50YWdHUFIoKSwgb3AxLnBheWxvYWRHUFIoKSksIGVkZ2UsIFNw
ZWNOdW1iZXIsCi0gICAgICAgIG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpBYm92ZU9y
RXF1YWwsIG9wZXJhbmQudGFnR1BSKCksIFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpMb3dlc3RUYWcp
KSk7Ci0gICAgaXNJbnRlZ2VyLmxpbmsoJm1faml0KTsKLSNlbmRpZgorICAgIChTcGVjdWxhdGVE
b3VibGVPcGVyYW5kKHRoaXMsIGVkZ2UpKS5mcHIoKTsKIH0KIAogdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6c3BlY3VsYXRlUmVhbE51bWJlcihFZGdlIGVkZ2UpCg==
</data>
<flag name="review"
          id="210414"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>