<?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>68485</bug_id>
          
          <creation_ts>2011-09-20 15:59:00 -0700</creation_ts>
          <short_desc>DFG JIT always speculates integer on modulo</short_desc>
          <delta_ts>2011-09-20 19:22:26 -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>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>470428</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-09-20 15:59:00 -0700</bug_when>
    <thetext>The DFG JIT always speculates that the inputs to a modulo (%) are integers, even when they aren&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470430</commentid>
    <comment_count>1</comment_count>
      <attachid>108068</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-09-20 16:01:52 -0700</bug_when>
    <thetext>Created attachment 108068
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470452</commentid>
    <comment_count>2</comment_count>
      <attachid>108068</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-09-20 16:25:05 -0700</bug_when>
    <thetext>Comment on attachment 108068
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470562</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-09-20 19:22:26 -0700</bug_when>
    <thetext>Landed in r95594.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108068</attachid>
            <date>2011-09-20 16:01:52 -0700</date>
            <delta_ts>2011-09-20 16:25:05 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>doublemod_patch_1.diff</filename>
            <type>text/plain</type>
            <size>6131</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTU1NzgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAK
KzIwMTEtMDktMjAgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBE
RkcgSklUIGFsd2F5cyBzcGVjdWxhdGVzIGludGVnZXIgb24gbW9kdWxvCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ4NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBm
b3IgZG91YmxlIG1vZHVsbywgd2hpY2ggaXMgYSBjYWxsIHRvIGZtb2QoKS4KKyAgICAgICAgQWxz
byBhZGRlZCBzdXBwb3J0IGZvciByZWNvcmRpbmcgdGhlIG9sZCBKSVQncyBzdGF0aXN0aWNzCisg
ICAgICAgIG9uIG9wX21vZCBhbmQgcHJvcGFnYXRpbmcgdGhlbSBhbG9uZyB0aGUgZ3JhcGguIEZp
bmFsbHksCisgICAgICAgIGZpeGVkIGEgZ29vZiBpbiB0aGUgQXJpdGhOb2RlRmxhZ3MgcHJvcGFn
YXRpb24gbG9naWMgdGhhdAorICAgICAgICB3YXMgbWFkZSBvYnZpb3VzIHdoZW4gSSBzdGFydGVk
IHRlc3RpbmcgQXJpdGhNb2QuCisKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3Bw
OgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjptYWtlU2FmZSk6CisgICAgICAg
IChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9E
RkdOb2RlLmg6CisgICAgICAgIChKU0M6OkRGRzo6Tm9kZTo6aGFzQXJpdGhOb2RlRmxhZ3MpOgor
ICAgICAgICAqIGRmZy9ERkdQcm9wYWdhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpQcm9w
YWdhdG9yOjpwcm9wYWdhdGVBcml0aE5vZGVGbGFncyk6CisgICAgICAgIChKU0M6OkRGRzo6UHJv
cGFnYXRvcjo6cHJvcGFnYXRlTm9kZVByZWRpY3Rpb25zKToKKyAgICAgICAgKEpTQzo6REZHOjpQ
cm9wYWdhdG9yOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorCiAyMDEx
LTA5LTIwICBDaGFuZ1Nlb2sgT2ggIDxzaGl2YW1pZG93QGdtYWlsLmNvbT4KIAogICAgICAgICBb
R1RLXSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgc3VwcG9ydCBmb3IgZ3RrIHBvcnQKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShyZXZp
c2lvbiA5NTU2OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJz
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MjEsNiArNTIxLDcgQEAgcHJpdmF0ZToKICAgICAg
ICAgY2FzZSBBcml0aEFkZDoKICAgICAgICAgY2FzZSBBcml0aFN1YjoKICAgICAgICAgY2FzZSBW
YWx1ZUFkZDoKKyAgICAgICAgY2FzZSBBcml0aE1vZDogLy8gZm9yIEFyaXRoTW9kZSAiTWF5T3Zl
cmZsb3ciIG1lYW5zIHdlIHRyaWVkIHRvIGRpdmlkZSBieSB6ZXJvLCBvciB3ZSBzYXcgZG91Ymxl
LgogICAgICAgICAgICAgbV9ncmFwaFtub2RlSW5kZXhdLm1lcmdlQXJpdGhOb2RlRmxhZ3MoTm9k
ZU1heU92ZXJmbG93KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgCkBAIC04OTcs
NyArODk4LDcgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAg
ICAgICBjYXNlIG9wX21vZDogewogICAgICAgICAgICAgTm9kZUluZGV4IG9wMSA9IGdldFRvTnVt
YmVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpOwogICAgICAgICAgICAgTm9kZUlu
ZGV4IG9wMiA9IGdldFRvTnVtYmVyKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQpOwot
ICAgICAgICAgICAgc2V0KGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQsIGFkZFRvR3Jh
cGgoQXJpdGhNb2QsIG9wMSwgb3AyKSk7CisgICAgICAgICAgICBzZXQoY3VycmVudEluc3RydWN0
aW9uWzFdLnUub3BlcmFuZCwgbWFrZVNhZmUoYWRkVG9HcmFwaChBcml0aE1vZCwgT3BJbmZvKE5v
ZGVVc2VCb3R0b20pLCBvcDEsIG9wMikpKTsKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX21v
ZCk7CiAgICAgICAgIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2Rl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgJKHJl
dmlzaW9uIDk1NTY5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ4MCw2ICs0ODAsNyBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgICAgIGNh
c2UgQXJpdGhBYnM6CiAgICAgICAgIGNhc2UgQXJpdGhNaW46CiAgICAgICAgIGNhc2UgQXJpdGhN
YXg6CisgICAgICAgIGNhc2UgQXJpdGhNb2Q6CiAgICAgICAgIGNhc2UgVmFsdWVBZGQ6CiAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgZGVmYXVsdDoKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHUHJvcGFnYXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9wYWdhdG9yLmNwcAkocmV2aXNpb24gOTU1NjkpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb3BhZ2F0b3IuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNjEsNyArMjYxLDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9
IG1fZ3JhcGhbbm9kZS5jaGlsZDEoKV0ubWVyZ2VBcml0aE5vZGVGbGFncyhmbGFncyk7CiAgICAg
ICAgICAgICAgICAgaWYgKG5vZGUuY2hpbGQyKCkgPT0gTm9Ob2RlKQogICAgICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9IG1fZ3JhcGhbbm9kZS5jaGls
ZDEoKV0ubWVyZ2VBcml0aE5vZGVGbGFncyhmbGFncyk7CisgICAgICAgICAgICAgICAgY2hhbmdl
ZCB8PSBtX2dyYXBoW25vZGUuY2hpbGQyKCldLm1lcmdlQXJpdGhOb2RlRmxhZ3MoZmxhZ3MpOwog
ICAgICAgICAgICAgICAgIGlmIChub2RlLmNoaWxkMygpID09IE5vTm9kZSkKICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2hhbmdlZCB8PSBtX2dyYXBoW25vZGUu
Y2hpbGQzKCldLm1lcmdlQXJpdGhOb2RlRmxhZ3MoZmxhZ3MpOwpAQCAtMzYwLDExICszNjAsMjMg
QEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBCaXRSU2hpZnQ6CiAgICAgICAgIGNhc2UgQml0TFNo
aWZ0OgogICAgICAgICBjYXNlIEJpdFVSU2hpZnQ6Ci0gICAgICAgIGNhc2UgVmFsdWVUb0ludDMy
OgotICAgICAgICBjYXNlIEFyaXRoTW9kOiB7CisgICAgICAgIGNhc2UgVmFsdWVUb0ludDMyOiB7
CiAgICAgICAgICAgICBjaGFuZ2VkIHw9IHNldFByZWRpY3Rpb24obWFrZVByZWRpY3Rpb24oUHJl
ZGljdEludDMyLCBTdHJvbmdQcmVkaWN0aW9uKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQorCisgICAgICAgIGNhc2UgQXJpdGhNb2Q6IHsKKyAgICAgICAgICAgIFByZWRpY3RlZFR5
cGUgbGVmdCA9IG1fcHJlZGljdGlvbnNbbm9kZS5jaGlsZDEoKV07CisgICAgICAgICAgICBQcmVk
aWN0ZWRUeXBlIHJpZ2h0ID0gbV9wcmVkaWN0aW9uc1tub2RlLmNoaWxkMigpXTsKKyAgICAgICAg
ICAgIAorICAgICAgICAgICAgaWYgKGlzU3Ryb25nUHJlZGljdGlvbihsZWZ0KSAmJiBpc1N0cm9u
Z1ByZWRpY3Rpb24ocmlnaHQpKSB7CisgICAgICAgICAgICAgICAgaWYgKGlzSW50MzJQcmVkaWN0
aW9uKG1lcmdlUHJlZGljdGlvbnMobGVmdCwgcmlnaHQpKSAmJiBub2RlQ2FuU3BlY3VsYXRlSW50
ZWdlcihub2RlLmFyaXRoTm9kZUZsYWdzKCkpKQorICAgICAgICAgICAgICAgICAgICBjaGFuZ2Vk
IHw9IG1lcmdlUHJlZGljdGlvbihtYWtlUHJlZGljdGlvbihQcmVkaWN0SW50MzIsIFN0cm9uZ1By
ZWRpY3Rpb24pKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIGNo
YW5nZWQgfD0gbWVyZ2VQcmVkaWN0aW9uKG1ha2VQcmVkaWN0aW9uKFByZWRpY3REb3VibGUsIFN0
cm9uZ1ByZWRpY3Rpb24pKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgY2FzZSBVSW50MzJUb051bWJlcjogewogICAg
ICAgICAgICAgaWYgKG5vZGVDYW5TcGVjdWxhdGVJbnRlZ2VyKG5vZGUuYXJpdGhOb2RlRmxhZ3Mo
KSkpCkBAIC02MjEsNyArNjMzLDggQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBBcml0aFN1YjoK
ICAgICAgICAgY2FzZSBBcml0aE11bDoKICAgICAgICAgY2FzZSBBcml0aE1pbjoKLSAgICAgICAg
Y2FzZSBBcml0aE1heDogeworICAgICAgICBjYXNlIEFyaXRoTWF4OgorICAgICAgICBjYXNlIEFy
aXRoTW9kOiB7CiAgICAgICAgICAgICBpZiAoIW5vZGVDYW5TcGVjdWxhdGVJbnRlZ2VyKG5vZGUu
YXJpdGhOb2RlRmxhZ3MoKSkpIHsKICAgICAgICAgICAgICAgICB0b0RvdWJsZShub2RlLmNoaWxk
MSgpKTsKICAgICAgICAgICAgICAgICB0b0RvdWJsZShub2RlLmNoaWxkMigpKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZp
c2lvbiA5NTU2OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTA1LDYgKzExMDUsMjQgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgIH0KIAogICAgIGNhc2UgQXJpdGhNb2Q6
IHsKKyAgICAgICAgaWYgKHNob3VsZE5vdFNwZWN1bGF0ZUludGVnZXIobm9kZS5jaGlsZDEoKSkg
fHwgc2hvdWxkTm90U3BlY3VsYXRlSW50ZWdlcihub2RlLmNoaWxkMigpKQorICAgICAgICAgICAg
fHwgIW5vZGVDYW5TcGVjdWxhdGVJbnRlZ2VyKG5vZGUuYXJpdGhOb2RlRmxhZ3MoKSkpIHsKKyAg
ICAgICAgICAgIFNwZWN1bGF0ZURvdWJsZU9wZXJhbmQgb3AxKHRoaXMsIG5vZGUuY2hpbGQxKCkp
OworICAgICAgICAgICAgU3BlY3VsYXRlRG91YmxlT3BlcmFuZCBvcDIodGhpcywgbm9kZS5jaGls
ZDIoKSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIEZQUlJlZyBvcDFGUFIgPSBvcDEuZnBy
KCk7CisgICAgICAgICAgICBGUFJSZWcgb3AyRlBSID0gb3AyLmZwcigpOworICAgICAgICAgICAg
CisgICAgICAgICAgICBmbHVzaFJlZ2lzdGVycygpOworICAgICAgICAgICAgCisgICAgICAgICAg
ICBGUFJSZXN1bHQgcmVzdWx0KHRoaXMpOworCisgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKGZt
b2QsIHJlc3VsdC5mcHIoKSwgb3AxRlBSLCBvcDJGUFIpOworICAgICAgICAgICAgCisgICAgICAg
ICAgICBkb3VibGVSZXN1bHQocmVzdWx0LmZwcigpLCBtX2NvbXBpbGVJbmRleCk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAKICAgICAgICAgU3BlY3VsYXRlSW50ZWdl
ck9wZXJhbmQgb3AxKHRoaXMsIG5vZGUuY2hpbGQxKCkpOwogICAgICAgICBTcGVjdWxhdGVJbnRl
Z2VyT3BlcmFuZCBvcDIodGhpcywgbm9kZS5jaGlsZDIoKSk7CiAgICAgICAgIEdQUlRlbXBvcmFy
eSBlYXgodGhpcywgWDg2UmVnaXN0ZXJzOjplYXgpOwo=
</data>
<flag name="review"
          id="104935"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>