<?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>155104</bug_id>
          
          <creation_ts>2016-03-07 00:28:40 -0800</creation_ts>
          <short_desc>[JSC] Improve and64() and or64() with immediate on x86</short_desc>
          <delta_ts>2016-03-11 14:03:17 -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>New Bugs</component>
          <version>WebKit 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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1171534</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-07 00:28:40 -0800</bug_when>
    <thetext>[JSC] Improve and64() and or64() with immediate on x86</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171535</commentid>
    <comment_count>1</comment_count>
      <attachid>273165</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-07 00:31:41 -0800</bug_when>
    <thetext>Created attachment 273165
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171619</commentid>
    <comment_count>2</comment_count>
      <attachid>273165</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-03-07 09:33:46 -0800</bug_when>
    <thetext>Comment on attachment 273165
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171674</commentid>
    <comment_count>3</comment_count>
      <attachid>273165</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-07 10:57:06 -0800</bug_when>
    <thetext>Comment on attachment 273165
Patch

Clearing flags on attachment: 273165

Committed r197695: &lt;http://trac.webkit.org/changeset/197695&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171675</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-07 10:57:09 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173748</commentid>
    <comment_count>5</comment_count>
      <attachid>273165</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-03-11 09:37:05 -0800</bug_when>
    <thetext>Comment on attachment 273165
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=273165&amp;action=review

