<?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>169519</bug_id>
          
          <creation_ts>2017-03-11 21:18:22 -0800</creation_ts>
          <short_desc>FTL should not flush strict arguments unless it really needs to</short_desc>
          <delta_ts>2017-03-13 15:53:28 -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>
          <dependson>169561</dependson>
    
    <dependson>169562</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1286867</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-03-11 21:18:22 -0800</bug_when>
    <thetext>We use flushing of arguments for a lot of different things. One of them is sloppy arguments reflection. We can easily teach the FTL not to do that for strict mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1286868</commentid>
    <comment_count>1</comment_count>
      <attachid>304184</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-03-11 21:22:35 -0800</bug_when>
    <thetext>Created attachment 304184
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1286871</commentid>
    <comment_count>2</comment_count>
      <attachid>304184</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-03-11 22:00:57 -0800</bug_when>
    <thetext>Comment on attachment 304184
the patch

Attachment 304184 did not pass jsc-ews (mac):
Output: http://webkit-queues.webkit.org/results/3296400

New failing tests:
mozilla-tests.yaml/ecma/Date/15.9.5.14.js.mozilla-dfg-eager-no-cjit-validate-phases
stress/super-property-access.js.ftl-eager-no-cjit
mozilla-tests.yaml/ecma/Date/15.9.5.14.js.mozilla-baseline
mozilla-tests.yaml/ecma/Date/15.9.5.14.js.mozilla-no-ftl
stress/super-property-access.js.ftl-eager
mozilla-tests.yaml/ecma/Date/15.9.5.14.js.mozilla-llint
mozilla-tests.yaml/ecma/Date/15.9.5.14.js.mozilla-ftl-eager-no-cjit-validate-phases
mozilla-tests.yaml/ecma/Date/15.9.5.14.js.mozilla</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1286880</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-03-11 22:10:21 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 304184 [details]
&gt; the patch
&gt; 
&gt; Attachment 304184 [details] did not pass jsc-ews (mac):
&gt; Output: http://webkit-queues.webkit.org/results/3296400
&gt; 
&gt; New failing tests:
&gt; mozilla-tests.yaml/ecma/Date/15.9.5.14.js.mozilla-dfg-eager-no-cjit-validate-
&gt; phases
&gt; stress/super-property-access.js.ftl-eager-no-cjit
&gt; mozilla-tests.yaml/ecma/Date/15.9.5.14.js.mozilla-baseline
&gt; mozilla-tests.yaml/ecma/Date/15.9.5.14.js.mozilla-no-ftl
&gt; stress/super-property-access.js.ftl-eager
&gt; mozilla-tests.yaml/ecma/Date/15.9.5.14.js.mozilla-llint
&gt; mozilla-tests.yaml/ecma/Date/15.9.5.14.js.mozilla-ftl-eager-no-cjit-validate-
&gt; phases
&gt; mozilla-tests.yaml/ecma/Date/15.9.5.14.js.mozilla

Hahahahaha! DST is happening!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287246</commentid>
    <comment_count>4</comment_count>
      <attachid>304184</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-03-13 10:56:10 -0700</bug_when>
    <thetext>Comment on attachment 304184
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287247</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-03-13 11:00:46 -0700</bug_when>
    <thetext>Landed in r213856</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287290</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-13 12:34:52 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 169562</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287295</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-03-13 12:37:52 -0700</bug_when>
    <thetext>This was rolled out in r213860: &lt;http://trac.webkit.org/changeset/213860&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287397</commentid>
    <comment_count>8</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-03-13 15:53:28 -0700</bug_when>
    <thetext>Relanded with fixes in r213876</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304184</attachid>
            <date>2017-03-11 21:22:35 -0800</date>
            <delta_ts>2017-03-13 10:56:10 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>4166</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTM3NjUpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE3IEBACisyMDE3LTAzLTExICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CisKKyAgICAgICAgRlRMIHNob3VsZCBub3QgZmx1c2ggc3RyaWN0IGFyZ3VtZW50cyB1bmxl
