<?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>160755</bug_id>
          
          <creation_ts>2016-08-10 15:12:02 -0700</creation_ts>
          <short_desc>DFG&apos;s flushForTerminal() needs to add PhantomLocals for bytecode live locals.</short_desc>
          <delta_ts>2016-08-10 16:22:09 -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 Local 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="Mark Lam">mark.lam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1219159</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-08-10 15:12:02 -0700</bug_when>
    <thetext>If the DFG sees that an inlined function will result in an OSR exit every time, it will treat all downstream blocks as dead.  However, it still needs to keep locals that are alive in the bytecode alive for the compiled function so that those locals are properly written to the stack by the OSR exit ramp.  The existing code neglected to do this.  Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1219160</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-08-10 15:12:57 -0700</bug_when>
    <thetext>&lt;rdar://problem/27488507&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1219162</commentid>
    <comment_count>2</comment_count>
      <attachid>285770</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-08-10 15:22:09 -0700</bug_when>
    <thetext>Created attachment 285770
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1219164</commentid>
    <comment_count>3</comment_count>
      <attachid>285770</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-08-10 15:24:10 -0700</bug_when>
    <thetext>Comment on attachment 285770
proposed patch.

Nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1219182</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-08-10 16:22:09 -0700</bug_when>
    <thetext>Thanks for the review.  Landed in r204360: &lt;http://trac.webkit.org/r204360&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285770</attachid>
            <date>2016-08-10 15:22:09 -0700</date>
            <delta_ts>2016-08-10 15:24:10 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-160755.patch</filename>
            <type>text/plain</type>
            <size>6237</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMDQzNTcpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDE2LTA4LTEwICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBERkcncyBmbHVzaEZvclRlcm1pbmFsKCkgbmVlZHMgdG8gYWRkIFBoYW50
