<?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>174900</bug_id>
          
          <creation_ts>2017-07-27 09:55:27 -0700</creation_ts>
          <short_desc>ASSERTION FAILED: candidate-&gt;op() == PhantomCreateRest || candidate-&gt;op() == PhantomDirectArguments || candidate-&gt;op() == PhantomClonedArguments || candidate-&gt;op() == PhantomSpread || candidate-&gt;op() == PhantomNewArrayWithSpread</short_desc>
          <delta_ts>2017-07-28 16:26:24 -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>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="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1332664</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-07-27 09:55:27 -0700</bug_when>
    <thetext>Debug build JSC tests are failing:
** The following JSC stress test failures have been introduced:
	microbenchmarks/deltablue-varargs.js.ftl-eager
	microbenchmarks/deltablue-varargs.js.ftl-eager-no-cjit
	microbenchmarks/deltablue-varargs.js.ftl-eager-no-cjit-b3o1

The commit range that introduced this failure is: 219725:219732.
The likely culprit (given the assertion failure) is https://trac.webkit.org/r219727.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332672</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-07-27 10:15:48 -0700</bug_when>
    <thetext>I&apos;m looking it now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332673</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-07-27 10:17:44 -0700</bug_when>
    <thetext>OK, I&apos;ve reproduced it with ftl-eager-no-cjit configuration. Cool, it&apos;s no CJIT :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332675</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-07-27 10:39:57 -0700</bug_when>
    <thetext>In this arguments elimination phase, due to high cost of AI, we intentionally do not run AI.
Instead, we use ForceOSRExit etc. (pseudo terminals) not to look into unreachable nodes.
The problem is that even transforming phase also checks this pseudo terminals.


BB1
1: ForceOSRExit
2: CreateDirectArguments

BB2
3: GetButterfly(@2)
4: ForceOSRExit

In the above case, @2 is not converted to PhantomDirectArguments.
But @3 is processed. And the assertion fires.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332676</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-07-27 10:41:08 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #3)
&gt; In this arguments elimination phase, due to high cost of AI, we
&gt; intentionally do not run AI.
&gt; Instead, we use ForceOSRExit etc. (pseudo terminals) not to look into
&gt; unreachable nodes.
&gt; The problem is that even transforming phase also checks this pseudo
&gt; terminals.
&gt; 
&gt; 
&gt; BB1
&gt; 1: ForceOSRExit
&gt; 2: CreateDirectArguments
&gt; 
&gt; BB2
&gt; 3: GetButterfly(@2)
&gt; 4: ForceOSRExit
&gt; 
&gt; In the above case, @2 is not converted to PhantomDirectArguments.
&gt; But @3 is processed. And the assertion fires.

I think the reasonable fix is not listing candidates after pseudo exits.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332679</commentid>
    <comment_count>5</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-07-27 10:57:25 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #4)
