<?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>170473</bug_id>
          
          <creation_ts>2017-04-04 14:50:12 -0700</creation_ts>
          <short_desc>On ARM64, DFG::SpeculativeJIT::compileArithMod() failed to ensure result is of DataFormatInt32.</short_desc>
          <delta_ts>2017-04-04 20:50:12 -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 Local 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1294193</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-04-04 14:50:12 -0700</bug_when>
    <thetext>In Unchecked mode, when DFG::SpeculativeJIT::compileArithMod() detects that the divisor is 0, it just returns the divisor as the result.  However, the result is expected to be of DataFormatIn32, but the divisor in this case is of DataFormatJSInt32.  The fix is to return an immediate 0 instead.

&lt;rdar://problem/29912391&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294217</commentid>
    <comment_count>1</comment_count>
      <attachid>306217</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-04-04 15:28:36 -0700</bug_when>
    <thetext>Created attachment 306217
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294341</commentid>
    <comment_count>2</comment_count>
      <attachid>306217</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-04-04 20:22:20 -0700</bug_when>
    <thetext>Comment on attachment 306217
proposed patch.

Thanks for the review.  Landing now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294355</commentid>
    <comment_count>3</comment_count>
      <attachid>306217</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-04 20:50:10 -0700</bug_when>
    <thetext>Comment on attachment 306217
proposed patch.

Clearing flags on attachment: 306217

Committed r214927: &lt;http://trac.webkit.org/changeset/214927&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294356</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-04 20:50:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306217</attachid>
            <date>2017-04-04 15:28:36 -0700</date>
            <delta_ts>2017-04-04 20:50:10 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-170473.patch</filename>
            <type>text/plain</type>
            <size>4727</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTQ5MDEpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDE3LTA0LTA0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBPbiBBUk02NCwgREZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUFyaXRo
