<?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>185149</bug_id>
          
          <creation_ts>2018-04-30 16:09:19 -0700</creation_ts>
          <short_desc>ToString constant folds without preserving checks, causing us to break assumptions that the code would OSR exit</short_desc>
          <delta_ts>2018-04-30 23:04:40 -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="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1419156</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-04-30 16:09:19 -0700</bug_when>
    <thetext>For example, we transform code like:

a: DoubleConstant(1.0)
b: ToString(Check:Int32:@a)
c: Unreachable

to

b: LazyJSConstant
c: Unreachable

Where we no longer exit in the latter case, causing us to crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419177</commentid>
    <comment_count>1</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-04-30 16:49:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/39455917&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419178</commentid>
    <comment_count>2</comment_count>
      <attachid>339162</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-04-30 16:51:09 -0700</bug_when>
    <thetext>Created attachment 339162
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419216</commentid>
    <comment_count>3</comment_count>
      <attachid>339162</attachid>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-04-30 18:39:15 -0700</bug_when>
    <thetext>Comment on attachment 339162
patch

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

New failing tests:
microbenchmarks/string-replace.js.ftl-eager-no-cjit-b3o1
microbenchmarks/v8-regexp-search.js.ftl-no-cjit-no-put-stack-validate
stress/string-replace-constant-folding-replacer-not-string.js.ftl-no-cjit-no-put-stack-validate
v8-v6/v8-regexp.js.ftl-no-cjit-no-inline-validate
microbenchmarks/string-replace.js.ftl-no-cjit-no-put-stack-validate
microbenchmarks/v8-regexp-search.js.dfg-maximal-flush-validate-no-cjit
microbenchmarks/v8-regexp-search.js.ftl-no-cjit-no-inline-validate
microbenchmarks/string-replace-empty.js.dfg-maximal-flush-validate-no-cjit
v8-v6/v8-regexp.js.dfg-maximal-flush-validate-no-cjit
microbenchmarks/string-replace-empty.js.ftl-no-cjit-no-inline-validate
v8-v6/v8-regexp.js.no-cjit-validate-phases
microbenchmarks/v8-regexp-search.js.dfg-eager-no-cjit-validate
microbenchmarks/string-replace-empty.js.ftl-eager-no-cjit-b3o1
microbenchmarks/v8-regexp-search.js.ftl-eager-no-cjit-b3o1
microbenchmarks/string-replace-empty.js.dfg-eager-no-cjit-validate
stress/v8-regexp-strict.js.dfg-maximal-flush-validate-no-cjit
stress/v8-regexp-strict.js.ftl-no-cjit-no-put-stack-validate
stress/v8-regexp-strict.js.ftl-no-cjit-validate-sampling-profiler
v8-v6/v8-regexp.js.ftl-eager-no-cjit
microbenchmarks/string-replace-empty.js.ftl-eager-no-cjit
microbenchmarks/string-replace.js.dfg-maximal-flush-validate-no-cjit
stress/v8-regexp-strict.js.no-cjit-validate-phases
microbenchmarks/string-replace.js.no-cjit-validate-phases
v8-v6/v8-regexp.js.ftl-no-cjit-no-put-stack-validate
stress/v8-regexp-strict.js.ftl-no-cjit-no-inline-validate
stress/string-replace-constant-folding-replacer-not-string.js.no-cjit-validate-phases
microbenchmarks/string-replace.js.ftl-no-cjit-no-inline-validate
stress/string-replace-constant-folding-replacer-not-string.js.dfg-maximal-flush-validate-no-cjit
stress/v8-regexp-strict.js.dfg-eager-no-cjit-validate
microbenchmarks/v8-regexp-search.js.ftl-eager-no-cjit
microbenchmarks/string-replace-empty.js.no-cjit-validate-phases
microbenchmarks/string-replace.js.ftl-no-cjit-validate-sampling-profiler
stress/v8-regexp-strict.js.ftl-eager-no-cjit-b3o1
microbenchmarks/string-replace.js.ftl-eager-no-cjit
microbenchmarks/string-replace-empty.js.ftl-no-cjit-validate-sampling-profiler
stress/string-replace-constant-folding-replacer-not-string.js.ftl-no-cjit-no-inline-validate
stress/v8-regexp-strict.js.ftl-eager-no-cjit
microbenchmarks/string-replace-empty.js.ftl-no-cjit-no-put-stack-validate
microbenchmarks/string-replace.js.dfg-eager-no-cjit-validate
microbenchmarks/v8-regexp-search.js.ftl-no-cjit-validate-sampling-profiler
stress/string-replace-constant-folding-replacer-not-string.js.ftl-no-cjit-validate-sampling-profiler
v8-v6/v8-regexp.js.dfg-eager-no-cjit-validate
microbenchmarks/v8-regexp-search.js.no-cjit-validate-phases
v8-v6/v8-regexp.js.ftl-eager-no-cjit-b3o1
v8-v6/v8-regexp.js.ftl-no-cjit-validate-sampling-profiler</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419253</commentid>
    <comment_count>4</comment_count>
      <attachid>339182</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-04-30 21:39:40 -0700</bug_when>
    <thetext>Created attachment 339182