&gt; (In reply to Yusuke Suzuki from comment #3)
&gt; &gt; In this arguments elimination phase, due to high cost of AI, we
&gt; &gt; intentionally do not run AI.
&gt; &gt; Instead, we use ForceOSRExit etc. (pseudo terminals) not to look into
&gt; &gt; unreachable nodes.
&gt; &gt; The problem is that even transforming phase also checks this pseudo
&gt; &gt; terminals.
&gt; &gt; 
&gt; &gt; 
&gt; &gt; BB1
&gt; &gt; 1: ForceOSRExit
&gt; &gt; 2: CreateDirectArguments
&gt; &gt; 
&gt; &gt; BB2
&gt; &gt; 3: GetButterfly(@2)
&gt; &gt; 4: ForceOSRExit
&gt; &gt; 
&gt; &gt; In the above case, @2 is not converted to PhantomDirectArguments.
&gt; &gt; But @3 is processed. And the assertion fires.
&gt; 
&gt; I think the reasonable fix is not listing candidates after pseudo exits.

Sounds reasonable to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332680</commentid>
    <comment_count>6</comment_count>
      <attachid>316556</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-07-27 11:14:47 -0700</bug_when>
    <thetext>Created attachment 316556
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332912</commentid>
    <comment_count>7</comment_count>
      <attachid>316556</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-28 00:26:00 -0700</bug_when>
    <thetext>Comment on attachment 316556
Patch

Clearing flags on attachment: 316556

Committed r219997: &lt;http://trac.webkit.org/changeset/219997&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332913</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-28 00:26:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1333120</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-07-28 16:26:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/33601432&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>316556</attachid>
            <date>2017-07-27 11:14:47 -0700</date>
            <delta_ts>2017-07-28 00:26:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174900-20170728031446.patch</filename>
            <type>text/plain</type>
            <size>4043</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5OTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
MWE1YWRlZTlmMWE3MDA3NzVlZDAyMjFkYWMzNjViNDBkZjE3ODI4Li4wNTMxOWUzYWQ0MmNhMzFh
NjZjOGVkMzY2ZmU0NTc4YTU1OGRmNjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwzMCBAQAogMjAxNy0wNy0yNyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAorICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiBjYW5kaWRhdGUtPm9wKCkgPT0gUGhh
bnRvbUNyZWF0ZVJlc3QgfHwgY2FuZGlkYXRlLT5vcCgpID09IFBoYW50b21EaXJlY3RBcmd1bWVu
dHMgfHwgY2FuZGlkYXRlLT5vcCgpID09IFBoYW50b21DbG9uZWRBcmd1bWVudHMgfHwgY2FuZGlk
YXRlLT5vcCgpID09IFBoYW50b21TcHJlYWQgfHwgY2FuZGlkYXRlLT5vcCgpID09IFBoYW50b21O
ZXdBcnJheVdpdGhTcHJlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NDkwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEluIHRoZSBhcmd1bWVudHMgZWxpbWluYXRpb24gcGhhc2UsIGR1ZSB0byBoaWdo
IGNvc3Qgb2YgQUksIHdlIGludGVudGlvbmFsbHkgZG8gbm90IHJ1biBBSS4KKyAgICAgICAgSW5z
dGVhZCwgd2UgdXNlIEZvcmNlT1NSRXhpdCBldGMuIChwc2V1ZG8gdGVybWluYWxzKSBub3QgdG8g
bG9vayBpbnRvIHVucmVhY2hhYmxlIG5vZGVzLgorICAgICAgICBUaGUgcHJvYmxlbSBpcyB0aGF0
IGV2ZW4gdHJhbnNmb3JtaW5nIHBoYXNlIGFsc28gY2hlY2tzIHRoaXMgcHNldWRvIHRlcm1pbmFs
cy4KKworICAgICAgICAgICAgQkIxCisgICAgICAgICAgICAxOiBGb3JjZU9TUkV4aXQKKyAgICAg
ICAgICAgIDI6IENyZWF0ZURpcmVjdEFyZ3VtZW50cworCisgICAgICAgICAgICBCQjIKKyAgICAg
ICAgICAgIDM6IEdldEJ1dHRlcmZseShAMikKKyAgICAgICAgICAgIDQ6IEZvcmNlT1NSRXhpdAor
CisgICAgICAgIEluIHRoZSBhYm92ZSBjYXNlLCBAMiBpcyBub3QgY29udmVydGVkIHRvIFBoYW50
b21EaXJlY3RBcmd1bWVudHMuIEJ1dCBAMyBpcyBwcm9jZXNzZWQuIEFuZCB0aGUgYXNzZXJ0aW9u
IGZpcmVzLgorCisgICAgICAgIEluIHRoaXMgcGF0Y2gsIHdlIGRvIG5vdCBsaXN0IGNhbmRpZGF0
ZXMgdXAgYWZ0ZXIgc2VlaW5nIHBzZXVkbyB0ZXJtaW5hbHMgaW4gYmFzaWMgYmxvY2tzLgorCisg
ICAgICAgICogZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwOgorCisyMDE3LTA3
LTI3ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCiAgICAgICAgIFVu
cmV2aWV3ZWQsIGJ1aWxkIGZpeCBmb3IgQ0xvb3AKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTYzNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcAppbmRleCBm
ZDZiZjk4ZTZkMjJiZGNlNTJkYWViYzgzMjM0MmRjNGYwY2JmM2Q5Li5iYWEwYmNlMzQ5YzA1OTgy
MTZlNzA4ZTM3NjU4NWVkZTYxMTQwOGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5jcHAKQEAgLTE1Miw2
ICsxNTIsOCBAQCBjbGFzcyBBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlIDogcHVibGljIFBoYXNl
IHsKICAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKG5vZGUtPmlzUHNldWRvVGVy
bWluYWwoKSkKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICAgICAgCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGQ1NTE0MDQyZTFhNWE1NTczY2VjOTVkYzQ2MGFmZDdmNDA5ZTMxZDEu
LjRjNmMwMmIwNmYwYWY0ZjY3YzY0NTRjNjkxZDkwOGU1MzMwZjM4ZDIgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcgQEAK
IDIwMTctMDctMjcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKKyAg
ICAgICAgQVNTRVJUSU9OIEZBSUxFRDogY2FuZGlkYXRlLT5vcCgpID09IFBoYW50b21DcmVhdGVS
ZXN0IHx8IGNhbmRpZGF0ZS0+b3AoKSA9PSBQaGFudG9tRGlyZWN0QXJndW1lbnRzIHx8IGNhbmRp
ZGF0ZS0+b3AoKSA9PSBQaGFudG9tQ2xvbmVkQXJndW1lbnRzIHx8IGNhbmRpZGF0ZS0+b3AoKSA9
PSBQaGFudG9tU3ByZWFkIHx8IGNhbmRpZGF0ZS0+b3AoKSA9PSBQaGFudG9tTmV3QXJyYXlXaXRo
U3ByZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzQ5MDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHN0cmVzcy9hcmd1bWVudHMtZWxpbWluYXRpb24tY2FuZGlkYXRlLWxpc3RpbmdzLXNob3VsZC1y
ZXNwZWN0LXBzZXVkby10ZXJtaW5hbHMuanM6IEFkZGVkLgorICAgICAgICAoc2lkZUVmZmVjdCk6
CisgICAgICAgIChhcmdzKToKKyAgICAgICAgKHRlc3QpOgorCisyMDE3LTA3LTI3ICBZdXN1a2Ug
U3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCiAgICAgICAgIEhvaXN0IERPTSBiaW5k
aW5nIGF0dHJpYnV0ZSBnZXR0ZXIgcHJvbG9ndWUgaW50byBKYXZhU2NyaXB0Q29yZSB0YWtpbmcg
YWR2YW50YWdlIG9mIERPTUpJVCAvIENoZWNrU3ViQ2xhc3MKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTYzNwogCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3N0cmVzcy9hcmd1bWVudHMtZWxpbWluYXRpb24tY2FuZGlkYXRlLWxpc3RpbmdzLXNob3VsZC1y
ZXNwZWN0LXBzZXVkby10ZXJtaW5hbHMuanMgYi9KU1Rlc3RzL3N0cmVzcy9hcmd1bWVudHMtZWxp
bWluYXRpb24tY2FuZGlkYXRlLWxpc3RpbmdzLXNob3VsZC1yZXNwZWN0LXBzZXVkby10ZXJtaW5h
bHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjNlNjc1ZjQ2OTMxOWNjNzFiZTczZmNlYmQyNmUyMmFjOWIwZDI0
MQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2FyZ3VtZW50cy1lbGltaW5hdGlv
bi1jYW5kaWRhdGUtbGlzdGluZ3Mtc2hvdWxkLXJlc3BlY3QtcHNldWRvLXRlcm1pbmFscy5qcwpA
QCAtMCwwICsxLDI4IEBACit2YXIgaW5kZXggPSAwOworZnVuY3Rpb24gc2lkZUVmZmVjdCgpCit7
CisgICAgcmV0dXJuIGluZGV4KysgPT09IDA7Cit9Citub0lubGluZShzaWRlRWZmZWN0KTsKKwor
ZnVuY3Rpb24gYXJncyhmbGFnKQoreworICAgIHZhciBhID0gYXJndW1lbnRzOworICAgIGlmIChm
bGFnKSB7CisgICAgICAgIHJldHVybiBhWzRdICsgYVs1XTsKKyAgICB9CisgICAgcmV0dXJuIGEu
bGVuZ3RoOworfQorCitmdW5jdGlvbiB0ZXN0KGZsYWcpCit7CisgICAgYXJncyhmbGFnLCAwLCAx
LCAyKTsKKyAgICBpZiAoc2lkZUVmZmVjdCgpKSB7CisgICAgICAgIE9TUkV4aXQoKTsKKyAgICAg
ICAgYXJncyhzaWRlRWZmZWN0KCksIDAsIDEsIDIpOworICAgIH0KK30KK25vSW5saW5lKHRlc3Qp
OworCitmb3IgKHZhciBpID0gMDsgaSA8IDFlMzsgKytpKQorICAgIHRlc3QoZmFsc2UpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>