<?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>140389</bug_id>
          
          <creation_ts>2015-01-13 05:48:52 -0800</creation_ts>
          <short_desc>DFG can call PutByValDirect for generic arrays</short_desc>
          <delta_ts>2015-01-13 12:18:12 -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>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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1060811</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-01-13 05:48:52 -0800</bug_when>
    <thetext>DFG can call PutByValDirect for generic arrays</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060814</commentid>
    <comment_count>1</comment_count>
      <attachid>244509</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-01-13 05:55:19 -0800</bug_when>
    <thetext>Created attachment 244509
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060815</commentid>
    <comment_count>2</comment_count>
      <attachid>244509</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-01-13 05:57:38 -0800</bug_when>
    <thetext>Comment on attachment 244509
Patch

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

Added comments.

&gt; Source/JavaScriptCore/dfg/DFGOperations.cpp:-129
&gt; -            asObject(baseValue)-&gt;putDirect(*vm, jsCast&lt;NameInstance*&gt;(property.asCell())-&gt;privateName(), value, slot);

Seeing the code, reaching here, property is guaranteed that it&apos;s not NameInstance.

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:2566
&gt; +            DFG_ASSERT(m_jit.graph(), node, node-&gt;op() == PutByVal || node-&gt;op() == PutByValDirect);

PutByValDirect can use this path for computed properties in object initializers (ES6).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060855</commentid>
    <comment_count>3</comment_count>
      <attachid>244509</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-01-13 11:36:03 -0800</bug_when>
    <thetext>Comment on attachment 244509
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060891</commentid>
    <comment_count>4</comment_count>
      <attachid>244509</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-13 12:18:09 -0800</bug_when>
    <thetext>Comment on attachment 244509
Patch

Clearing flags on attachment: 244509

Committed r178370: &lt;http://trac.webkit.org/changeset/178370&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060892</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-13 12:18:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244509</attachid>
            <date>2015-01-13 05:55:19 -0800</date>
            <delta_ts>2015-01-13 12:18:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140389-20150113225524.patch</filename>
            <type>text/plain</type>
            <size>6196</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
