<?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>69174</bug_id>
          
          <creation_ts>2011-09-30 15:14:24 -0700</creation_ts>
          <short_desc>DFG JIT, Branch on integer can always be a 32-bit compare.</short_desc>
          <delta_ts>2011-09-30 16:05:03 -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="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>476342</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-09-30 15:14:24 -0700</bug_when>
    <thetext>if (shouldSpeculateInteger(node.child1()) &amp;&amp; !isStrictInt32(node.child1())), the JSVALUE64 JIT will currently compare all 64bits in the register, but in these cases the DataFormat is always a JS boxed integer.  In these cases we can just compare the low 32bits anyway - no need to check the tag.  This allows the code to be unified with the JSVALUE32_64 JIT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476343</commentid>
    <comment_count>1</comment_count>
      <attachid>109354</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-09-30 15:16:07 -0700</bug_when>
    <thetext>Created attachment 109354
The patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476370</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-09-30 16:05:03 -0700</bug_when>
    <thetext>Fixed in r96436</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109354</attachid>
            <date>2011-09-30 15:16:07 -0700</date>
            <delta_ts>2011-09-30 15:50:34 -0700</delta_ts>
            <desc>The patch</desc>
            <filename>69174.patch</filename>
            <type>text/plain</type>
            <size>3907</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTY0MzApCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMTEtMDktMzAgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgor
