<?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>127545</bug_id>
          
          <creation_ts>2014-01-23 22:09:05 -0800</creation_ts>
          <short_desc>ARM Offline assembler temporary register allocator has duplicate register when building fat binaries</short_desc>
          <delta_ts>2014-01-24 08:30:00 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>971516</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-01-23 22:09:05 -0800</bug_when>
    <thetext>When the offline assembler is used to build a fat ARM binary, say ARMv7 and ARMv7s, the concat in getModifiedListARMCommon (ARM_EXTRA_GPRS.concat([SpecialRegister.new(&quot;r11&quot;)]) ) is executed twice, thus adding r11 a second time.  Two subsequent requests for a temporary register can result in bad code being generated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971517</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-01-23 22:11:52 -0800</bug_when>
    <thetext>&lt;rdar://problem/15863400&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971519</commentid>
    <comment_count>2</comment_count>
      <attachid>222079</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-01-23 22:26:06 -0800</bug_when>
    <thetext>Created attachment 222079
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971522</commentid>
    <comment_count>3</comment_count>
      <attachid>222079</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-01-23 22:37:16 -0800</bug_when>
    <thetext>Comment on attachment 222079
Patch

Isn&apos;t the bug here just that someone used the .concat() method, which modifies the receiver, instead of using the + operator, which does not?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971524</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-01-23 22:43:01 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 222079 [details])
&gt; Isn&apos;t the bug here just that someone used the .concat() method, which modifies the receiver, instead of using the + operator, which does not?

That is another way to solve it, but the proposed solution is simpler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971526</commentid>
    <comment_count>5</comment_count>
      <attachid>222079</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-01-23 22:51:07 -0800</bug_when>
    <thetext>Comment on attachment 222079
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971609</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-01-24 08:30:00 -0800</bug_when>
    <thetext>Committed r162701: &lt;http://trac.webkit.org/changeset/162701&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222079</attachid>
            <date>2014-01-23 22:26:06 -0800</date>
            <delta_ts>2014-01-23 22:51:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>127545.patch</filename>
            <type>text/plain</type>
            <size>2279</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYyNjkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBA
CisyMDE0LTAxLTIzICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIEFSTSBPZmZsaW5lIGFzc2VtYmxlciB0ZW1wb3JhcnkgcmVnaXN0ZXIgYWxsb2NhdG9yIGhh
cyBkdXBsaWNhdGUgcmVnaXN0ZXIgd2hlbiBidWlsZGluZyBmYXQgYmluYXJpZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzU0NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVsaW1pbmF0ZSB0aGUgY29u
ZGl0aW9uYWwgYWRkaXRpb24gb2YgcjExL3I3IGZyb20gZ2V0TW9kaWZpZWRMaXN0QVJNQ29tbW9u
IGFzIHRoZQorICAgICAgICAuY29uY2F0IHdpbGwgYWRkIHRoZSBuZXcgcmVnaXN0ZXIgdG8gQVJN
X0VYVFJBX0dQUlMuICBJZiBnZXRNb2RpZmllZExpc3RBUk1Db21tb24gaXMKKyAgICAgICAgaW52
b2tlZCBhIHNlY29uZCB0aW1lLCB0aGVyZSB3aWxsIGJlIGEgc2Vjb25kIHIxMSBvciByNywgd2hp
Y2ggbWVzc2VzIHRoaW5ncyB1cC4KKyAgICAgICAgSW5zdGVhZCwgcjYgd2FzIGFkZGVkIHRvIEFS
TV9FWFRSQV9HUFJTLiAgcjYgaXMgY3VycmVudGx5IGFuIHVudXNlZCByZWdpc3Rlci4KKworICAg
ICAgICAqIG9mZmxpbmVhc20vYXJtLnJiOgorCiAyMDE0LTAxLTIzICBKb3NlcGggUGVjb3Jhcm8g
IDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBDb250ZW50U2VhcmNoVXRpbHMs
IFNjcmlwdEJyZWFrcG9pbnQsIGFuZCBTY3JpcHREZWJ1Z0xpc3RlbmVyIGludG8gSmF2YVNjcmlw
dENvcmUgZm9yIGluc3BlY3RvcgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVh
c20vYXJtLnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNt
L2FybS5yYgkocmV2aXNpb24gMTYyNDUzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxp
bmVhc20vYXJtLnJiCSh3b3JraW5nIGNvcHkpCkBAIC02Myw3ICs2Myw3IEBAIGNsYXNzIFNwZWNp
YWxSZWdpc3RlcgogICAgIGVuZAogZW5kCiAKLUFSTV9FWFRSQV9HUFJTID0gW1NwZWNpYWxSZWdp
c3Rlci5uZXcoInIxMCIpLCBTcGVjaWFsUmVnaXN0ZXIubmV3KCJyMTIiKV0KK0FSTV9FWFRSQV9H
UFJTID0gW1NwZWNpYWxSZWdpc3Rlci5uZXcoInI2IiksIFNwZWNpYWxSZWdpc3Rlci5uZXcoInIx
MCIpLCBTcGVjaWFsUmVnaXN0ZXIubmV3KCJyMTIiKV0KIEFSTV9FWFRSQV9GUFJTID0gW1NwZWNp
YWxSZWdpc3Rlci5uZXcoImQ3IildCiBBUk1fU0NSQVRDSF9GUFIgPSBTcGVjaWFsUmVnaXN0ZXIu
bmV3KCJkNiIpCiAKQEAgLTIyMywxMSArMjIzLDcgQEAgY2xhc3MgU2VxdWVuY2UKICAgICAgICAg
cmVzdWx0ID0gcmlzY0xvd2VyTWFsZm9ybWVkSW1tZWRpYXRlcyhyZXN1bHQsIDAuLjB4ZmYpCiAg
ICAgICAgIHJlc3VsdCA9IHJpc2NMb3dlck1pc3BsYWNlZEFkZHJlc3NlcyhyZXN1bHQpCiAgICAg
ICAgIHJlc3VsdCA9IHJpc2NMb3dlclJlZ2lzdGVyUmV1c2UocmVzdWx0KQotICAgICAgICBpZiBp
c0FSTXY3Ci0gICAgICAgICAgICByZXN1bHQgPSBhc3NpZ25SZWdpc3RlcnNUb1RlbXBvcmFyaWVz
KHJlc3VsdCwgOmdwciwgQVJNX0VYVFJBX0dQUlMuY29uY2F0KFtTcGVjaWFsUmVnaXN0ZXIubmV3
KCJyMTEiKV0pKQotICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXN1bHQgPSBhc3NpZ25SZWdp
c3RlcnNUb1RlbXBvcmFyaWVzKHJlc3VsdCwgOmdwciwgQVJNX0VYVFJBX0dQUlMuY29uY2F0KFtT
cGVjaWFsUmVnaXN0ZXIubmV3KCJyNyIpXSkpCi0gICAgICAgIGVuZAorICAgICAgICByZXN1bHQg
PSBhc3NpZ25SZWdpc3RlcnNUb1RlbXBvcmFyaWVzKHJlc3VsdCwgOmdwciwgQVJNX0VYVFJBX0dQ
UlMpCiAgICAgICAgIHJlc3VsdCA9IGFzc2lnblJlZ2lzdGVyc1RvVGVtcG9yYXJpZXMocmVzdWx0
LCA6ZnByLCBBUk1fRVhUUkFfRlBSUykKICAgICAgICAgcmV0dXJuIHJlc3VsdAogICAgIGVuZAo=
</data>
<flag name="review"
          id="246055"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>