patch for landing

It appears I made tests fail when I converted one of the callsities. I switched that back to the non-check emitting version. However, I saw conversion also didn&apos;t preserve checks, so I added for it to retain its checks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419264</commentid>
    <comment_count>5</comment_count>
      <attachid>339182</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-30 23:04:39 -0700</bug_when>
    <thetext>Comment on attachment 339182
patch for landing

Clearing flags on attachment: 339182

Committed r231193: &lt;https://trac.webkit.org/changeset/231193&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419265</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-30 23:04:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339162</attachid>
            <date>2018-04-30 16:51:09 -0700</date>
            <delta_ts>2018-04-30 21:39:47 -0700</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>5301</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzExODApCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDE4LTA0LTMwICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFRvU3RyaW5nIGNvbnN0YW50IGZvbGRzIHdpdGhvdXQgcHJlc2Vydmlu
ZyBjaGVja3MsIGNhdXNpbmcgdXMgdG8gYnJlYWsgYXNzdW1wdGlvbnMgdGhhdCB0aGUgY29kZSB3
b3VsZCBPU1IgZXhpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTg1MTQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zOTQ1NTkxNz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9rZWVwLWNo
ZWNrcy13aGVuLWNvbnZlcnRpbmctdG8tbGF6eS1qcy1jb25zdGFudC1pbi1zdHJlbmd0aC1yZWR1
Y3Rpb24uanM6IEFkZGVkLgorCiAyMDE4LTA0LTI5ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVl
dWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjMxMTM3
LgpJbmRleDogSlNUZXN0cy9zdHJlc3Mva2VlcC1jaGVja3Mtd2hlbi1jb252ZXJ0aW5nLXRvLWxh
enktanMtY29uc3RhbnQtaW4tc3RyZW5ndGgtcmVkdWN0aW9uLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpT
VGVzdHMvc3RyZXNzL2tlZXAtY2hlY2tzLXdoZW4tY29udmVydGluZy10by1sYXp5LWpzLWNvbnN0
YW50LWluLXN0cmVuZ3RoLXJlZHVjdGlvbi5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0
cmVzcy9rZWVwLWNoZWNrcy13aGVuLWNvbnZlcnRpbmctdG8tbGF6eS1qcy1jb25zdGFudC1pbi1z
dHJlbmd0aC1yZWR1Y3Rpb24uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3IEBACisvL0Ag
cnVuRGVmYXVsdCgiLS1qaXRQb2xpY3lTY2FsZT0wIiwgIi0tdXNlQ29uY3VycmVudEpJVD1mYWxz
ZSIpCisKK2xldCBiYXI7Citmb3IgKGxldCBpID0gMDsgaSA8IDIwOyArK2kpIHsKKyAgYmFyID0g
aSAqKiAwOworICBiYXIgKyAnJzsKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2
aXNpb24gMjMxMTcyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE4LTA0LTMwICBTYWFtIEJhcmF0aSAgPHNiYXJh
dGlAYXBwbGUuY29tPgorCisgICAgICAgIFRvU3RyaW5nIGNvbnN0YW50IGZvbGRzIHdpdGhvdXQg
cHJlc2VydmluZyBjaGVja3MsIGNhdXNpbmcgdXMgdG8gYnJlYWsgYXNzdW1wdGlvbnMgdGhhdCB0
aGUgY29kZSB3b3VsZCBPU1IgZXhpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTg1MTQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zOTQ1NTkxNz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgYnVn
IHdhcyB0aGF0IHdlIHdlcmUgZGVsZXRpbmcgY2hlY2tzIHRoYXQgd2Ugc2hvdWxkbid0IGhhdmUg
ZGVsZXRlZC4KKyAgICAgICAgVGhpcyBwYXRjaCBtYWtlcyBhIGhlbHBlciBpbnNpZGUgc3RyZW5n
dGggcmVkdWN0aW9uIHRoYXQgY29udmVydHMgdG8KKyAgICAgICAgYSBMYXp5SlNDb25zdGFudCB3
aGlsZSBtYWludGFpbmluZyBjaGVja3MsIGFuZCBzd2l0Y2hlcyB1c2VycyBvZiB0aGUKKyAgICAg
ICAgbm9kZSBBUEkgaW5zaWRlIHN0cmVuZ3RoIHJlZHVjdGlvbiB0byBpbnN0ZWFkIGNhbGwgdGhl
IGhlbHBlciBmdW5jdGlvbi4KKworICAgICAgICAqIGRmZy9ERkdTdHJlbmd0aFJlZHVjdGlvblBo
YXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTdHJlbmd0aFJlZHVjdGlvblBoYXNlOjpoYW5k
bGVOb2RlKToKKyAgICAgICAgKEpTQzo6REZHOjpTdHJlbmd0aFJlZHVjdGlvblBoYXNlOjpjb252
ZXJ0VG9MYXp5SlNWYWx1ZSk6CisKIDIwMTgtMDQtMzAgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21p
bGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSB0aGUgTWF5QmVQcm90b3R5cGUgSlNDZWxs
IGhlYWRlciBiaXQgdG8gSW5saW5lVHlwZUZsYWdzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RyZW5ndGhSZWR1Y3Rpb25QaGFzZS5jcHAJKHJldmlz
aW9uIDIzMTE3MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RyZW5ndGhSZWR1
Y3Rpb25QaGFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2MSw4ICszNjEsNyBAQCBwcml2YXRl
OgogICAgICAgICAgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKICAgICAgICAgICAgICAg
ICBidWlsZGVyLmFwcGVuZChsZWZ0U3RyaW5nKTsKICAgICAgICAgICAgICAgICBidWlsZGVyLmFw
cGVuZChyaWdodFN0cmluZyk7Ci0gICAgICAgICAgICAgICAgbV9ub2RlLT5jb252ZXJ0VG9MYXp5
SlNDb25zdGFudCgKLSAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwgTGF6eUpTVmFsdWU6Om5l
d1N0cmluZyhtX2dyYXBoLCBidWlsZGVyLnRvU3RyaW5nKCkpKTsKKyAgICAgICAgICAgICAgICBj
b252ZXJ0VG9MYXp5SlNWYWx1ZShtX25vZGUsIExhenlKU1ZhbHVlOjpuZXdTdHJpbmcobV9ncmFw
aCwgYnVpbGRlci50b1N0cmluZygpKSk7CiAgICAgICAgICAgICAgICAgbV9jaGFuZ2VkID0gdHJ1
ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzg5LDggKzM4OCw3IEBA
IHByaXZhdGU6CiAgICAgICAgICAgICBpZiAoISFleHRyYVN0cmluZykKICAgICAgICAgICAgICAg
ICBidWlsZGVyLmFwcGVuZChleHRyYVN0cmluZyk7CiAKLSAgICAgICAgICAgIG1fbm9kZS0+Y29u
dmVydFRvTGF6eUpTQ29uc3RhbnQoCi0gICAgICAgICAgICAgICAgbV9ncmFwaCwgTGF6eUpTVmFs
dWU6Om5ld1N0cmluZyhtX2dyYXBoLCBidWlsZGVyLnRvU3RyaW5nKCkpKTsKKyAgICAgICAgICAg
IGNvbnZlcnRUb0xhenlKU1ZhbHVlKG1fbm9kZSwgTGF6eUpTVmFsdWU6Om5ld1N0cmluZyhtX2dy
YXBoLCBidWlsZGVyLnRvU3RyaW5nKCkpKTsKICAgICAgICAgICAgIG1fY2hhbmdlZCA9IHRydWU7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtNDEyLDcgKzQxMCw3IEBAIHByaXZh
dGU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gU3RyaW5nOjpudW1iZXJU
b1N0cmluZ0VDTUFTY3JpcHQodmFsdWUuYXNOdW1iZXIoKSk7CiAKICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICghcmVzdWx0LmlzTnVsbCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbV9ub2RlLT5jb252ZXJ0VG9MYXp5SlNDb25zdGFudChtX2dyYXBoLCBMYXp5SlNWYWx1ZTo6
bmV3U3RyaW5nKG1fZ3JhcGgsIHJlc3VsdCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnZlcnRUb0xhenlKU1ZhbHVlKG1fbm9kZSwgTGF6eUpTVmFsdWU6Om5ld1N0cmluZyhtX2dy
YXBoLCByZXN1bHQpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2NoYW5nZWQgPSB0
cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CkBA
IC00MzIsNyArNDMwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBKU1ZhbHVlIHZhbHVl
ID0gY2hpbGQxLT5jb25zdGFudCgpLT52YWx1ZSgpOwogICAgICAgICAgICAgICAgIGlmICh2YWx1
ZSAmJiB2YWx1ZS5pc051bWJlcigpKSB7CiAgICAgICAgICAgICAgICAgICAgIFN0cmluZyByZXN1
bHQgPSB0b1N0cmluZ1dpdGhSYWRpeCh2YWx1ZS5hc051bWJlcigpLCBtX25vZGUtPnZhbGlkUmFk
aXhDb25zdGFudCgpKTsKLSAgICAgICAgICAgICAgICAgICAgbV9ub2RlLT5jb252ZXJ0VG9MYXp5
SlNDb25zdGFudChtX2dyYXBoLCBMYXp5SlNWYWx1ZTo6bmV3U3RyaW5nKG1fZ3JhcGgsIHJlc3Vs
dCkpOworICAgICAgICAgICAgICAgICAgICBjb252ZXJ0VG9MYXp5SlNWYWx1ZShtX25vZGUsIExh
enlKU1ZhbHVlOjpuZXdTdHJpbmcobV9ncmFwaCwgcmVzdWx0KSk7CiAgICAgICAgICAgICAgICAg
ICAgIG1fY2hhbmdlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpA
QCAtODgzLDggKzg4MSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgaWYgKGxhc3RJbmRl
eCA8IHN0cmluZy5sZW5ndGgoKSkKICAgICAgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQo
c3RyaW5nLCBsYXN0SW5kZXgsIHN0cmluZy5sZW5ndGgoKSAtIGxhc3RJbmRleCk7CiAgICAgICAg
ICAgICAgICAgCi0gICAgICAgICAgICAgICAgbV9ub2RlLT5jb252ZXJ0VG9MYXp5SlNDb25zdGFu
dCgKLSAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwgTGF6eUpTVmFsdWU6Om5ld1N0cmluZyht
X2dyYXBoLCBidWlsZGVyLnRvU3RyaW5nKCkpKTsKKyAgICAgICAgICAgICAgICBjb252ZXJ0VG9M
YXp5SlNWYWx1ZShtX25vZGUsIExhenlKU1ZhbHVlOjpuZXdTdHJpbmcobV9ncmFwaCwgYnVpbGRl
ci50b1N0cmluZygpKSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIG1fbm9kZS0+b3Jp
Z2luID0gb3JpZ2luOwpAQCAtOTQ2LDYgKzk0MywxMiBAQCBwcml2YXRlOgogICAgIHsKICAgICAg
ICAgY29udmVydFRvSWRlbnRpdHlPdmVyQ2hpbGQoMSk7CiAgICAgfQorCisgICAgdm9pZCBjb252
ZXJ0VG9MYXp5SlNWYWx1ZShOb2RlKiBub2RlLCBMYXp5SlNWYWx1ZSB2YWx1ZSkKKyAgICB7Cisg
ICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydENoZWNrKG1fZ3JhcGgsIG1fbm9kZUluZGV4LCBu
b2RlKTsKKyAgICAgICAgbm9kZS0+Y29udmVydFRvTGF6eUpTQ29uc3RhbnQobV9ncmFwaCwgdmFs
dWUpOworICAgIH0KICAgICAKICAgICB2b2lkIGhhbmRsZUNvbW11dGF0aXZpdHkoKQogICAgIHsK
</data>
<flag name="review"
          id="357413"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
    <flag name="commit-queue"
          id="357420"
          type_id="3"
          status="-"
          setter="ews-watchlist"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339182</attachid>
            <date>2018-04-30 21:39:40 -0700</date>
            <delta_ts>2018-04-30 23:04:39 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>5901</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzExOTIpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDE4LTA0LTMwICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFRvU3RyaW5nIGNvbnN0YW50IGZvbGRzIHdpdGhvdXQgcHJlc2Vydmlu