CisgICAgICAgIERGRyBKSVQsIEJyYW5jaCBvbiBpbnRlZ2VyIGNhbiBhbHdheXMgYmUgYSAzMi1i
aXQgY29tcGFyZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY5MTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgaWYgKHNob3VsZFNwZWN1bGF0ZUludGVnZXIobm9kZS5jaGlsZDEoKSkgJiYgIWlzU3RyaWN0
SW50MzIobm9kZS5jaGlsZDEoKSkpLAorICAgICAgICB0aGUgSlNWQUxVRTY0IEpJVCB3aWxsIGN1
cnJlbnRseSBjb21wYXJlIGFsbCA2NGJpdHMgaW4gdGhlIHJlZ2lzdGVyLCBidXQgaW4KKyAgICAg
ICAgdGhlc2UgY2FzZXMgdGhlIERhdGFGb3JtYXQgaXMgYWx3YXlzIGEgSlMgYm94ZWQgaW50ZWdl
ci4gSW4gdGhlc2UgY2FzZXMgd2UKKyAgICAgICAgY2FuIGp1c3QgY29tcGFyZSB0aGUgbG93IDMy
Yml0cyBhbnl3YXkgLSBubyBuZWVkIHRvIGNoZWNrIHRoZSB0YWcuCisgICAgICAgIFRoaXMgYWxs
b3dzIHRoZSBjb2RlIHRvIGJlIHVuaWZpZWQgd2l0aCB0aGUgSlNWQUxVRTMyXzY0IEpJVC4KKwor
ICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6
REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0
aXZlSklUNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxl
KToKKwogMjAxMS0wOS0zMCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAg
ICAgIERGRyAzMi1iaXQgc3VwcG9ydCBmb3Igb3BfY2FsbCBhbmQgb3BfY29uc3RydWN0IGNhdXNl
cwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklUMzJfNjQuY3BwCShyZXZpc2lvbiA5NjQyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNzAs
NyArMTI3MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkKIAog
ICAgIGNhc2UgQnJhbmNoOgogICAgICAgICBpZiAoaXNTdHJpY3RJbnQzMihub2RlLmNoaWxkMSgp
KSB8fCBzaG91bGRTcGVjdWxhdGVJbnRlZ2VyKG5vZGUuY2hpbGQxKCkpKSB7Ci0gICAgICAgICAg
ICBTcGVjdWxhdGVTdHJpY3RJbnQzMk9wZXJhbmQgb3AodGhpcywgbm9kZS5jaGlsZDEoKSk7Cisg
ICAgICAgICAgICBTcGVjdWxhdGVJbnRlZ2VyT3BlcmFuZCBvcCh0aGlzLCBub2RlLmNoaWxkMSgp
KTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgQmxvY2tJbmRleCB0YWtlbiA9IG1faml0Lmdy
YXBoKCkuYmxvY2tJbmRleEZvckJ5dGVjb2RlT2Zmc2V0KG5vZGUudGFrZW5CeXRlY29kZU9mZnNl
dCgpKTsKICAgICAgICAgICAgIEJsb2NrSW5kZXggbm90VGFrZW4gPSBtX2ppdC5ncmFwaCgpLmJs
b2NrSW5kZXhGb3JCeXRlY29kZU9mZnNldChub2RlLm5vdFRha2VuQnl0ZWNvZGVPZmZzZXQoKSk7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHAJKHJldmlzaW9uIDk2NDI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM2Myw4ICsxMzYzLDgg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgIH0KIAogICAg
IGNhc2UgQnJhbmNoOgotICAgICAgICBpZiAoaXNTdHJpY3RJbnQzMihub2RlLmNoaWxkMSgpKSkg
ewotICAgICAgICAgICAgU3BlY3VsYXRlU3RyaWN0SW50MzJPcGVyYW5kIG9wKHRoaXMsIG5vZGUu
Y2hpbGQxKCkpOworICAgICAgICBpZiAoaXNTdHJpY3RJbnQzMihub2RlLmNoaWxkMSgpKSB8fCBz
aG91bGRTcGVjdWxhdGVJbnRlZ2VyKG5vZGUuY2hpbGQxKCkpKSB7CisgICAgICAgICAgICBTcGVj
dWxhdGVJbnRlZ2VyT3BlcmFuZCBvcCh0aGlzLCBub2RlLmNoaWxkMSgpKTsKICAgICAgICAgICAg
IAogICAgICAgICAgICAgQmxvY2tJbmRleCB0YWtlbiA9IG1faml0LmdyYXBoKCkuYmxvY2tJbmRl
eEZvckJ5dGVjb2RlT2Zmc2V0KG5vZGUudGFrZW5CeXRlY29kZU9mZnNldCgpKTsKICAgICAgICAg
ICAgIEJsb2NrSW5kZXggbm90VGFrZW4gPSBtX2ppdC5ncmFwaCgpLmJsb2NrSW5kZXhGb3JCeXRl
Y29kZU9mZnNldChub2RlLm5vdFRha2VuQnl0ZWNvZGVPZmZzZXQoKSk7CkBAIC0xMzg1LDI5ICsx
Mzg1LDYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgICAg
ICAgICAgbm9SZXN1bHQobV9jb21waWxlSW5kZXgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KLSAgICAgICAgaWYgKHNob3VsZFNwZWN1bGF0ZUludGVnZXIobm9kZS5jaGlsZDEoKSkp
IHsKLSAgICAgICAgICAgIFNwZWN1bGF0ZUludGVnZXJPcGVyYW5kIG9wKHRoaXMsIG5vZGUuY2hp
bGQxKCkpOwotCi0gICAgICAgICAgICBCbG9ja0luZGV4IHRha2VuID0gbV9qaXQuZ3JhcGgoKS5i
bG9ja0luZGV4Rm9yQnl0ZWNvZGVPZmZzZXQobm9kZS50YWtlbkJ5dGVjb2RlT2Zmc2V0KCkpOwot
ICAgICAgICAgICAgQmxvY2tJbmRleCBub3RUYWtlbiA9IG1faml0LmdyYXBoKCkuYmxvY2tJbmRl
eEZvckJ5dGVjb2RlT2Zmc2V0KG5vZGUubm90VGFrZW5CeXRlY29kZU9mZnNldCgpKTsKLSAgICAg
ICAgICAgIAotICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OlJlbGF0aW9uYWxDb25kaXRpb24g
Y29uZGl0aW9uID0gTWFjcm9Bc3NlbWJsZXI6Ok5vdEVxdWFsOwotCi0gICAgICAgICAgICBpZiAo
dGFrZW4gPT0gKG1fYmxvY2sgKyAxKSkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlvbiA9IE1h
Y3JvQXNzZW1ibGVyOjpFcXVhbDsKLSAgICAgICAgICAgICAgICBCbG9ja0luZGV4IHRtcCA9IHRh
a2VuOwotICAgICAgICAgICAgICAgIHRha2VuID0gbm90VGFrZW47Ci0gICAgICAgICAgICAgICAg
bm90VGFrZW4gPSB0bXA7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAg
IGFkZEJyYW5jaChtX2ppdC5icmFuY2hQdHIoY29uZGl0aW9uLCBvcC5ncHIoKSwgR1BSSW5mbzo6
dGFnVHlwZU51bWJlclJlZ2lzdGVyKSwgdGFrZW4pOwotCi0gICAgICAgICAgICBpZiAobm90VGFr
ZW4gIT0gKG1fYmxvY2sgKyAxKSkKLSAgICAgICAgICAgICAgICBhZGRCcmFuY2gobV9qaXQuanVt
cCgpLCBub3RUYWtlbik7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIG5vUmVzdWx0KG1fY29t
cGlsZUluZGV4KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9CiAgICAgICAgIGVtaXRC
cmFuY2gobm9kZSk7CiAgICAgICAgIGJyZWFrOwogCg==
</data>
<flag name="review"
          id="106592"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>