b21Mb2NhbHMgZm9yIGJ5dGVjb2RlIGxpdmUgbG9jYWxzLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwNzU1CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8yNzQ4ODUwNz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHN0cmVzcy9uZWVkLWJ5dGVjb2RlLWxpdmVuZXNzLWZvci11bnJlYWNoYWJsZS1ibG9j
a3MtYXQtZGZnLXRpbWUuanM6IEFkZGVkLgorCiAyMDE2LTA4LTA5ICBTYWFtIEJhcmF0aSAgPHNi
YXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIEpTQm91bmRGdW5jdGlvbiBzaG91bGQgbGF6aWx5
IGdlbmVyYXRlIGl0cyBuYW1lIHN0cmluZwpJbmRleDogSlNUZXN0cy9zdHJlc3MvbmVlZC1ieXRl
Y29kZS1saXZlbmVzcy1mb3ItdW5yZWFjaGFibGUtYmxvY2tzLWF0LWRmZy10aW1lLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL25lZWQtYnl0ZWNvZGUtbGl2ZW5lc3MtZm9yLXVucmVh
Y2hhYmxlLWJsb2Nrcy1hdC1kZmctdGltZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0
cmVzcy9uZWVkLWJ5dGVjb2RlLWxpdmVuZXNzLWZvci11bnJlYWNoYWJsZS1ibG9ja3MtYXQtZGZn
LXRpbWUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMSBAQAorLy9AIHJ1bigiLS11c2VD
b25jdXJyZW50SklUPWZhbHNlIikKKworLy8gVGhpcyB0ZXN0IGlzIHNldCB1cCBkZWxpY2F0ZWx5
IHRvOgorLy8gMS4gY2F1c2UgdGhlIHRlc3QoKSBmdW5jdGlvbiB0byBERkcgY29tcGlsZSB3aXRo
IGp1c3QgdGhlIHJpZ2h0IGFtb3VudCBvZiBwcm9maWxpbmcKKy8vICAgIHNvIHRoYXQgLi4uCisv
LyAyLiB0aGUgREZHIGlkZW50aWZpZXMgdGhlICJyZXR1cm4gRnVuY3Rpb24oKSIgcGF0aCBhcyBk
ZWFkLCBhbmQgLi4uCisvLyAzLiB0aGUgREZHIGNvbXBpbGVkIGZ1bmN0aW9uIGRvZXNuJ3QgT1NS
IGV4aXQgdG9vIG1hbnkgdGltZXMgYmVmb3JlIC4uLgorLy8gNC4gd2UgY2hhbmdlIHRoZSBpbXBs
ZW1lbnRhdGlvbiBvZiB0aGUgaW5saW5lZCBmb28oKSBhbmQgZXhlY3V0ZSB0ZXN0KCkgYWdhaW4u
CisvLyAKKy8vIFRoaXMgdGVzdCBzaG91bGQgbm90IGNyYXNoLgorCitldmFsKCJcInVzZSBzdHJp
Y3RcIjsgdmFyIHc7Iik7Citmb28gPSBmdW5jdGlvbigpIHsgdGhyb3cgMDsgfQordmFyIHg7CisK
KyhmdW5jdGlvbigpIHsKKyAgICBldmFsKCJ0ZXN0ID0gZnVuY3Rpb24oKSB7IH5mb28ofigwID8g
fnggOiB4KSA/IDAgOiAwKTsgcmV0dXJuIEZ1bmN0aW9uKCk7IH0iKTsKK30pKCk7CisKKy8vIFRo
aXMgbG9vcCBjb3VudCBvZiAyMDAwIHdhcyBlbXBpcmljYWxseSBkZXRlcm1pbmVkIHRvIGJlIHRo
ZSByaWdodCBhbW91bnQgdG8gZ2V0IHRoaXMKKy8vIHRoaXMgaXNzdWUgdG8gbWFuaWZlc3QuICBE
cm9wcGluZyBvciByYWlzaW5nIGl0IG1heSBtYXNrIHRoZSBpc3N1ZSBhbmQgcHJldmVudCBpdCBm
cm9tCisvLyBtYW5pZmVzdGluZy4KK2ZvciAodmFyIGkgPSAwOyBpIDwgMjAwMDsgKytpKSB7Cisg
ICAgdHJ5IHsKKyAgICAgICAgdGVzdCgpOworICAgIH0gY2F0Y2goZSkgeworICAgIH0KK30KKwor
Zm9vID0gZnVuY3Rpb24oKSB7IH07Cit0ZXN0KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDIwNDM1NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNCBAQAorMjAxNi0wOC0xMCAgTWFyayBMYW0gIDxt
YXJrLmxhbUBhcHBsZS5jb20+CisKKyAgICAgICAgREZHJ3MgZmx1c2hGb3JUZXJtaW5hbCgpIG5l
ZWRzIHRvIGFkZCBQaGFudG9tTG9jYWxzIGZvciBieXRlY29kZSBsaXZlIGxvY2Fscy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDc1NQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMjc0ODg1MDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSWYgdGhlIERGRyBzZWVzIHRoYXQgYW4gaW5saW5lZCBmdW5j
dGlvbiB3aWxsIHJlc3VsdCBpbiBhbiBPU1IgZXhpdCBldmVyeSB0aW1lLAorICAgICAgICBpdCB3
aWxsIHRyZWF0IGFsbCBkb3duc3RyZWFtIGJsb2NrcyBhcyBkZWFkLiAgSG93ZXZlciwgaXQgc3Rp
bGwgbmVlZHMgdG8ga2VlcAorICAgICAgICBsb2NhbHMgdGhhdCBhcmUgYWxpdmUgaW4gdGhlIGJ5
dGVjb2RlIGFsaXZlIGZvciB0aGUgY29tcGlsZWQgZnVuY3Rpb24gc28gdGhhdAorICAgICAgICB0
aG9zZSBsb2NhbHMgYXJlIHByb3Blcmx5IHdyaXR0ZW4gdG8gdGhlIHN0YWNrIGJ5IHRoZSBPU1Ig
ZXhpdCByYW1wLgorCisgICAgICAgIFRoZSBleGlzdGluZyBjb2RlIG5lZ2xlY3RlZCB0byBkbyB0
aGlzLiAgVGhpcyBwYXRjaCByZW1lZGllcyB0aGlzIGlzc3VlLgorCisgICAgICAgICogZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6
Zmx1c2hEaXJlY3QpOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjphZGRGbHVz
aE9yUGhhbnRvbUxvY2FsKToKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6cGhh
bnRvbUxvY2FsRGlyZWN0KToKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6Zmx1
c2hGb3JUZXJtaW5hbCk6CisKIDIwMTYtMDgtMTAgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFp
bkBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gU3BlZWQgdXAgU3BhcnNlQ29sbGVjdGlvbiAm
IHJlbGF0ZWQgbWFwcwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29k
ZVBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdC
eXRlQ29kZVBhcnNlci5jcHAJKHJldmlzaW9uIDIwNDM1NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NzMsOSAr
NTczLDE1IEBAIHByaXZhdGU6CiAgICAgewogICAgICAgICBmbHVzaERpcmVjdChvcGVyYW5kLCBm
aW5kQXJndW1lbnRQb3NpdGlvbihvcGVyYW5kKSk7CiAgICAgfQotICAgIAorCiAgICAgdm9pZCBm
bHVzaERpcmVjdChWaXJ0dWFsUmVnaXN0ZXIgb3BlcmFuZCwgQXJndW1lbnRQb3NpdGlvbiogYXJn
dW1lbnRQb3NpdGlvbikKICAgICB7CisgICAgICAgIGFkZEZsdXNoT3JQaGFudG9tTG9jYWw8Rmx1
c2g+KG9wZXJhbmQsIGFyZ3VtZW50UG9zaXRpb24pOworICAgIH0KKworICAgIHRlbXBsYXRlPE5v
ZGVUeXBlIG5vZGVUeXBlPgorICAgIHZvaWQgYWRkRmx1c2hPclBoYW50b21Mb2NhbChWaXJ0dWFs
UmVnaXN0ZXIgb3BlcmFuZCwgQXJndW1lbnRQb3NpdGlvbiogYXJndW1lbnRQb3NpdGlvbikKKyAg
ICB7CiAgICAgICAgIEFTU0VSVCghb3BlcmFuZC5pc0NvbnN0YW50KCkpOwogICAgICAgICAKICAg
ICAgICAgTm9kZSogbm9kZSA9IG1fY3VycmVudEJsb2NrLT52YXJpYWJsZXNBdFRhaWwub3BlcmFu
ZChvcGVyYW5kKTsKQEAgLTU4NywxMiArNTkzLDE3IEBAIHByaXZhdGU6CiAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgIHZhcmlhYmxlID0gbmV3VmFyaWFibGVBY2Nlc3NEYXRhKG9wZXJhbmQpOwog
ICAgICAgICAKLSAgICAgICAgbm9kZSA9IGFkZFRvR3JhcGgoRmx1c2gsIE9wSW5mbyh2YXJpYWJs
ZSkpOworICAgICAgICBub2RlID0gYWRkVG9HcmFwaChub2RlVHlwZSwgT3BJbmZvKHZhcmlhYmxl
KSk7CiAgICAgICAgIG1fY3VycmVudEJsb2NrLT52YXJpYWJsZXNBdFRhaWwub3BlcmFuZChvcGVy
YW5kKSA9IG5vZGU7CiAgICAgICAgIGlmIChhcmd1bWVudFBvc2l0aW9uKQogICAgICAgICAgICAg
YXJndW1lbnRQb3NpdGlvbi0+YWRkVmFyaWFibGUodmFyaWFibGUpOwogICAgIH0KLSAgICAKKwor
ICAgIHZvaWQgcGhhbnRvbUxvY2FsRGlyZWN0KFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kKQorICAg
IHsKKyAgICAgICAgYWRkRmx1c2hPclBoYW50b21Mb2NhbDxQaGFudG9tTG9jYWw+KG9wZXJhbmQs
IGZpbmRBcmd1bWVudFBvc2l0aW9uKG9wZXJhbmQpKTsKKyAgICB9CisKICAgICB2b2lkIGZsdXNo
KElubGluZVN0YWNrRW50cnkqIGlubGluZVN0YWNrRW50cnkpCiAgICAgewogICAgICAgICBpbnQg
bnVtQXJndW1lbnRzOwpAQCAtNjE1LDggKzYyNiwzMiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBm
bHVzaEZvclRlcm1pbmFsKCkKICAgICB7Ci0gICAgICAgIGZvciAoSW5saW5lU3RhY2tFbnRyeSog
aW5saW5lU3RhY2tFbnRyeSA9IG1faW5saW5lU3RhY2tUb3A7IGlubGluZVN0YWNrRW50cnk7IGlu
bGluZVN0YWNrRW50cnkgPSBpbmxpbmVTdGFja0VudHJ5LT5tX2NhbGxlcikKKyAgICAgICAgQ29k
ZU9yaWdpbiBvcmlnaW4gPSBjdXJyZW50Q29kZU9yaWdpbigpOworICAgICAgICB1bnNpZ25lZCBi
eXRlY29kZUluZGV4ID0gb3JpZ2luLmJ5dGVjb2RlSW5kZXg7CisKKyAgICAgICAgZm9yIChJbmxp
bmVTdGFja0VudHJ5KiBpbmxpbmVTdGFja0VudHJ5ID0gbV9pbmxpbmVTdGFja1RvcDsgaW5saW5l
U3RhY2tFbnRyeTsgaW5saW5lU3RhY2tFbnRyeSA9IGlubGluZVN0YWNrRW50cnktPm1fY2FsbGVy
KSB7CiAgICAgICAgICAgICBmbHVzaChpbmxpbmVTdGFja0VudHJ5KTsKKworICAgICAgICAgICAg
QVNTRVJUKG9yaWdpbi5pbmxpbmVDYWxsRnJhbWUgPT0gaW5saW5lU3RhY2tFbnRyeS0+bV9pbmxp
bmVDYWxsRnJhbWUpOworICAgICAgICAgICAgSW5saW5lQ2FsbEZyYW1lKiBpbmxpbmVDYWxsRnJh
bWUgPSBpbmxpbmVTdGFja0VudHJ5LT5tX2lubGluZUNhbGxGcmFtZTsKKyAgICAgICAgICAgIENv
ZGVCbG9jayogY29kZUJsb2NrID0gbV9ncmFwaC5iYXNlbGluZUNvZGVCbG9ja0ZvcihpbmxpbmVD
YWxsRnJhbWUpOworICAgICAgICAgICAgRnVsbEJ5dGVjb2RlTGl2ZW5lc3MmIGZ1bGxMaXZlbmVz
cyA9IG1fZ3JhcGgubGl2ZW5lc3NGb3IoY29kZUJsb2NrKTsKKyAgICAgICAgICAgIGNvbnN0IEZh
c3RCaXRWZWN0b3ImIGxpdmVuZXNzQXRCeXRlY29kZSA9IGZ1bGxMaXZlbmVzcy5nZXRMaXZlbmVz
cyhieXRlY29kZUluZGV4KTsKKworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBsb2NhbCA9IGNv
ZGVCbG9jay0+bV9udW1DYWxsZWVMb2NhbHM7IGxvY2FsLS07KSB7CisgICAgICAgICAgICAgICAg
aWYgKGxpdmVuZXNzQXRCeXRlY29kZS5nZXQobG9jYWwpKSB7CisgICAgICAgICAgICAgICAgICAg
IFZpcnR1YWxSZWdpc3RlciByZWcgPSB2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChsb2NhbCk7Cisg
ICAgICAgICAgICAgICAgICAgIGlmIChpbmxpbmVDYWxsRnJhbWUpCisgICAgICAgICAgICAgICAg
ICAgICAgICByZWcgPSBpbmxpbmVTdGFja0VudHJ5LT5yZW1hcE9wZXJhbmQocmVnKTsKKyAgICAg
ICAgICAgICAgICAgICAgcGhhbnRvbUxvY2FsRGlyZWN0KHJlZyk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoaW5saW5lQ2FsbEZyYW1lKSB7Cisg
ICAgICAgICAgICAgICAgYnl0ZWNvZGVJbmRleCA9IGlubGluZUNhbGxGcmFtZS0+ZGlyZWN0Q2Fs
bGVyLmJ5dGVjb2RlSW5kZXg7CisgICAgICAgICAgICAgICAgb3JpZ2luID0gaW5saW5lQ2FsbEZy
YW1lLT5kaXJlY3RDYWxsZXI7CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAgICB9CiAKICAg
ICB2b2lkIGZsdXNoRm9yUmV0dXJuKCkK
</data>
<flag name="review"
          id="309372"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>