YTI3ZGEwMjZmZDBlODdiNGIxY2E1NmQ0ZGFjNWJlM2E1ZGIzNDNhLi5lZmVhYTI4YjYwZDZmZmYz
OWU3NzE4ZTA0OGUwNzMxMjVhZGIyZjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxNS0wMS0xMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBERkcgY2FuIGNhbGwgUHV0QnlWYWxEaXJlY3QgZm9yIGdlbmVyaWMg
YXJyYXlzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDAzODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
b21wdXRlZCBwcm9wZXJ0aWVzIGluIG9iamVjdCBpbml0aWFsaXplcnMgKEVTNikgdXNlIHRoZSBw
dXRfYnlfdmFsX2RpcmVjdCBvcGVyYXRpb24uCisgICAgICAgIEhvd2V2ZXIsIGN1cnJlbnQgREZH
IGFzc2VydHMgdGhhdCBwdXRfYnlfdmFsX2RpcmVjdCBpcyBub3QgdXNlZCBmb3IgdGhlIGdlbmVy
aWMgYXJyYXksCisgICAgICAgIHRoZSBhc3NlcnRpb24gZmFpbHVyZSBpcyByYWlzZWQuCisgICAg
ICAgIFRoaXMgcGF0Y2ggYWxsb3cgREZHIHRvIHVzZSBwdXRfYnlfdmFsX2RpcmVjdCB0byBnZW5l
cmljIGFycmF5cy4KKworICAgICAgICBBbmQgZml4IHRoZSBERkcgcHV0X2J5X3ZhbF9kaXJlY3Qg
aW1wbGVtZW50YXRpb24gZm9yIHN0cmluZyBwcm9wZXJ0aWVzLgorICAgICAgICBBdCBmaXJzdCwg
cHV0X2J5X3ZhbF9kaXJlY3QgaXMgaW50ZWRlZCB0byBiZSB1c2VkIGZvciBzcHJlYWQgZWxlbWVu
dHMuCisgICAgICAgIFNvIHRoZSBwcm9wZXJ0eSBrZXlzIHdlcmUgbGltaXRlZCB0byBudW1iZXJz
IChpbmRleGVzKS4KKyAgICAgICAgQnV0IG5vdywgaXQncyBhbHNvIHVzZWQgZm9yIGNvbXB1dGVk
IHByb3BlcnRpZXMgaW4gb2JqZWN0IGluaXRpYWxpemVycy4KKworICAgICAgICAqIGRmZy9ERkdP
cGVyYXRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpvcGVyYXRpb25QdXRCeVZhbEludGVy
bmFsKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChK
U0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorCiAyMDE1LTAxLTEyICBCZW5qYW1p
biBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgYmFzaWMgcGF0
dGVybiBtYXRjaGluZyBzdXBwb3J0IHRvIHRoZSB1cmwgZmlsdGVycwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKaW5kZXggZTg2NDgyNTlmOGE0NjBmZTUyODgx
YmY3NGVkYzY3YjhjYWE0OTUwNC4uYzU3YjEyZDc2YThlMWM1OWEzNzI4NDc1YmFlOWQ2NTExZmRj
NDM1YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25z
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCkBA
IC0xMjYsNyArMTI2LDcgQEAgQUxXQVlTX0lOTElORSBzdGF0aWMgdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5VmFsSW50ZXJuYWwoRXhlY1N0YXRlKiBleGUKICAgICAgICAgUHV0UHJv
cGVydHlTbG90IHNsb3QoYmFzZVZhbHVlLCBzdHJpY3QpOwogICAgICAgICBpZiAoZGlyZWN0KSB7
CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChiYXNlVmFsdWUuaXNPYmplY3QoKSk7Ci0gICAg
ICAgICAgICBhc09iamVjdChiYXNlVmFsdWUpLT5wdXREaXJlY3QoKnZtLCBqc0Nhc3Q8TmFtZUlu
c3RhbmNlKj4ocHJvcGVydHkuYXNDZWxsKCkpLT5wcml2YXRlTmFtZSgpLCB2YWx1ZSwgc2xvdCk7
CisgICAgICAgICAgICBhc09iamVjdChiYXNlVmFsdWUpLT5wdXREaXJlY3QoKnZtLCBpZGVudCwg
dmFsdWUsIHNsb3QpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGJhc2VWYWx1ZS5wdXQo
ZXhlYywgaWRlbnQsIHZhbHVlLCBzbG90KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRleCBlMmJhMzdlODMxMGM0M2I5
ZDRkYTE1NzE4OTE3ZTE4MzIxM2E2ODgwLi44OGZiYTk5NTlhMmNhYzNkZDg3NDNmMTlhODFmYzc1
NjZmNjk1OTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQ2NC5jcHAKQEAgLTI1NjMsNyArMjU2Myw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgICAgIERGR19DUkFTSChtX2ppdC5ncmFwaCgp
LCBub2RlLCAiQmFkIGFycmF5IG1vZGUgdHlwZSIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgQXJyYXk6OkdlbmVyaWM6IHsKLSAgICAgICAgICAgIERGR19BU1NFUlQobV9qaXQu
Z3JhcGgoKSwgbm9kZSwgbm9kZS0+b3AoKSA9PSBQdXRCeVZhbCk7CisgICAgICAgICAgICBERkdf
QVNTRVJUKG1faml0LmdyYXBoKCksIG5vZGUsIG5vZGUtPm9wKCkgPT0gUHV0QnlWYWwgfHwgbm9k
ZS0+b3AoKSA9PSBQdXRCeVZhbERpcmVjdCk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIEpT
VmFsdWVPcGVyYW5kIGFyZzEodGhpcywgY2hpbGQxKTsKICAgICAgICAgICAgIEpTVmFsdWVPcGVy
YW5kIGFyZzIodGhpcywgY2hpbGQyKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhNWJhYTI3MzcyYWFkNTlmNzI3NjQwMjdk
OWE0Y2Y4ZmE2YzhlNzY0Li44YTljNjVmNWVhMDIyOWI1N2UxYTNhM2M1NjkyMDdjZTJiZGI0NWIy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTUtMDEtMTMgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgREZHIGNhbiBjYWxsIFB1dEJ5VmFsRGlyZWN0
IGZvciBnZW5lcmljIGFycmF5cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQwMzg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBqcy9kZmctcHV0LWJ5LXZhbC1kaXJlY3QtdG8tZ2VuZXJpYy1hcnJheS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RmZy1wdXQtYnktdmFsLWRpcmVjdC10
by1nZW5lcmljLWFycmF5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL3NjcmlwdC10ZXN0cy9k
ZmctcHV0LWJ5LXZhbC1kaXJlY3QtdG8tZ2VuZXJpYy1hcnJheS5qczogQWRkZWQuCisgICAgICAg
IChmb28xKToKKyAgICAgICAgKGZvbzIpOgorCiAyMDE1LTAxLTExICBTYW0gV2VpbmlnICA8c2Ft
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHN1cHBvcnQgZm9yIFNoYXJlZFdvcmtlcnMK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RmZy1wdXQtYnktdmFsLWRpcmVjdC10by1nZW5l
cmljLWFycmF5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RmZy1wdXQtYnktdmFsLWRp
cmVjdC10by1nZW5lcmljLWFycmF5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YzJiYzc3ODAz
ZTEyMjEwZGIwZDc5YTVhZjllMjA4ZTBiMzlhMzAxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvanMvZGZnLXB1dC1ieS12YWwtZGlyZWN0LXRvLWdlbmVyaWMtYXJyYXktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3QgdGhhdCBhIGdlbmVyaWMgYXJyYXkgKG9iamVjdCkg
YWNjZXB0cyBERkcgUHV0QnlWYWx1ZURpcmVjdCBvcGVyYXRpb24uCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIGZvbzEoKSBpcyAnd29ybGQnIG9uIGFsbCBpdGVyYXRpb25z
IGluY2x1ZGluZyBhZnRlciBERkcgdGllci11cC4KK1BBU1MgZm9vMigpIGlzICd3b3JsZDInIG9u
IGFsbCBpdGVyYXRpb25zIGluY2x1ZGluZyBhZnRlciBERkcgdGllci11cC4KK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9qcy9kZmctcHV0LWJ5LXZhbC1kaXJlY3QtdG8tZ2VuZXJpYy1hcnJheS5odG1sIGIv
TGF5b3V0VGVzdHMvanMvZGZnLXB1dC1ieS12YWwtZGlyZWN0LXRvLWdlbmVyaWMtYXJyYXkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45MjYyMDEyMTgwMGUwMjg5MzViZDQ3NDU4ODVlNDViOWUwOWFiMTFlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZGZnLXB1dC1ieS12YWwtZGlyZWN0LXRv
LWdlbmVyaWMtYXJyYXkuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZGZnLXB1dC1ieS12YWwtZGlyZWN0LXRvLWdlbmVy
aWMtYXJyYXkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvanMvc2NyaXB0LXRlc3RzL2RmZy1wdXQtYnktdmFsLWRpcmVjdC10by1nZW5lcmljLWFy
cmF5LmpzIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2RmZy1wdXQtYnktdmFsLWRpcmVj
dC10by1nZW5lcmljLWFycmF5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiMzIxYWUxZTk5MGY2NjJkYmM1YzRl
MjBhZTljMTZkYWI5ODcyZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9zY3Jp
cHQtdGVzdHMvZGZnLXB1dC1ieS12YWwtZGlyZWN0LXRvLWdlbmVyaWMtYXJyYXkuanMKQEAgLTAs
MCArMSwzMiBAQAorZGVzY3JpcHRpb24oCisiVGVzdCB0aGF0IGEgZ2VuZXJpYyBhcnJheSAob2Jq
ZWN0KSBhY2NlcHRzIERGRyBQdXRCeVZhbHVlRGlyZWN0IG9wZXJhdGlvbi4iCispOworCitmdW5j
dGlvbiBmb28xKCkgeworICAgIHZhciBjb21wdXRlZFByb3BlcnR5MSA9ICdoZWxsbyc7CisgICAg
dmFyIGNvbXB1dGVkUHJvcGVydHkyID0gNDI7CisgICAgdmFyIG9iamVjdCA9IHsKKyAgICAgICAg
W2NvbXB1dGVkUHJvcGVydHkxXTogJ3dvcmxkJywKKyAgICAgICAgW2NvbXB1dGVkUHJvcGVydHky
XTogJ3dvcmxkMicsCisgICAgICAgIGhlOiAnYScsCisgICAgICAgIDMwMDAwOiA0MgorICAgIH07
CisgICAgcmV0dXJuIG9iamVjdC5oZWxsbzsKK30KKworZnVuY3Rpb24gZm9vMigpIHsKKyAgICB2
YXIgY29tcHV0ZWRQcm9wZXJ0eTEgPSAnaGVsbG8nOworICAgIHZhciBjb21wdXRlZFByb3BlcnR5
MiA9IDQyOworICAgIHZhciBvYmplY3QgPSB7CisgICAgICAgIFtjb21wdXRlZFByb3BlcnR5MV06
ICd3b3JsZCcsCisgICAgICAgIFtjb21wdXRlZFByb3BlcnR5Ml06ICd3b3JsZDInLAorICAgICAg
ICBoZTogJ2EnLAorICAgICAgICAzMDAwMDogNDIKKyAgICB9OworICAgIHJldHVybiBvYmplY3Rb
NDJdOworfQorCisKKworZGZnU2hvdWxkQmUoZm9vMSwgImZvbzEoKSIsICInd29ybGQnIik7Citk
ZmdTaG91bGRCZShmb28yLCAiZm9vMigpIiwgIid3b3JsZDInIik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>