<?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>150685</bug_id>
          
          <creation_ts>2015-10-29 12:44:16 -0700</creation_ts>
          <short_desc>B3::LowerToAir::imm() should work for both 32-bit and 64-bit immediates</short_desc>
          <delta_ts>2015-10-29 16:44:43 -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>WebKit 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>
          
          <blocked>150279</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1137614</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-10-29 12:44:16 -0700</bug_when>
    <thetext>In B3, a constant must match the type of its use. In Air, immediates don&apos;t have type, they only have representation. A 32-bit immediate (i.e. Arg::imm) can be used either for 32-bit operations or for 64-bit operations. The only difference from a Arg::imm64 is that it requires fewer bits.

In the B3-&gt;Air lowering, we have a lot of code that is effectively polymorphic over integer type.  That code should still be able to use Arg::imm, and it should work even for 64-bit immediates - so long as they are representable as 32-bit immediates.  Therefore, the imm() helper should happily accept either Const32Value or Const64Value.

We already sort of had this with immAnyType(), but it just turns out that anyone using immAnyType() should really be using imm().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137630</commentid>
    <comment_count>1</comment_count>
      <attachid>264337</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-10-29 13:11:01 -0700</bug_when>
    <thetext>Created attachment 264337
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137649</commentid>
    <comment_count>2</comment_count>
      <attachid>264337</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-10-29 14:22:32 -0700</bug_when>
    <thetext>Comment on attachment 264337
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137713</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-10-29 16:44:43 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/191762</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264337</attachid>
            <date>2015-10-29 13:11:01 -0700</date>
            <delta_ts>2015-10-29 14:22:32 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>4456</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTkxNzQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBA
CisyMDE1LTEwLTI5ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
QjM6Okxvd2VyVG9BaXI6OmltbSgpIHNob3VsZCB3b3JrIGZvciBib3RoIDMyLWJpdCBhbmQgNjQt
Yml0IGltbWVkaWF0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE1MDY4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEluIEIzLCBhIGNvbnN0YW50IG11c3QgbWF0Y2ggdGhlIHR5cGUgb2YgaXRzIHVzZS4g
SW4gQWlyLCBpbW1lZGlhdGVzIGRvbid0IGhhdmUgdHlwZSwgdGhleQorICAgICAgICBvbmx5IGhh
dmUgcmVwcmVzZW50YXRpb24uIEEgMzItYml0IGltbWVkaWF0ZSAoaS5lLiBBcmc6OmltbSkgY2Fu
IGJlIHVzZWQgZWl0aGVyIGZvciAzMi1iaXQKKyAgICAgICAgb3BlcmF0aW9ucyBvciBmb3IgNjQt
Yml0IG9wZXJhdGlvbnMuIFRoZSBvbmx5IGRpZmZlcmVuY2UgZnJvbSBhIEFyZzo6aW1tNjQgaXMg
dGhhdCBpdAorICAgICAgICByZXF1aXJlcyBmZXdlciBiaXRzLgorCisgICAgICAgIEluIHRoZSBC
My0+QWlyIGxvd2VyaW5nLCB3ZSBoYXZlIGEgbG90IG9mIGNvZGUgdGhhdCBpcyBlZmZlY3RpdmVs
eSBwb2x5bW9ycGhpYyBvdmVyIGludGVnZXIKKyAgICAgICAgdHlwZS4gVGhhdCBjb2RlIHNob3Vs
ZCBzdGlsbCBiZSBhYmxlIHRvIHVzZSBBcmc6OmltbSwgYW5kIGl0IHNob3VsZCB3b3JrIGV2ZW4g
Zm9yIDY0LWJpdAorICAgICAgICBpbW1lZGlhdGVzIC0gc28gbG9uZyBhcyB0aGV5IGFyZSByZXBy
ZXNlbnRhYmxlIGFzIDMyLWJpdCBpbW1lZGlhdGVzLiBUaGVyZWZvcmUsIHRoZSBpbW0oKQorICAg
ICAgICBoZWxwZXIgc2hvdWxkIGhhcHBpbHkgYWNjZXB0IGVpdGhlciBDb25zdDMyVmFsdWUgb3Ig
Q29uc3Q2NFZhbHVlLgorCisgICAgICAgIFdlIGFscmVhZHkgc29ydCBvZiBoYWQgdGhpcyB3aXRo
IGltbUFueVR5cGUoKSwgYnV0IGl0IGp1c3QgdHVybnMgb3V0IHRoYXQgYW55b25lIHVzaW5nCisg
ICAgICAgIGltbUFueVR5cGUoKSBzaG91bGQgcmVhbGx5IGJlIHVzaW5nIGltbSgpLgorCisgICAg
ICAgICogYjMvQjNMb3dlclRvQWlyLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OkFpcjo6TG93ZXJU
b0Fpcjo6aW1tKToKKyAgICAgICAgKEpTQzo6QjM6OkFpcjo6TG93ZXJUb0Fpcjo6dHJ5U3RvcmUp
OgorICAgICAgICAoSlNDOjpCMzo6QWlyOjpMb3dlclRvQWlyOjp0cnlDb25zdDY0KToKKyAgICAg
ICAgKEpTQzo6QjM6OkFpcjo6TG93ZXJUb0Fpcjo6aW1tQW55SW50KTogRGVsZXRlZC4KKyAgICAg
ICAgKiBiMy90ZXN0YjMuY3BwOgorICAgICAgICAoSlNDOjpCMzo6dGVzdEFkZDEpOgorICAgICAg
ICAoSlNDOjpCMzo6dGVzdEFkZDFQdHIpOgorICAgICAgICAoSlNDOjpCMzo6dGVzdFN0b3JlQWRk
TG9hZCk6CisgICAgICAgIChKU0M6OkIzOjpydW4pOgorCiAyMDE1LTEwLTI5ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IE1hYyBDTWFr
ZSBidWlsZApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTG93ZXJUb0Fpci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTG93ZXJUb0Fpci5jcHAJ
KHJldmlzaW9uIDE5MTc0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0xvd2VyVG9B
aXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODgsMTMgKzE4OCw2IEBAIHB1YmxpYzoKIAogICAg
IEFyZyBpbW0oVmFsdWUqIHZhbHVlKQogICAgIHsKLSAgICAgICAgaWYgKHZhbHVlLT5oYXNJbnQz
MigpKQotICAgICAgICAgICAgcmV0dXJuIEFyZzo6aW1tKHZhbHVlLT5hc0ludDMyKCkpOwotICAg
ICAgICByZXR1cm4gQXJnKCk7Ci0gICAgfQotCi0gICAgQXJnIGltbUFueUludChWYWx1ZSogdmFs
dWUpCi0gICAgewogICAgICAgICBpZiAodmFsdWUtPmhhc0ludCgpKSB7CiAgICAgICAgICAgICBp
bnQ2NF90IGZ1bGxWYWx1ZSA9IHZhbHVlLT5hc0ludCgpOwogICAgICAgICAgICAgaW50MzJfdCBp
bW1lZGlhdGVWYWx1ZSA9IHN0YXRpY19jYXN0PGludDMyX3Q+KGZ1bGxWYWx1ZSk7CkBAIC01NzQs
OSArNTY3LDggQEAgcHVibGljOgogICAgICAgICBBaXI6Ok9wY29kZSBtb3ZlID0gbW92ZUZvclR5
cGUodmFsdWUtPnR5cGUoKSk7CiAgICAgICAgIEFyZyBkZXN0aW5hdGlvbiA9IGVmZmVjdGl2ZUFk
ZHIoYWRkcmVzcyk7CiAKLSAgICAgICAgQXJnIGltbSA9IGltbUFueUludCh2YWx1ZSk7Ci0gICAg
ICAgIGlmIChpbW0gJiYgaXNWYWxpZEZvcm0obW92ZSwgQXJnOjpJbW0sIGRlc3RpbmF0aW9uLmtp
bmQoKSkpIHsKLSAgICAgICAgICAgIGFwcGVuZChtb3ZlRm9yVHlwZSh2YWx1ZS0+dHlwZSgpKSwg
aW1tLCBlZmZlY3RpdmVBZGRyKGFkZHJlc3MsIGN1cnJlbnRWYWx1ZSkpOworICAgICAgICBpZiAo
aW1tKHZhbHVlKSAmJiBpc1ZhbGlkRm9ybShtb3ZlLCBBcmc6OkltbSwgZGVzdGluYXRpb24ua2lu
ZCgpKSkgeworICAgICAgICAgICAgYXBwZW5kKG1vdmVGb3JUeXBlKHZhbHVlLT50eXBlKCkpLCBp
bW0odmFsdWUpLCBlZmZlY3RpdmVBZGRyKGFkZHJlc3MsIGN1cnJlbnRWYWx1ZSkpOwogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KICAgICAgICAgCkBAIC02MTYsNiArNjA4LDEw
IEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIHRyeUNvbnN0NjQoKQogICAgIHsKKyAgICAgICAg
aWYgKGltbShjdXJyZW50VmFsdWUpKSB7CisgICAgICAgICAgICBhcHBlbmQoTW92ZSwgaW1tKGN1
cnJlbnRWYWx1ZSksIHRtcChjdXJyZW50VmFsdWUpKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgICAgICB9CiAgICAgICAgIGFwcGVuZChNb3ZlLCBBcmc6OmltbTY0KGN1cnJlbnRWYWx1
ZS0+YXNJbnQ2NCgpKSwgdG1wKGN1cnJlbnRWYWx1ZSkpOwogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzLmNwcAkocmV2aXNpb24gMTkx
NzQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTIxNCw2ICsyMTQsMjAgQEAgdm9pZCB0ZXN0QWRkMShpbnQgdmFsdWUpCiAgICAgQ0hF
Q0soY29tcGlsZUFuZFJ1bjxpbnQ+KHByb2MsIHZhbHVlKSA9PSB2YWx1ZSArIDEpOwogfQogCit2
b2lkIHRlc3RBZGQxUHRyKGludHB0cl90IHZhbHVlKQoreworICAgIFByb2NlZHVyZSBwcm9jOwor
ICAgIEJhc2ljQmxvY2sqIHJvb3QgPSBwcm9jLmFkZEJsb2NrKCk7CisgICAgcm9vdC0+YXBwZW5k
TmV3PENvbnRyb2xWYWx1ZT4oCisgICAgICAgIHByb2MsIFJldHVybiwgT3JpZ2luKCksCisgICAg
ICAgIHJvb3QtPmFwcGVuZE5ldzxWYWx1ZT4oCisgICAgICAgICAgICBwcm9jLCBBZGQsIE9yaWdp
bigpLAorICAgICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PEFyZ3VtZW50UmVnVmFsdWU+KHByb2Ms
IE9yaWdpbigpLCBHUFJJbmZvOjphcmd1bWVudEdQUjApLAorICAgICAgICAgICAgcm9vdC0+YXBw
ZW5kTmV3PENvbnN0UHRyVmFsdWU+KHByb2MsIE9yaWdpbigpLCAxKSkpOworCisgICAgQ0hFQ0so
Y29tcGlsZUFuZFJ1bjxpbnRwdHJfdD4ocHJvYywgdmFsdWUpID09IHZhbHVlICsgMSk7Cit9CisK
IHZvaWQgdGVzdFN0b3JlQWRkTG9hZChpbnQgYW1vdW50KQogewogICAgIFByb2NlZHVyZSBwcm9j
OwpAQCAtNDQyLDYgKzQ1Niw4IEBAIHZvaWQgcnVuKCkKICAgICBSVU4odGVzdFN0b3JlQ29uc3Rh
bnRQdHIoNDkpKTsKICAgICBSVU4odGVzdFRydW5jKChzdGF0aWNfY2FzdDxpbnQ2NF90PigxKSA8
PCA0MCkgKyA0MikpOwogICAgIFJVTih0ZXN0QWRkMSg0NSkpOworICAgIFJVTih0ZXN0QWRkMVB0
cig1MSkpOworICAgIFJVTih0ZXN0QWRkMVB0cihiaXR3aXNlX2Nhc3Q8aW50cHRyX3Q+KHZtKSkp
OwogICAgIFJVTih0ZXN0U3RvcmVBZGRMb2FkKDQ2KSk7CiAgICAgUlVOKHRlc3RTdG9yZUFkZEFu
ZExvYWQoNDcsIDB4ZmZmZikpOwogICAgIFJVTih0ZXN0U3RvcmVBZGRBbmRMb2FkKDQ3MDAwMCwg
MHhmZmZmKSk7Cg==
</data>
<flag name="review"
          id="289466"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>