<?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>144901</bug_id>
          
          <creation_ts>2015-05-11 22:50:50 -0700</creation_ts>
          <short_desc>Array.slice should have a fast path like Array.splice</short_desc>
          <delta_ts>2015-05-12 14:05:42 -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>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="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1094078</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-11 22:50:50 -0700</bug_when>
    <thetext>Just memcopy stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094081</commentid>
    <comment_count>1</comment_count>
      <attachid>252941</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-11 22:53:23 -0700</bug_when>
    <thetext>Created attachment 252941
Adds a fast path</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094220</commentid>
    <comment_count>2</comment_count>
      <attachid>252941</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-05-12 12:18:41 -0700</bug_when>
    <thetext>Comment on attachment 252941
Adds a fast path

r=me

We should really implement these functions in JS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094249</commentid>
    <comment_count>3</comment_count>
      <attachid>252941</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-12 13:15:42 -0700</bug_when>
    <thetext>Comment on attachment 252941
Adds a fast path

Thanks for the review. Let me see how implementing this in JS will turn out. But for now, we can land this for an incremental improvement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094259</commentid>
    <comment_count>4</comment_count>
      <attachid>252941</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-12 14:05:37 -0700</bug_when>
    <thetext>Comment on attachment 252941
Adds a fast path

Clearing flags on attachment: 252941

Committed r184217: &lt;http://trac.webkit.org/changeset/184217&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094260</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-12 14:05:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252941</attachid>
            <date>2015-05-11 22:53:23 -0700</date>
            <delta_ts>2015-05-12 14:05:37 -0700</delta_ts>
            <desc>Adds a fast path</desc>
            <filename>bug-144901-20150511225203.patch</filename>
            <type>text/plain</type>
            <size>4423</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZGVjOThlM2Q4ZjlkN2Q4MDEwYzE3NGY0OWNjMmZkMzRiNjBiNjBhLi5hOTEzZWFiN2ZhMjliODY3