TW9kKCkgZmFpbGVkIHRvIGVuc3VyZSByZXN1bHQgaXMgb2YgRGF0YUZvcm1hdEludDMyLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNDczCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8yOTkxMjM5MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9yZWdyZXNzLTE3MDQ3My5qczogQWRkZWQu
CisKIDIwMTctMDQtMDMgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAg
IEZpeCBpbmNvcnJlY3QgY2FwYWNpdHkgZGVsdGEgY2FsY3VsYXRpb24gcmVwb3J0ZWQgaW4gU3Bh
cnNlQXJyYXlWYWx1ZU1hcDo6YWRkKCkuCkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9yZWdyZXNzLTE3
MDQ3My5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9yZWdyZXNzLTE3MDQ3My5qcwko
bm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9yZWdyZXNzLTE3MDQ3My5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBACit2YXIgaGVhcCA9IG5ldyBTaGFyZWRBcnJheUJ1ZmZl
cig0MDk2KTsKK3ZhciBVaW50OEFycmF5VmlldyA9IG5ldyBVaW50OEFycmF5KGhlYXApOworCitm
dW5jdGlvbiB0ZXN0KGspICB7CisgICAgdmFyIGQgPSBuZXcgRmxvYXQzMkFycmF5KCk7CisgICAg
dmFyIGMgPSBkIHwgMDsKKyAgICB2YXIgYiA9IDEgJSBjOworICAgIHZhciBhID0gYiB8IDA7Cisg
ICAgVWludDhBcnJheVZpZXdbYV0gPSAwOworfQorbm9JbmxpbmUodGVzdCk7CisKK2ZvciAodmFy
IGsgPSAwOyBrIDwgMjAwOyArK2spCisgICAgdGVzdChrKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwkocmV2aXNpb24gMjE0ODU3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE3LTA0LTA0ICBNYXJrIExh
bSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBPbiBBUk02NCwgREZHOjpTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZUFyaXRoTW9kKCkgZmFpbGVkIHRvIGVuc3VyZSByZXN1bHQgaXMgb2Yg
RGF0YUZvcm1hdEludDMyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTcwNDczCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTkxMjM5MT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBVbmNoZWNrZWQg
bW9kZSwgd2hlbiBERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlQXJpdGhNb2QoKSBkZXRlY3Rz
IHRoYXQgdGhlCisgICAgICAgIGRpdmlzb3IgaXMgMCwgd2Ugd2FudCBpdCB0byByZXR1cm4gMC4g
IFRoZSByZXN1bHQgaXMgZXhwZWN0ZWQgdG8gYmUgb2YKKyAgICAgICAgRGF0YUZvcm1hdEluMzIu
CisKKyAgICAgICAgVGhlIEFSTSBpbXBsZW1lbnRhdGlvbiBqdXN0IHJldHVybnMgdGhlIHZhbHVl
IGluIHRoZSBkaXZpc29yIHJlZ2lzdGVyLiAgSG93ZXZlciwKKyAgICAgICAgdGhlIGRpdmlzb3Ig
aW4gdGhpcyBjYXNlIGNhbiBiZSBvZiBEYXRhRm9ybWF0SlNJbnQzMi4gIE9uIEFSTTY0LCByZXR1
cm5pbmcgdGhlCisgICAgICAgIGRpdmlzb3IgcmVnaXN0ZXIgeWllbGRzIHRoZSB3cm9uZyByZXN1
bHQgZm9ybWF0IGJlY2F1c2UgdGhlIHNhbWUgcmVnaXN0ZXIgYWxzbworICAgICAgICBob2xkcyB0
aGUgdXBwZXIgMzItYml0IG9mIHRoZSBKU1ZhbHVlIGVuY29kaW5nLiAgVGhlIGZpeCBpcyB0byBy
ZXR1cm4gYW4KKyAgICAgICAgaW1tZWRpYXRlIDAgaW5zdGVhZC4KKworICAgICAgICBBbHNvIHR1
cm5lZCBvbiB0aGUgYXNzZXJ0aW9uIGluIGppdEFzc2VydElzSW50MzIgZm9yIEFSTTY0LiAgVGhp
cyBhc3NlcnRpb24gYmVpbmcKKyAgICAgICAgZGlzYWJsZWQgbWF5IGhhdmUgY29udHJpYnV0ZWQg
dG8gdGhpcyBidWcgZ29pbmcgdW5ub3RpY2VkIGFsbCB0aGlzIHRpbWUuCisKKyAgICAgICAgKiBk
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZl
SklUOjpjb21waWxlQXJpdGhNb2QpOgorICAgICAgICAqIGppdC9Bc3NlbWJseUhlbHBlcnMuY3Bw
OgorICAgICAgICAoSlNDOjpBc3NlbWJseUhlbHBlcnM6OmppdEFzc2VydElzSW50MzIpOgorCiAy
MDE3LTA0LTAzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXgg
aW5jb3JyZWN0IGNhcGFjaXR5IGRlbHRhIGNhbGN1bGF0aW9uIHJlcG9ydGVkIGluIFNwYXJzZUFy
cmF5VmFsdWVNYXA6OmFkZCgpLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDIxNDg1NSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
MTAxLDcgKzUxMDEsMTAgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUFyaXRoTW9kKE5v
ZAogICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVjayhPdmVyZmxvdywgSlNWYWx1ZVJlZ3MoKSwg
MCwgbV9qaXQuYnJhbmNoVGVzdDMyKEpJVENvbXBpbGVyOjpaZXJvLCBkaXZpc29yR1BSKSk7CiAg
ICAgICAgIGVsc2UgewogICAgICAgICAgICAgSklUQ29tcGlsZXI6Okp1bXAgZGVub21pbmF0b3JO
b3RaZXJvID0gbV9qaXQuYnJhbmNoVGVzdDMyKEpJVENvbXBpbGVyOjpOb25aZXJvLCBkaXZpc29y
R1BSKTsKLSAgICAgICAgICAgIG1faml0Lm1vdmUoZGl2aXNvckdQUiwgcXVvdGllbnRUaGVuUmVt
YWluZGVyR1BSKTsKKyAgICAgICAgICAgIC8vIFdlIGtub3cgdGhhdCB0aGUgbG93IDMyLWJpdCBv
ZiBkaXZpc29yR1BSIGlzIDAsIGJ1dCB3ZSBkb24ndCBrbm93IGlmIHRoZSBoaWdoIGJpdHMgYXJl
LgorICAgICAgICAgICAgLy8gU28sIHVzZSBUcnVzdGVkSW1tMzIoMCkgb24gQVJNIGluc3RlYWQg
YmVjYXVzZSBkb25lIGV4cGVjdHMgdGhlIHJlc3VsdCB0byBiZSBpbiBEYXRhRm9ybWF0SW50MzIu
CisgICAgICAgICAgICAvLyBVc2luZyBhbiBpbW1lZGlhdGUgMCBkb2Vzbid0IGNvc3QgYW55dGhp
bmcgZXh0cmEgb24gQVJNLgorICAgICAgICAgICAgbV9qaXQubW92ZShUcnVzdGVkSW1tMzIoMCks
IHF1b3RpZW50VGhlblJlbWFpbmRlckdQUik7CiAgICAgICAgICAgICBkb25lLmFwcGVuZChtX2pp
dC5qdW1wKCkpOwogICAgICAgICAgICAgZGVub21pbmF0b3JOb3RaZXJvLmxpbmsoJm1faml0KTsK
ICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBl
cnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlI
ZWxwZXJzLmNwcAkocmV2aXNpb24gMjE0ODU1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9Bc3NlbWJseUhlbHBlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMS0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTkyLDcgKzE5
Miw3IEBAIHZvaWQgQXNzZW1ibHlIZWxwZXJzOjpjbGVhclNhbXBsaW5nRmxhZygKICNpZiBVU0Uo
SlNWQUxVRTY0KQogdm9pZCBBc3NlbWJseUhlbHBlcnM6OmppdEFzc2VydElzSW50MzIoR1BSUmVn
IGdwcikKIHsKLSNpZiBDUFUoWDg2XzY0KQorI2lmIENQVShYODZfNjQpIHx8IENQVShBUk02NCkK
ICAgICBKdW1wIGNoZWNrSW50MzIgPSBicmFuY2g2NChCZWxvd09yRXF1YWwsIGdwciwgVHJ1c3Rl
ZEltbTY0KHN0YXRpY19jYXN0PHVpbnRwdHJfdD4oMHhGRkZGRkZGRnUpKSk7CiAgICAgYWJvcnRX
aXRoUmVhc29uKEFISXNOb3RJbnQzMik7CiAgICAgY2hlY2tJbnQzMi5saW5rKHRoaXMpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>