c3MgaXQgcmVhbGx5IG5lZWRzIHRvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjk1MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKyAgICAgICAgCisgICAgICAgIFRoaXMgYmVuY2htYXJrIHJ1bnMgMy41eCBmYXN0ZXIgdGhh
bmtzIHRvIHRoaXMgcGF0Y2guCisKKyAgICAgICAgKiBtaWNyb2JlbmNobWFya3Mvc3RyaWN0LWFy
Z3VtZW50cy1uby1lc2NhcGUuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKGJh
cik6CisgICAgICAgIChiYXopOgorCiAyMDE3LTAzLTEwICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlA
YXBwbGUuY29tPgogCiAgICAgICAgIFdlYkFzc2VtYmx5OiBNYWtlIG1vcmUgZGVtb3MgcnVuCklu
ZGV4OiBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9zdHJpY3QtYXJndW1lbnRzLW5vLWVzY2FwZS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9zdHJpY3QtYXJndW1lbnRz
LW5vLWVzY2FwZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9z
dHJpY3QtYXJndW1lbnRzLW5vLWVzY2FwZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2
IEBACisidXNlIHN0cmljdCI7CisKK2Z1bmN0aW9uIGZvbygpCit7Cit9CisKK25vSW5saW5lKGZv
byk7CisKK2Z1bmN0aW9uIGJhcihvKQoreworICAgIGZvbygpOworICAgIHJldHVybiBvLmYuZi5m
LmYuZjsKK30KKworZnVuY3Rpb24gYmF6KCkKK3sKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEw
MDsgKytpKSB7CisgICAgICAgIGlmIChiYXIoe2Y6IHtmOiB7Zjoge2Y6IHtmOiA0Mn19fX19KSAh
PSA0MikKKyAgICAgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsK
KyAgICB9Cit9CisKK25vSW5saW5lKGJheik7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMjAwMDA7
ICsraSkKKyAgICBiYXooKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24g
MjEzNzYxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE2IEBACisyMDE3LTAzLTExICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBs
ZS5jb20+CisKKyAgICAgICAgRlRMIHNob3VsZCBub3QgZmx1c2ggc3RyaWN0IGFyZ3VtZW50cyB1
bmxlc3MgaXQgcmVhbGx5IG5lZWRzIHRvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjk1MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKyAgICAgICAgCisgICAgICAgIFRoaXMgaXMgYSByZWZpbmVtZW50IHRoYXQgd2Ugc2hv
dWxkIGhhdmUgZG9uZSBhZ2VzIGFnby4gVGhpcyBraWxscyBzb21lIHBvaW50bGVzcyBQdXRTdGFj
a3MKKyAgICAgICAgaW4gREZHIFNTQSBJUi4gSXQgY2FuIHNvbWV0aW1lcyB1bmxvY2sgb3RoZXIg
b3B0aW1pemF0aW9ucy4KKworICAgICAgICAqIGRmZy9ERkdQcmVjaXNlTG9jYWxDbG9iYmVyaXpl
Lmg6CisgICAgICAgIChKU0M6OkRGRzo6UHJlY2lzZUxvY2FsQ2xvYmJlcml6ZUFkYXB0b3I6OnJl
YWRUb3ApOgorCiAyMDE3LTAzLTEwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAK
ICAgICAgICAgVGhlIEpJVHMgc2hvdWxkIGJlIGFibGUgdG8gZW1pdCBmYXN0IFRMUyBsb2FkcwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVjaXNlTG9jYWxDbG9iYmVyaXpl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVjaXNlTG9j
YWxDbG9iYmVyaXplLmgJKHJldmlzaW9uIDIxMzc2MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHUHJlY2lzZUxvY2FsQ2xvYmJlcml6ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOTcs
OSArMTk3LDExIEBAIHByaXZhdGU6CiAKICAgICAgICAgICAgIAogICAgICAgICBkZWZhdWx0OiB7
Ci0gICAgICAgICAgICAvLyBBbGwgb2YgdGhlIG91dGVybW9zdCBhcmd1bWVudHMsIGV4Y2VwdCB0
aGlzLCBhcmUgZGVmaW5pdGVseSByZWFkLgotICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
bV9ncmFwaC5tX2NvZGVCbG9jay0+bnVtUGFyYW1ldGVycygpOyBpLS0gPiAxOykKLSAgICAgICAg
ICAgICAgICBtX3JlYWQodmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnQoaSkpOworICAgICAgICAg
ICAgLy8gQWxsIG9mIHRoZSBvdXRlcm1vc3QgYXJndW1lbnRzLCBleGNlcHQgdGhpcywgYXJlIHJl
YWQgaW4gc2xvcHB5IG1vZGUuCisgICAgICAgICAgICBpZiAoIW1fZ3JhcGgubV9jb2RlQmxvY2st
PmlzU3RyaWN0TW9kZSgpKSB7CisgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbV9n
cmFwaC5tX2NvZGVCbG9jay0+bnVtUGFyYW1ldGVycygpOyBpLS0gPiAxOykKKyAgICAgICAgICAg
ICAgICAgICAgbV9yZWFkKHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50KGkpKTsKKyAgICAgICAg
ICAgIH0KICAgICAgICAgCiAgICAgICAgICAgICAvLyBUaGUgc3RhY2sgaGVhZGVyIGlzIHJlYWQu
CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgQ2FsbEZyYW1lU2xvdDo6dGhp
c0FyZ3VtZW50OyArK2kpCkBAIC0yMDcsOCArMjA5LDEwIEBAIHByaXZhdGU6CiAgICAgICAgIAog
ICAgICAgICAgICAgLy8gUmVhZCBhbGwgb2YgdGhlIGlubGluZSBhcmd1bWVudHMgYW5kIGNhbGwg
ZnJhbWUgaGVhZGVycyB0aGF0IHdlIGRpZG4ndCBhbHJlYWR5IGNhcHR1cmUuCiAgICAgICAgICAg
ICBmb3IgKElubGluZUNhbGxGcmFtZSogaW5saW5lQ2FsbEZyYW1lID0gbV9ub2RlLT5vcmlnaW4u
c2VtYW50aWMuaW5saW5lQ2FsbEZyYW1lOyBpbmxpbmVDYWxsRnJhbWU7IGlubGluZUNhbGxGcmFt
ZSA9IGlubGluZUNhbGxGcmFtZS0+Z2V0Q2FsbGVySW5saW5lRnJhbWVTa2lwcGluZ1RhaWxDYWxs
cygpKSB7Ci0gICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gaW5saW5lQ2FsbEZyYW1l
LT5hcmd1bWVudHMuc2l6ZSgpOyBpLS0gPiAxOykKLSAgICAgICAgICAgICAgICAgICAgbV9yZWFk
KFZpcnR1YWxSZWdpc3RlcihpbmxpbmVDYWxsRnJhbWUtPnN0YWNrT2Zmc2V0ICsgdmlydHVhbFJl
Z2lzdGVyRm9yQXJndW1lbnQoaSkub2Zmc2V0KCkpKTsKKyAgICAgICAgICAgICAgICBpZiAoIWlu
bGluZUNhbGxGcmFtZS0+aXNTdHJpY3RNb2RlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gaW5saW5lQ2FsbEZyYW1lLT5hcmd1bWVudHMuc2l6ZSgpOyBpLS0gPiAx
OykKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fcmVhZChWaXJ0dWFsUmVnaXN0ZXIoaW5saW5l
Q2FsbEZyYW1lLT5zdGFja09mZnNldCArIHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50KGkpLm9m
ZnNldCgpKSk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGlmIChpbmxpbmVD
YWxsRnJhbWUtPmlzQ2xvc3VyZUNhbGwpCiAgICAgICAgICAgICAgICAgICAgIG1fcmVhZChWaXJ0
dWFsUmVnaXN0ZXIoaW5saW5lQ2FsbEZyYW1lLT5zdGFja09mZnNldCArIENhbGxGcmFtZVNsb3Q6
OmNhbGxlZSkpOwogICAgICAgICAgICAgICAgIGlmIChpbmxpbmVDYWxsRnJhbWUtPmlzVmFyYXJn
cygpKQo=
</data>
<flag name="review"
          id="325746"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
    <flag name="commit-queue"
          id="325749"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>