ZyBjaGVja3MsIGNhdXNpbmcgdXMgdG8gYnJlYWsgYXNzdW1wdGlvbnMgdGhhdCB0aGUgY29kZSB3
b3VsZCBPU1IgZXhpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTg1MTQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zOTQ1NTkxNz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBGaWxpcCBQaXpsby4KKworICAgICAgICAqIHN0cmVzcy9rZWVwLWNoZWNr
cy13aGVuLWNvbnZlcnRpbmctdG8tbGF6eS1qcy1jb25zdGFudC1pbi1zdHJlbmd0aC1yZWR1Y3Rp
b24uanM6IEFkZGVkLgorCiAyMDE4LTA0LTI5ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CiAKICAgICAgICAgTElDTSBzaG91bGRuJ3QgaG9pc3Qgbm9kZXMgaWYgaG9pc3RlZCBub2Rl
cyBleGl0ZWQgaW4gdGhhdCBjb2RlIGJsb2NrCkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9rZWVwLWNo
ZWNrcy13aGVuLWNvbnZlcnRpbmctdG8tbGF6eS1qcy1jb25zdGFudC1pbi1zdHJlbmd0aC1yZWR1
Y3Rpb24uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mva2VlcC1jaGVja3Mtd2hlbi1j
b252ZXJ0aW5nLXRvLWxhenktanMtY29uc3RhbnQtaW4tc3RyZW5ndGgtcmVkdWN0aW9uLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL2tlZXAtY2hlY2tzLXdoZW4tY29udmVydGlu
Zy10by1sYXp5LWpzLWNvbnN0YW50LWluLXN0cmVuZ3RoLXJlZHVjdGlvbi5qcwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDcgQEAKKy8vQCBydW5EZWZhdWx0KCItLWppdFBvbGljeVNjYWxlPTAi
LCAiLS11c2VDb25jdXJyZW50SklUPWZhbHNlIikKKworbGV0IGJhcjsKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMjA7ICsraSkgeworICBiYXIgPSBpICoqIDA7CisgIGJhciArICcnOworfQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzExOTIpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTgt
MDQtMzAgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgVG9TdHJp
bmcgY29uc3RhbnQgZm9sZHMgd2l0aG91dCBwcmVzZXJ2aW5nIGNoZWNrcywgY2F1c2luZyB1cyB0
byBicmVhayBhc3N1bXB0aW9ucyB0aGF0IHRoZSBjb2RlIHdvdWxkIE9TUiBleGl0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODUxNDkKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzM5NDU1OTE3PgorCisgICAgICAgIFJldmlld2VkIGJ5IEZpbGlwIFBp
emxvLgorCisgICAgICAgIFRoZSBidWcgd2FzIHRoYXQgd2Ugd2VyZSBkZWxldGluZyBjaGVja3Mg
dGhhdCB3ZSBzaG91bGRuJ3QgaGF2ZSBkZWxldGVkLgorICAgICAgICBUaGlzIHBhdGNoIG1ha2Vz
IGEgaGVscGVyIGluc2lkZSBzdHJlbmd0aCByZWR1Y3Rpb24gdGhhdCBjb252ZXJ0cyB0bworICAg
ICAgICBhIExhenlKU0NvbnN0YW50IHdoaWxlIG1haW50YWluaW5nIGNoZWNrcywgYW5kIHN3aXRj
aGVzIHVzZXJzIG9mIHRoZQorICAgICAgICBub2RlIEFQSSBpbnNpZGUgc3RyZW5ndGggcmVkdWN0
aW9uIHRvIGluc3RlYWQgY2FsbCB0aGUgaGVscGVyIGZ1bmN0aW9uLgorICAgICAgICAKKyAgICAg
ICAgVGhpcyBwYXRjaCBhbHNvIGZpeGVzIGEgcG90ZW50aWFsIGJ1ZyB3aGVyZSBTdHJpbmdSZXBs
YWNlIGFuZAorICAgICAgICBTdHJpbmdSZXBsYWNlUmVnRXhwIG1heSBub3QgcHJlc2VydmUgYWxs
IHRoZWlyIGNoZWNrcy4KKworCisgICAgICAgICogZGZnL0RGR1N0cmVuZ3RoUmVkdWN0aW9uUGhh
c2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlN0cmVuZ3RoUmVkdWN0aW9uUGhhc2U6OmhhbmRs
ZU5vZGUpOgorICAgICAgICAoSlNDOjpERkc6OlN0cmVuZ3RoUmVkdWN0aW9uUGhhc2U6OmNvbnZl
cnRUb0xhenlKU1ZhbHVlKToKKwogMjAxOC0wNC0yOSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBw
bGUuY29tPgogCiAgICAgICAgIExJQ00gc2hvdWxkbid0IGhvaXN0IG5vZGVzIGlmIGhvaXN0ZWQg
bm9kZXMgZXhpdGVkIGluIHRoYXQgY29kZSBibG9jawpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuY3BwCShyZXZp
c2lvbiAyMzExOTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0cmVuZ3RoUmVk
dWN0aW9uUGhhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNjEsOCArMzYxLDcgQEAgcHJpdmF0
ZToKICAgICAgICAgICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CiAgICAgICAgICAgICAg
ICAgYnVpbGRlci5hcHBlbmQobGVmdFN0cmluZyk7CiAgICAgICAgICAgICAgICAgYnVpbGRlci5h
cHBlbmQocmlnaHRTdHJpbmcpOwotICAgICAgICAgICAgICAgIG1fbm9kZS0+Y29udmVydFRvTGF6
eUpTQ29uc3RhbnQoCi0gICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgsIExhenlKU1ZhbHVlOjpu
ZXdTdHJpbmcobV9ncmFwaCwgYnVpbGRlci50b1N0cmluZygpKSk7CisgICAgICAgICAgICAgICAg
Y29udmVydFRvTGF6eUpTVmFsdWUobV9ub2RlLCBMYXp5SlNWYWx1ZTo6bmV3U3RyaW5nKG1fZ3Jh
cGgsIGJ1aWxkZXIudG9TdHJpbmcoKSkpOwogICAgICAgICAgICAgICAgIG1fY2hhbmdlZCA9IHRy
dWU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKQEAgLTM4OSw4ICszODgsNyBA
QCBwcml2YXRlOgogICAgICAgICAgICAgaWYgKCEhZXh0cmFTdHJpbmcpCiAgICAgICAgICAgICAg
ICAgYnVpbGRlci5hcHBlbmQoZXh0cmFTdHJpbmcpOwogCi0gICAgICAgICAgICBtX25vZGUtPmNv
bnZlcnRUb0xhenlKU0NvbnN0YW50KAotICAgICAgICAgICAgICAgIG1fZ3JhcGgsIExhenlKU1Zh
bHVlOjpuZXdTdHJpbmcobV9ncmFwaCwgYnVpbGRlci50b1N0cmluZygpKSk7CisgICAgICAgICAg
ICBjb252ZXJ0VG9MYXp5SlNWYWx1ZShtX25vZGUsIExhenlKU1ZhbHVlOjpuZXdTdHJpbmcobV9n
cmFwaCwgYnVpbGRlci50b1N0cmluZygpKSk7CiAgICAgICAgICAgICBtX2NoYW5nZWQgPSB0cnVl
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTQxMiw3ICs0MTAsNyBAQCBwcml2
YXRlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IFN0cmluZzo6bnVtYmVy
VG9TdHJpbmdFQ01BU2NyaXB0KHZhbHVlLmFzTnVtYmVyKCkpOwogCiAgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoIXJlc3VsdC5pc051bGwoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1fbm9kZS0+Y29udmVydFRvTGF6eUpTQ29uc3RhbnQobV9ncmFwaCwgTGF6eUpTVmFsdWU6
Om5ld1N0cmluZyhtX2dyYXBoLCByZXN1bHQpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb252ZXJ0VG9MYXp5SlNWYWx1ZShtX25vZGUsIExhenlKU1ZhbHVlOjpuZXdTdHJpbmcobV9n
cmFwaCwgcmVzdWx0KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9jaGFuZ2VkID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQpA
QCAtNDMyLDcgKzQzMCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgSlNWYWx1ZSB2YWx1
ZSA9IGNoaWxkMS0+Y29uc3RhbnQoKS0+dmFsdWUoKTsKICAgICAgICAgICAgICAgICBpZiAodmFs
dWUgJiYgdmFsdWUuaXNOdW1iZXIoKSkgewogICAgICAgICAgICAgICAgICAgICBTdHJpbmcgcmVz
dWx0ID0gdG9TdHJpbmdXaXRoUmFkaXgodmFsdWUuYXNOdW1iZXIoKSwgbV9ub2RlLT52YWxpZFJh
ZGl4Q29uc3RhbnQoKSk7Ci0gICAgICAgICAgICAgICAgICAgIG1fbm9kZS0+Y29udmVydFRvTGF6
eUpTQ29uc3RhbnQobV9ncmFwaCwgTGF6eUpTVmFsdWU6Om5ld1N0cmluZyhtX2dyYXBoLCByZXN1
bHQpKTsKKyAgICAgICAgICAgICAgICAgICAgY29udmVydFRvTGF6eUpTVmFsdWUobV9ub2RlLCBM
YXp5SlNWYWx1ZTo6bmV3U3RyaW5nKG1fZ3JhcGgsIHJlc3VsdCkpOwogICAgICAgICAgICAgICAg
ICAgICBtX2NoYW5nZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0K
QEAgLTg2Niw2ICs4NjQsMTAgQEAgcHJpdmF0ZToKIAogICAgICAgICAgICAgTm9kZU9yaWdpbiBv
cmlnaW4gPSBtX25vZGUtPm9yaWdpbjsKIAorICAgICAgICAgICAgLy8gUHJlc2VydmUgYW55IGNo
ZWNrcyB3ZSBoYXZlLgorICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKKyAg
ICAgICAgICAgICAgICBtX25vZGVJbmRleCwgU3BlY05vbmUsIENoZWNrLCBvcmlnaW4sIG1fbm9k
ZS0+Y2hpbGRyZW4uanVzdENoZWNrcygpKTsKKwogICAgICAgICAgICAgaWYgKHJlZ0V4cC0+Z2xv
YmFsKCkpIHsKICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKAogICAg
ICAgICAgICAgICAgICAgICBtX25vZGVJbmRleCwgU3BlY05vbmUsIFNldFJlZ0V4cE9iamVjdExh
c3RJbmRleCwgb3JpZ2luLApAQCAtODgzLDggKzg4NSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAg
ICAgICAgaWYgKGxhc3RJbmRleCA8IHN0cmluZy5sZW5ndGgoKSkKICAgICAgICAgICAgICAgICAg
ICAgYnVpbGRlci5hcHBlbmQoc3RyaW5nLCBsYXN0SW5kZXgsIHN0cmluZy5sZW5ndGgoKSAtIGxh
c3RJbmRleCk7CiAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgbV9ub2RlLT5jb252
ZXJ0VG9MYXp5SlNDb25zdGFudCgKLSAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwgTGF6eUpT
VmFsdWU6Om5ld1N0cmluZyhtX2dyYXBoLCBidWlsZGVyLnRvU3RyaW5nKCkpKTsKKyAgICAgICAg
ICAgICAgICBtX25vZGUtPmNvbnZlcnRUb0xhenlKU0NvbnN0YW50KG1fZ3JhcGgsIExhenlKU1Zh
bHVlOjpuZXdTdHJpbmcobV9ncmFwaCwgYnVpbGRlci50b1N0cmluZygpKSk7CiAgICAgICAgICAg
ICB9CiAKICAgICAgICAgICAgIG1fbm9kZS0+b3JpZ2luID0gb3JpZ2luOwpAQCAtOTQ2LDYgKzk0
NywxMiBAQCBwcml2YXRlOgogICAgIHsKICAgICAgICAgY29udmVydFRvSWRlbnRpdHlPdmVyQ2hp
bGQoMSk7CiAgICAgfQorCisgICAgdm9pZCBjb252ZXJ0VG9MYXp5SlNWYWx1ZShOb2RlKiBub2Rl
LCBMYXp5SlNWYWx1ZSB2YWx1ZSkKKyAgICB7CisgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2Vy
dENoZWNrKG1fZ3JhcGgsIG1fbm9kZUluZGV4LCBub2RlKTsKKyAgICAgICAgbm9kZS0+Y29udmVy
dFRvTGF6eUpTQ29uc3RhbnQobV9ncmFwaCwgdmFsdWUpOworICAgIH0KICAgICAKICAgICB2b2lk
IGhhbmRsZUNvbW11dGF0aXZpdHkoKQogICAgIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>