<?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>106190</bug_id>
          
          <creation_ts>2013-01-05 17:12:10 -0800</creation_ts>
          <short_desc>Data flow paths that carry non-numbers, non-undefined, non-null values should not cause subtractions and arithmetic additions (i.e. ++) to speculate double</short_desc>
          <delta_ts>2013-01-05 19:01:53 -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>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>801015</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-01-05 17:12:10 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801016</commentid>
    <comment_count>1</comment_count>
      <attachid>181449</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-01-05 17:15:01 -0800</bug_when>
    <thetext>Created attachment 181449
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801027</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-01-05 19:01:53 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/138915</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181449</attachid>
            <date>2013-01-05 17:15:01 -0800</date>
            <delta_ts>2013-01-05 18:26:36 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>add.patch</filename>
            <type>text/plain</type>
            <size>4501</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTM4ODkwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDEzLTAxLTA1ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
RGF0YSBmbG93IHBhdGhzIHRoYXQgY2Fycnkgbm9uLW51bWJlcnMsIG5vbi11bmRlZmluZWQsIG5v
bi1udWxsIHZhbHVlcyBzaG91bGQgbm90IGNhdXNlIHN1YnRyYWN0aW9ucyBhbmQgYXJpdGhtZXRp
YyBhZGRpdGlvbnMgKGkuZS4gKyspIHRvIHNwZWN1bGF0ZSBkb3VibGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjE5MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgVGhlIHByb2JsZW0gaXMg
dGhhdCB0aGUgREZHIGxvZ2ljIGZvciBkZWNpZGluZyB3aGVuIHRvIHNwZWN1bGF0ZSBpbnRlZ2Vy
IHdhcworICAgICAgICBjb25mdXNpbmcgdGhlIHNwZWNpYWwgY2FzZSBvZiBWYWx1ZUFkZCAod2hl
cmUgbm9uLW51bWVyaWMgdmFsdWVzIHNob3VsZCBjYXVzZSB1cworICAgICAgICB0byBub3Qgc3Bl
Y3VsYXRlIGludGVnZXIsIGJlY2F1c2Ugd2Ugd2FudCB0byBmYWxsIG9mZiBpbnRvIHRoZSBnZW5l
cmljIGNhc2UpIHdpdGgKKyAgICAgICAgdGhlIG1vcmUgbm9ybWFsIGNhc2Ugb2YgQXJpdGhBZGQg
YW5kIEFyaXRoU3ViICh3aGVyZSB3ZSB3YW50IHRvIHNwZWN1bGF0ZSBpbnRlZ2VyCisgICAgICAg
IHVubGVzcyB3ZSBoYXZlIGV2aWRlbmNlIHRoYXQgdGhlIG9wZXJhbmRzIGFyZSBkb3VibGVzLCBz
aW5jZSB0aGUgREZHIGRvZXNuJ3QgaGF2ZQorICAgICAgICBnZW5lcmljIGhhbmRsaW5nIG9mIHRo
b3NlIG9wZXJhdGlvbnMpLiBQcmlvciB0byB0aGlzIGNoYW5nZSBkb2luZyBhIC0gYiB3aGVyZQor
ICAgICAgICBlaXRoZXIgYSBvciBiIHdlcmUgcG9zc2libHkgbm9uLW51bWVyaWMgd291bGQgYWx3
YXlzIGZvcmNlIHRoZSBzdWJ0cmFjdGlvbiB0byBiZQorICAgICAgICBkb25lIHVzaW5nIGRvdWJs
ZXMuCisKKyAgICAgICAgKiBkZmcvREZHR3JhcGguaDoKKyAgICAgICAgKEpTQzo6REZHOjpHcmFw
aDo6YWRkU3BlY3VsYXRpb25Nb2RlKToKKyAgICAgICAgKEdyYXBoKToKKyAgICAgICAgKEpTQzo6
REZHOjpHcmFwaDo6dmFsdWVBZGRTcGVjdWxhdGlvbk1vZGUpOgorICAgICAgICAoSlNDOjpERkc6
OkdyYXBoOjphcml0aEFkZFNwZWN1bGF0aW9uTW9kZSk6CisgICAgICAgIChKU0M6OkRGRzo6R3Jh
cGg6OmFkZEltbWVkaWF0ZVNob3VsZFNwZWN1bGF0ZUludGVnZXIpOgorCiAyMDEzLTAxLTA0ICBG
aWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgREZHIHNob3VsZCB0cnVz
dCBhcnJheSBwcm9maWxpbmcgb3ZlciB2YWx1ZSBwcm9maWxpbmcKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0dyYXBoLmgJKHJldmlzaW9uIDEzODg5MCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHR3JhcGguaAkod29ya2luZyBjb3B5KQpAQCAtMjE1LDcgKzIxNSw3IEBA
IHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHNwZWN1bGF0aW9uRnJvbVZhbHVlKG5vZGUudmFsdWVP
ZkpTQ29uc3RhbnQobV9jb2RlQmxvY2spKTsKICAgICB9CiAgICAgCi0gICAgQWRkU3BlY3VsYXRp
b25Nb2RlIGFkZFNwZWN1bGF0aW9uTW9kZShOb2RlJiBhZGQpCisgICAgQWRkU3BlY3VsYXRpb25N
b2RlIGFkZFNwZWN1bGF0aW9uTW9kZShOb2RlJiBhZGQsIGJvb2wgbGVmdFNob3VsZFNwZWN1bGF0
ZUludGVnZXIsIGJvb2wgcmlnaHRTaG91bGRTcGVjdWxhdGVJbnRlZ2VyKQogICAgIHsKICAgICAg
ICAgQVNTRVJUKGFkZC5vcCgpID09IFZhbHVlQWRkIHx8IGFkZC5vcCgpID09IEFyaXRoQWRkIHx8
IGFkZC5vcCgpID09IEFyaXRoU3ViKTsKICAgICAgICAgCkBAIC0yMjMsMTEgKzIyMywyOSBAQCBw
dWJsaWM6CiAgICAgICAgIE5vZGUmIHJpZ2h0ID0gYXQoYWRkLmNoaWxkMigpKTsKICAgICAgICAg
CiAgICAgICAgIGlmIChsZWZ0Lmhhc0NvbnN0YW50KCkpCi0gICAgICAgICAgICByZXR1cm4gYWRk
SW1tZWRpYXRlU2hvdWxkU3BlY3VsYXRlSW50ZWdlcihhZGQsIHJpZ2h0LCBsZWZ0KTsKKyAgICAg
ICAgICAgIHJldHVybiBhZGRJbW1lZGlhdGVTaG91bGRTcGVjdWxhdGVJbnRlZ2VyKGFkZCwgcmln
aHRTaG91bGRTcGVjdWxhdGVJbnRlZ2VyLCBsZWZ0KTsKICAgICAgICAgaWYgKHJpZ2h0Lmhhc0Nv
bnN0YW50KCkpCi0gICAgICAgICAgICByZXR1cm4gYWRkSW1tZWRpYXRlU2hvdWxkU3BlY3VsYXRl
SW50ZWdlcihhZGQsIGxlZnQsIHJpZ2h0KTsKKyAgICAgICAgICAgIHJldHVybiBhZGRJbW1lZGlh
dGVTaG91bGRTcGVjdWxhdGVJbnRlZ2VyKGFkZCwgbGVmdFNob3VsZFNwZWN1bGF0ZUludGVnZXIs
IHJpZ2h0KTsKKyAgICAgICAgCisgICAgICAgIHJldHVybiAobGVmdFNob3VsZFNwZWN1bGF0ZUlu
dGVnZXIgJiYgcmlnaHRTaG91bGRTcGVjdWxhdGVJbnRlZ2VyICYmIGFkZC5jYW5TcGVjdWxhdGVJ
bnRlZ2VyKCkpID8gU3BlY3VsYXRlSW50ZWdlciA6IERvbnRTcGVjdWxhdGVJbnRlZ2VyOworICAg
IH0KKyAgICAKKyAgICBBZGRTcGVjdWxhdGlvbk1vZGUgdmFsdWVBZGRTcGVjdWxhdGlvbk1vZGUo
Tm9kZSYgYWRkKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkZFNwZWN1bGF0aW9uTW9kZShhZGQs
IGF0KGFkZC5jaGlsZDEoKSkuc2hvdWxkU3BlY3VsYXRlSW50ZWdlckV4cGVjdGluZ0RlZmluZWQo
KSwgYXQoYWRkLmNoaWxkMigpKS5zaG91bGRTcGVjdWxhdGVJbnRlZ2VyRXhwZWN0aW5nRGVmaW5l
ZCgpKTsKKyAgICB9CisgICAgCisgICAgQWRkU3BlY3VsYXRpb25Nb2RlIGFyaXRoQWRkU3BlY3Vs
YXRpb25Nb2RlKE5vZGUmIGFkZCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZGRTcGVjdWxhdGlv
bk1vZGUoYWRkLCBhdChhZGQuY2hpbGQxKCkpLnNob3VsZFNwZWN1bGF0ZUludGVnZXJGb3JBcml0
aG1ldGljKCksIGF0KGFkZC5jaGlsZDIoKSkuc2hvdWxkU3BlY3VsYXRlSW50ZWdlckZvckFyaXRo
bWV0aWMoKSk7CisgICAgfQorICAgIAorICAgIEFkZFNwZWN1bGF0aW9uTW9kZSBhZGRTcGVjdWxh
dGlvbk1vZGUoTm9kZSYgYWRkKQorICAgIHsKKyAgICAgICAgaWYgKGFkZC5vcCgpID09IFZhbHVl
QWRkKQorICAgICAgICAgICAgcmV0dXJuIHZhbHVlQWRkU3BlY3VsYXRpb25Nb2RlKGFkZCk7CiAg
ICAgICAgIAotICAgICAgICByZXR1cm4gKE5vZGU6OnNob3VsZFNwZWN1bGF0ZUludGVnZXJFeHBl
Y3RpbmdEZWZpbmVkKGxlZnQsIHJpZ2h0KSAmJiBhZGQuY2FuU3BlY3VsYXRlSW50ZWdlcigpKSA/
IFNwZWN1bGF0ZUludGVnZXIgOiBEb250U3BlY3VsYXRlSW50ZWdlcjsKKyAgICAgICAgcmV0dXJu
IGFyaXRoQWRkU3BlY3VsYXRpb25Nb2RlKGFkZCk7CiAgICAgfQogICAgIAogICAgIGJvb2wgYWRk
U2hvdWxkU3BlY3VsYXRlSW50ZWdlcihOb2RlJiBhZGQpCkBAIC03MDcsNyArNzI1LDcgQEAgcHJp
dmF0ZToKICAgICAKICAgICB2b2lkIGhhbmRsZVN1Y2Nlc3NvcihWZWN0b3I8QmxvY2tJbmRleCwg
MTY+JiB3b3JrbGlzdCwgQmxvY2tJbmRleCBibG9ja0luZGV4LCBCbG9ja0luZGV4IHN1Y2Nlc3Nv
ckluZGV4KTsKICAgICAKLSAgICBBZGRTcGVjdWxhdGlvbk1vZGUgYWRkSW1tZWRpYXRlU2hvdWxk
U3BlY3VsYXRlSW50ZWdlcihOb2RlJiBhZGQsIE5vZGUmIHZhcmlhYmxlLCBOb2RlJiBpbW1lZGlh
dGUpCisgICAgQWRkU3BlY3VsYXRpb25Nb2RlIGFkZEltbWVkaWF0ZVNob3VsZFNwZWN1bGF0ZUlu
dGVnZXIoTm9kZSYgYWRkLCBib29sIHZhcmlhYmxlU2hvdWxkU3BlY3VsYXRlSW50ZWdlciwgTm9k
ZSYgaW1tZWRpYXRlKQogICAgIHsKICAgICAgICAgQVNTRVJUKGltbWVkaWF0ZS5oYXNDb25zdGFu
dCgpKTsKICAgICAgICAgCkBAIC03MTUsNyArNzMzLDcgQEAgcHJpdmF0ZToKICAgICAgICAgaWYg
KCFpbW1lZGlhdGVWYWx1ZS5pc051bWJlcigpKQogICAgICAgICAgICAgcmV0dXJuIERvbnRTcGVj
dWxhdGVJbnRlZ2VyOwogICAgICAgICAKLSAgICAgICAgaWYgKCF2YXJpYWJsZS5zaG91bGRTcGVj
dWxhdGVJbnRlZ2VyRXhwZWN0aW5nRGVmaW5lZCgpKQorICAgICAgICBpZiAoIXZhcmlhYmxlU2hv
dWxkU3BlY3VsYXRlSW50ZWdlcikKICAgICAgICAgICAgIHJldHVybiBEb250U3BlY3VsYXRlSW50
ZWdlcjsKICAgICAgICAgCiAgICAgICAgIGlmIChpbW1lZGlhdGVWYWx1ZS5pc0ludDMyKCkpCg==
</data>
<flag name="review"
          id="199081"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>