&gt; Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h:350
&gt; +        if (intValue &lt;= std::numeric_limits&lt;int32_t&gt;::max()
&gt; +            &amp;&amp; intValue &gt;= std::numeric_limits&lt;int32_t&gt;::min()) {

Isn’t it more obvious to write it like this?

    if (intValue == static_cast&lt;int32_t&gt;(intValue))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173860</commentid>
    <comment_count>6</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-11 14:03:17 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 273165 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=273165&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h:350
&gt; &gt; +        if (intValue &lt;= std::numeric_limits&lt;int32_t&gt;::max()
&gt; &gt; +            &amp;&amp; intValue &gt;= std::numeric_limits&lt;int32_t&gt;::min()) {
&gt; 
&gt; Isn’t it more obvious to write it like this?
&gt; 
&gt;     if (intValue == static_cast&lt;int32_t&gt;(intValue))

That&apos;s how I originally wrote it but I thought the more verbose version was making the intent more obvious.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273165</attachid>
            <date>2016-03-07 00:31:41 -0800</date>
            <delta_ts>2016-03-07 10:57:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155104-20160307003127.patch</filename>
            <type>text/plain</type>
            <size>2597</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3NjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
MTc3MjgxYTNiMGIyYzBmMjgyYjRjNDVmZDRkZTk2ZjEwOWFiNjIwLi4wMTNkNTU5YzI3NmNjM2Ez
ZDg5ZjViMjUzOGFmM2U2NjdhMmI2ZTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxNi0wMy0wNyAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgW0pTQ10gSW1wcm92ZSBhbmQ2NCgpIGFuZCBvcjY0KCkgd2l0aCBp
bW1lZGlhdGUgb24geDg2CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTUxMDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBHZXRCdXR0ZXJmbHlSZWFkT25seSB3YXMgZG9pbmc6CisgICAgICAgICAgICBtb3Zx
IDB4OCglcmJ4KSwgJXI5CisgICAgICAgICAgICBtb3ZxICQweGZmZmZmZmZmZmZmZmZmZmMsICVy
MTEKKyAgICAgICAgICAgIGFuZHEgJXIxMSwgJXI5CisgICAgICAgIFRoZXJlIGlzIG5vIG5lZWQg
Zm9yIHRoZSBtb3ZlIHRvIGxvYWQgdGhlIGltbWVkaWF0ZSwKKyAgICAgICAgYW5kcSBzaWduIGV4
dGVuZCBpdHMgaW1tZWRpYXRlLgorCisgICAgICAgIFdpdGggdGhpcyBwYXRjaCwgd2UgaGF2ZToK
KyAgICAgICAgICAgIG1vdnEgMHg4KCVyYngpLCAlcjkKKyAgICAgICAgICAgIGFuZHEgJDB4ZmZm
ZmZmZmZmZmZmZmZmYywgJXI5CisKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJY
ODZfNjQuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZfNjQ6OmFuZDY0KToKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZfNjQ6Om9yNjQpOgorCiAyMDE2LTAzLTA2ICBC
cmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHRo
ZSBwcm90b2NvbCBnZW5lcmF0b3Igc2hvdWxkIGhhdmUgc2VwYXJhdGUgcHJlZml4IG9wdGlvbnMg
Zm9yIE9iamVjdGl2ZS1DIGNsYXNzZXMgYW5kIGZpbGVuYW1lcwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oCmluZGV4IDJk
YTRiOWExYTU1MWI5Mzk0ODQ3NmQ2ZjQ0YTlkMDk0NjUzMzJlOWQuLjc3ODNkOTQwYWI2Mjk1Yzg2
M2NiMDBkYWRhYTBhNGE2MzNlYzgyMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZfNjQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0LmgKQEAgLTM0NSw2ICszNDUsMTIg
QEAgcHVibGljOgogCiAgICAgdm9pZCBhbmQ2NChUcnVzdGVkSW1tUHRyIGltbSwgUmVnaXN0ZXJJ
RCBzcmNEZXN0KQogICAgIHsKKyAgICAgICAgaW50cHRyX3QgaW50VmFsdWUgPSBpbW0uYXNJbnRw
dHIoKTsKKyAgICAgICAgaWYgKGludFZhbHVlIDw9IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50MzJf
dD46Om1heCgpCisgICAgICAgICAgICAmJiBpbnRWYWx1ZSA+PSBzdGQ6Om51bWVyaWNfbGltaXRz
PGludDMyX3Q+OjptaW4oKSkgeworICAgICAgICAgICAgYW5kNjQoVHJ1c3RlZEltbTMyKHN0YXRp
Y19jYXN0PGludDMyX3Q+KGludFZhbHVlKSksIHNyY0Rlc3QpOworICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB9CiAgICAgICAgIG1vdmUoaW1tLCBzY3JhdGNoUmVnaXN0ZXIoKSk7CiAgICAg
ICAgIGFuZDY0KHNjcmF0Y2hSZWdpc3RlcigpLCBzcmNEZXN0KTsKICAgICB9CkBAIC00ODcsMTAg
KzQ5MywxNSBAQCBwdWJsaWM6CiAgICAgICAgIG1fYXNzZW1ibGVyLm9ycV9ycihzcmMsIGRlc3Qp
OwogICAgIH0KIAotICAgIHZvaWQgb3I2NChUcnVzdGVkSW1tNjQgaW1tLCBSZWdpc3RlcklEIGRl
c3QpCisgICAgdm9pZCBvcjY0KFRydXN0ZWRJbW02NCBpbW0sIFJlZ2lzdGVySUQgc3JjRGVzdCkK
ICAgICB7CisgICAgICAgIGlmIChpbW0ubV92YWx1ZSA8PSBzdGQ6Om51bWVyaWNfbGltaXRzPGlu
dDMyX3Q+OjptYXgoKQorICAgICAgICAgICAgJiYgaW1tLm1fdmFsdWUgPj0gc3RkOjpudW1lcmlj
X2xpbWl0czxpbnQzMl90Pjo6bWluKCkpIHsKKyAgICAgICAgICAgIG9yNjQoVHJ1c3RlZEltbTMy
KHN0YXRpY19jYXN0PGludDMyX3Q+KGltbS5tX3ZhbHVlKSksIHNyY0Rlc3QpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CiAgICAgICAgIG1vdmUoaW1tLCBzY3JhdGNoUmVnaXN0ZXIo
KSk7Ci0gICAgICAgIG9yNjQoc2NyYXRjaFJlZ2lzdGVyKCksIGRlc3QpOworICAgICAgICBvcjY0
KHNjcmF0Y2hSZWdpc3RlcigpLCBzcmNEZXN0KTsKICAgICB9CiAKICAgICB2b2lkIG9yNjQoVHJ1
c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBkZXN0KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>