MjA2ZmI5YWEzNzkxYTk0NGQxZDQxOWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNS0wNS0xMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
KworICAgICAgICBBcnJheS5zbGljZSBzaG91bGQgaGF2ZSBhIGZhc3QgcGF0aCBsaWtlIEFycmF5
LnNwbGljZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ0OTAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgZmFzdCBtZW1jcHkgcGF0aCB0byBBcnJheS5wcm90b3R5cGUuc2xpY2UgYXMgZG9uZSBm
b3IgQXJyYXkucHJvdG90eXBlLnNwbGljZS4KKyAgICAgICAgSW4gS3Jha2VuLCB0aGlzIGFwcGVh
cnMgdG8gYmUgMzAlIHdpbiBvbiBzdGFuZm9yZC1jcnlwdG8tY2NtIGFuZCAxMCUgd2luIG9uIHN0
YW5mb3JkLWNyeXB0by1wYmtkZjIuCisKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJvdG90eXBl
LmNwcDoKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNTbGljZSk6CisgICAgICAgICogcnVu
dGltZS9KU0FycmF5LmNwcDoKKyAgICAgICAgKEpTQzo6SlNBcnJheTo6ZmFzdFNsaWNlKTogQWRk
ZWQuCisgICAgICAgICogcnVudGltZS9KU0FycmF5Lmg6CisKIDIwMTUtMDUtMDggIEZpbGlwIFBp
emxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBDUFMgcmV0aHJlYWRpbmcgcGhhc2Un
cyBmbHVzaCBkZXRlY3RvciBmbHVzaGVzIHdheSB0b28gbWFueSBTZXRMb2NhbHMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAppbmRleCAwN2Jl
MmE5NmQxOTYwYjlmYjQ4MTUxY2JjZDdlZTczZmEzM2VmNGEzLi5iYzllYzdlYzk3ODk1ODE5YmY1
ZmFmMjcwOTA3YWI3YWNmZWMyMGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCkBAIC02MDEsNiArNjAxLDEyIEBAIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNTbGljZShFeGVjU3RhdGUqIGV4ZWMpCiAg
ICAgdW5zaWduZWQgYmVnaW4gPSBhcmd1bWVudENsYW1wZWRJbmRleEZyb21TdGFydE9yRW5kKGV4
ZWMsIDAsIGxlbmd0aCk7CiAgICAgdW5zaWduZWQgZW5kID0gYXJndW1lbnRDbGFtcGVkSW5kZXhG
cm9tU3RhcnRPckVuZChleGVjLCAxLCBsZW5ndGgsIGxlbmd0aCk7CiAKKyAgICBpZiAoaXNKU0Fy
cmF5KHRoaXNPYmopKSB7CisgICAgICAgIEVuY29kZWRKU1ZhbHVlIHJlc3VsdDsKKyAgICAgICAg
aWYgKGFzQXJyYXkodGhpc09iaiktPmZhc3RTbGljZSgqZXhlYywgYmVnaW4sIGVuZCAtIGJlZ2lu
LCByZXN1bHQpKQorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKICAgICBKU0Fy
cmF5KiByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIG51bGxwdHIsIGVuZCAtIGJl
Z2luKTsKIAogICAgIHVuc2lnbmVkIG4gPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5LmNwcAppbmRleCBmMGRmMDI5YWM0YWYyMDM0N2I1M2ZmOWRkZWZmZTBkNzRjZDI3
ZDE0Li4wMGZkZTg5NTI2MWI2MTkzNjQ3YTIwNjE1M2NmNWNmYzUyMTA1NDc3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcApAQCAtNjY2LDYgKzY2Niw0MCBAQCB2
b2lkIEpTQXJyYXk6OnB1c2goRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlKQogICAgIH0K
IH0KIAorYm9vbCBKU0FycmF5OjpmYXN0U2xpY2UoRXhlY1N0YXRlJiBleGVjLCB1bnNpZ25lZCBz
dGFydEluZGV4LCB1bnNpZ25lZCBjb3VudCwgRW5jb2RlZEpTVmFsdWUmIHJlc3VsdCkKK3sKKyAg
ICBhdXRvIGFycmF5VHlwZSA9IGluZGV4aW5nVHlwZSgpOworICAgIHN3aXRjaCAoYXJyYXlUeXBl
KSB7CisgICAgY2FzZSBBcnJheVdpdGhEb3VibGU6CisgICAgY2FzZSBBcnJheVdpdGhJbnQzMjoK
KyAgICBjYXNlIEFycmF5V2l0aENvbnRpZ3VvdXM6IHsKKyAgICAgICAgVk0mIHZtID0gZXhlYy52
bSgpOworICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCB8fCBzdHJ1
Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgICAgIFN0cnVjdHVyZSogcmVzdWx0U3RydWN0dXJlID0gZXhl
Yy5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVy
aW5nQWxsb2NhdGlvbihhcnJheVR5cGUpOworICAgICAgICBKU0FycmF5KiByZXN1bHRBcnJheSA9
IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIHJlc3VsdFN0cnVjdHVyZSwgY291
bnQpOworICAgICAgICBpZiAoIXJlc3VsdEFycmF5KSB7CisgICAgICAgICAgICByZXN1bHQgPSBK
U1ZhbHVlOjplbmNvZGUodGhyb3dPdXRPZk1lbW9yeUVycm9yKCZleGVjKSk7CisgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGF1dG8mIHJlc3VsdEJ1dHRlcmZs
eSA9ICpyZXN1bHRBcnJheS0+YnV0dGVyZmx5KCk7CisgICAgICAgIGlmIChhcnJheVR5cGUgPT0g
QXJyYXlXaXRoRG91YmxlKQorICAgICAgICAgICAgbWVtY3B5KHJlc3VsdEJ1dHRlcmZseS5jb250
aWd1b3VzRG91YmxlKCkuZGF0YSgpLCBtX2J1dHRlcmZseS0+Y29udGlndW91c0RvdWJsZSgpLmRh
dGEoKSArIHN0YXJ0SW5kZXgsIHNpemVvZihKU1ZhbHVlKSAqIGNvdW50KTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgbWVtY3B5KHJlc3VsdEJ1dHRlcmZseS5jb250aWd1b3VzKCkuZGF0YSgp
LCBtX2J1dHRlcmZseS0+Y29udGlndW91cygpLmRhdGEoKSArIHN0YXJ0SW5kZXgsIHNpemVvZihK
U1ZhbHVlKSAqIGNvdW50KTsKKyAgICAgICAgcmVzdWx0QnV0dGVyZmx5LnNldFB1YmxpY0xlbmd0
aChjb3VudCk7CisKKyAgICAgICAgcmVzdWx0ID0gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdEFycmF5
KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIGJy
ZWFrOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgSlNBcnJheTo6c2hpZnRD
b3VudFdpdGhBcnJheVN0b3JhZ2UoVk0mIHZtLCB1bnNpZ25lZCBzdGFydEluZGV4LCB1bnNpZ25l
ZCBjb3VudCwgQXJyYXlTdG9yYWdlKiBzdG9yYWdlKQogewogICAgIHVuc2lnbmVkIG9sZExlbmd0
aCA9IHN0b3JhZ2UtPmxlbmd0aCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNBcnJheS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJh
eS5oCmluZGV4IGVhMzQzMWEwMmVlYWZlZGU2NWYyMDYyZTI0MzlhYjEwNjliZTU3NDIuLmQ5ZTEz
ZWQ1MDMxZWExZmNhN2RjY2IyMjc5OTNjOTU3ZTkwNTBmY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5LmgKQEAgLTczLDYgKzczLDggQEAgcHVibGljOgogICAgIEpTX0VY
UE9SVF9QUklWQVRFIHZvaWQgcHVzaChFeGVjU3RhdGUqLCBKU1ZhbHVlKTsKICAgICBKU19FWFBP
UlRfUFJJVkFURSBKU1ZhbHVlIHBvcChFeGVjU3RhdGUqKTsKIAorICAgIGJvb2wgZmFzdFNsaWNl
KEV4ZWNTdGF0ZSYsIHVuc2lnbmVkIHN0YXJ0SW5kZXgsIHVuc2lnbmVkIGNvdW50LCBFbmNvZGVk
SlNWYWx1ZSYpOworCiAgICAgZW51bSBTaGlmdENvdW50TW9kZSB7CiAgICAgICAgIC8vIFRoaXMg
Zm9ybSBvZiBzaGlmdCBoaW50cyB0aGF0IHdlJ3JlIGRvaW5nIHF1ZXVlaW5nLiBXaXRoIHRoaXMg
YXNzdW1wdGlvbiBpbiBoYW5kLAogICAgICAgICAvLyB3ZSBjb252ZXJ0IHRvIEFycmF5U3RvcmFn
ZSwgd2hpY2ggaGFzIHF1ZXVlIG9wdGltaXphdGlvbnMuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>