<?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>133967</bug_id>
          
          <creation_ts>2014-06-16 20:55:33 -0700</creation_ts>
          <short_desc>[ftlopt] Fold constant Phis</short_desc>
          <delta_ts>2014-06-17 12:02: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>528+ (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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1016052</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-06-16 20:55:33 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016055</commentid>
    <comment_count>1</comment_count>
      <attachid>233213</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-06-16 21:01:34 -0700</bug_when>
    <thetext>Created attachment 233213
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016172</commentid>
    <comment_count>2</comment_count>
      <attachid>233213</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-06-17 11:13:03 -0700</bug_when>
    <thetext>Comment on attachment 233213
the patch

View in context: https://bugs.webkit.org/attachment.cgi?id=233213&amp;action=review

r=me

&gt; Source/JavaScriptCore/dfg/DFGInPlaceAbstractState.h:136
&gt; +    // This method is evil - it causes a huge maintenance headache and there is a gross amount of
&gt; +    // code devoted to it. It would be much nicer to just always run the constant folder on each
&gt; +    // block. But, the last time we did it, it was a 1% SunSpider regression:
&gt; +    // https://bugs.webkit.org/show_bug.cgi?id=133947
&gt; +    // So, we should probably keep this method.

I might be willing to eat 1% for this -- particularly if the overall effect on JetStream is less than 1%.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016178</commentid>
    <comment_count>3</comment_count>
      <attachid>233245</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-06-17 11:42:19 -0700</bug_when>
    <thetext>Created attachment 233245
better patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016179</commentid>
    <comment_count>4</comment_count>
      <attachid>233245</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-06-17 11:44:28 -0700</bug_when>
    <thetext>Comment on attachment 233245
better patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016191</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-06-17 12:02:40 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/170064</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233213</attachid>
            <date>2014-06-16 21:01:34 -0700</date>
            <delta_ts>2014-06-17 11:42:19 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>9519</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcwMDQyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBA
CisyMDE0LTA2LTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
W2Z0bG9wdF0gRm9sZCBjb25zdGFudCBQaGlzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM5NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIEl0J3Mgc3VycHJpc2luZyBidXQgd2UgZGlkbid0
IHJlYWxseSBkbyB0aGlzIGJlZm9yZS4gT3IsIHJhdGhlciwgd2Ugb25seSBkaWQgaXQKKyAgICAg
ICAgaW5jaWRlbnRhbGx5IHdoZW4gd2Ugd291bGQgbGlrZWx5IGNyYXNoIGlmIGl0IGV2ZXIgaGFw
cGVuZWQuCisKKyAgICAgICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoK
KyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBl
Pjo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdBZGphY2VuY3lMaXN0Lmg6Cisg
ICAgICAgIChKU0M6OkRGRzo6QWRqYWNlbmN5TGlzdDo6aXNFbXB0eSk6CisgICAgICAgICogZGZn
L0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpDb25zdGFu
dEZvbGRpbmdQaGFzZTo6cnVuKToKKyAgICAgICAgKEpTQzo6REZHOjpDb25zdGFudEZvbGRpbmdQ
aGFzZTo6Zm9sZENvbnN0YW50cyk6CisgICAgICAgIChKU0M6OkRGRzo6Q29uc3RhbnRGb2xkaW5n
UGhhc2U6OmZpeFVwc2lsb25zKToKKyAgICAgICAgKiBkZmcvREZHSW5QbGFjZUFic3RyYWN0U3Rh
dGUuaDoKKyAgICAgICAgKiBkZmcvREZHTElDTVBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpMSUNNUGhhc2U6OnJ1bik6CisgICAgICAgIChKU0M6OkRGRzo6TElDTVBoYXNlOjphdHRlbXB0
SG9pc3QpOgorICAgICAgICAqIGRmZy9ERkdWYWxpZGF0ZS5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6VmFsaWRhdGU6OnZhbGlkYXRlKToKKwogMjAxNC0wNi0xNSAgRmlsaXAgUGl6bG8gIDxmcGl6
bG9AYXBwbGUuY29tPgogCiAgICAgICAgIFtmdGxvcHRdIFJlbW92ZSB0aGUgREZHIG9wdGltaXph
dGlvbiBmaXhwb2ludCBhbmQgcmVtb3ZlIHNvbWUgb2J2aW91cyByZWFzb25zIHdoeSB3ZSBwcmV2
aW91c2x5IGJlbmVmaXRlZCBmcm9tIGl0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCShyZXZpc2lv
biAxNzAwMzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJw
cmV0ZXJJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4NjYsNyArMTg2NiwxMCBAQCBib29s
IEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5CiAgICAgICAgICAgICAKICAgICBj
YXNlIFBoaToKICAgICAgICAgUkVMRUFTRV9BU1NFUlQobV9ncmFwaC5tX2Zvcm0gPT0gU1NBKTsK
LSAgICAgICAgLy8gVGhlIHN0YXRlIG9mIHRoaXMgbm9kZSB3b3VsZCBoYXZlIGFscmVhZHkgYmVl
biBkZWNpZGVkLgorICAgICAgICAvLyBUaGUgc3RhdGUgb2YgdGhpcyBub2RlIHdvdWxkIGhhdmUg
YWxyZWFkeSBiZWVuIGRlY2lkZWQsIGJ1dCBpdCBtYXkgaGF2ZSBiZWNvbWUgYQorICAgICAgICAv
LyBjb25zdGFudCwgaW4gd2hpY2ggY2FzZSB3ZSdkIGxpa2UgdG8ga25vdy4KKyAgICAgICAgaWYg
KGZvck5vZGUobm9kZSkubV92YWx1ZSkKKyAgICAgICAgICAgIG1fc3RhdGUuc2V0Rm91bmRDb25z
dGFudHModHJ1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKICAgICBjYXNlIFVwc2lsb246
IHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWRqYWNlbmN5TGlzdC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWRqYWNlbmN5TGlzdC5o
CShyZXZpc2lvbiAxNzAwMzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FkamFj
ZW5jeUxpc3QuaAkod29ya2luZyBjb3B5KQpAQCAtNjUsNiArNjUsOCBAQCBwdWJsaWM6CiAgICAg
ICAgIHNldE51bUNoaWxkcmVuKG51bUNoaWxkcmVuKTsKICAgICB9CiAgICAgCisgICAgYm9vbCBp
c0VtcHR5KCkgY29uc3QgeyByZXR1cm4gIWNoaWxkMSgpOyB9CisgICAgCiAgICAgY29uc3QgRWRn
ZSYgY2hpbGQodW5zaWduZWQgaSkgY29uc3QKICAgICB7CiAgICAgICAgIEFTU0VSVChpIDwgU2l6
ZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1Bo
YXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0
YW50Rm9sZGluZ1BoYXNlLmNwcAkocmV2aXNpb24gMTcwMDM2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTYyLDYgKzYyLDE2IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9IGZvbGRD
b25zdGFudHMoYmxvY2spOwogICAgICAgICB9CiAgICAgICAgIAorICAgICAgICBpZiAoY2hhbmdl
ZCAmJiBtX2dyYXBoLm1fZm9ybSA9PSBTU0EpIHsKKyAgICAgICAgICAgIC8vIEl0J3Mgbm93IHBv
c3NpYmxlIHRoYXQgd2UgaGF2ZSBVcHNpbG9ucyBwb2ludGVkIGF0IEpTQ29uc3RhbnRzLiBGaXgg
dGhhdC4KKyAgICAgICAgICAgIGZvciAoQmxvY2tJbmRleCBibG9ja0luZGV4ID0gbV9ncmFwaC5u
dW1CbG9ja3MoKTsgYmxvY2tJbmRleC0tOykgeworICAgICAgICAgICAgICAgIEJhc2ljQmxvY2sq
IGJsb2NrID0gbV9ncmFwaC5ibG9jayhibG9ja0luZGV4KTsKKyAgICAgICAgICAgICAgICBpZiAo
IWJsb2NrKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICBm
aXhVcHNpbG9ucyhibG9jayk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgIAog
ICAgICAgICByZXR1cm4gY2hhbmdlZDsKICAgICB9CiAKQEAgLTMxMyw4ICszMjMsMTAgQEAgcHJp
dmF0ZToKICAgICAgICAgICAgIEFkamFjZW5jeUxpc3QgY2hpbGRyZW4gPSBub2RlLT5jaGlsZHJl
bjsKICAgICAgICAgICAgIAogICAgICAgICAgICAgbV9ncmFwaC5jb252ZXJ0VG9Db25zdGFudChu
b2RlLCB2YWx1ZSk7Ci0gICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKAotICAg
ICAgICAgICAgICAgIGluZGV4SW5CbG9jaywgU3BlY05vbmUsIFBoYW50b20sIG9yaWdpbiwgY2hp
bGRyZW4pOworICAgICAgICAgICAgaWYgKCFjaGlsZHJlbi5pc0VtcHR5KCkpIHsKKyAgICAgICAg
ICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKAorICAgICAgICAgICAgICAgICAgICBp
bmRleEluQmxvY2ssIFNwZWNOb25lLCBQaGFudG9tLCBvcmlnaW4sIGNoaWxkcmVuKTsKKyAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIAogICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7CiAgICAg
ICAgIH0KQEAgLTQ2NSw2ICs0NzcsMjcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIE9wSW5mbyht
X2dyYXBoLmFkZFN0cnVjdHVyZVNldChzdHJ1Y3R1cmUpKSwgRWRnZSh3ZWFrQ29uc3RhbnQsIENl
bGxVc2UpKTsKICAgICB9CiAgICAgCisgICAgdm9pZCBmaXhVcHNpbG9ucyhCYXNpY0Jsb2NrKiBi
bG9jaykKKyAgICB7CisgICAgICAgIGZvciAodW5zaWduZWQgbm9kZUluZGV4ID0gYmxvY2stPnNp
emUoKTsgbm9kZUluZGV4LS07KSB7CisgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0
KG5vZGVJbmRleCk7CisgICAgICAgICAgICBpZiAobm9kZS0+b3AoKSAhPSBVcHNpbG9uKQorICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgc3dpdGNoIChub2RlLT5waGkoKS0+
b3AoKSkgeworICAgICAgICAgICAgY2FzZSBQaGk6CisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICBjYXNlIEpTQ29uc3RhbnQ6CisgICAgICAgICAgICBjYXNlIERvdWJsZUNvbnN0
YW50OgorICAgICAgICAgICAgY2FzZSBJbnQ1MkNvbnN0YW50OgorICAgICAgICAgICAgICAgIG5v
ZGUtPmNvbnZlcnRUb1BoYW50b20oKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgsIG5vZGUsICJC
YWQgVXBzaWxvbiBwaGkoKSBwb2ludGVyIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgCiAgICAgSW5QbGFjZUFic3RyYWN0U3Rh
dGUgbV9zdGF0ZTsKICAgICBBYnN0cmFjdEludGVycHJldGVyPEluUGxhY2VBYnN0cmFjdFN0YXRl
PiBtX2ludGVycHJldGVyOwogICAgIEluc2VydGlvblNldCBtX2luc2VydGlvblNldDsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0luUGxhY2VBYnN0cmFjdFN0
YXRlLmgJKHJldmlzaW9uIDE3MDAzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
SW5QbGFjZUFic3RyYWN0U3RhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTI4LDYgKzEyOCwxMiBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTdHJ1Y3R1cmVDbG9iYmVyU3RhdGUoU3RydWN0dXJlQ2xv
YmJlclN0YXRlIHZhbHVlKSB7IG1fc3RydWN0dXJlQ2xvYmJlclN0YXRlID0gdmFsdWU7IH0KICAg
ICB2b2lkIHNldElzVmFsaWQoYm9vbCBpc1ZhbGlkKSB7IG1faXNWYWxpZCA9IGlzVmFsaWQ7IH0K
ICAgICB2b2lkIHNldEJyYW5jaERpcmVjdGlvbihCcmFuY2hEaXJlY3Rpb24gYnJhbmNoRGlyZWN0
aW9uKSB7IG1fYnJhbmNoRGlyZWN0aW9uID0gYnJhbmNoRGlyZWN0aW9uOyB9CisgICAgCisgICAg
Ly8gVGhpcyBtZXRob2QgaXMgZXZpbCAtIGl0IGNhdXNlcyBhIGh1Z2UgbWFpbnRlbmFuY2UgaGVh
ZGFjaGUgYW5kIHRoZXJlIGlzIGEgZ3Jvc3MgYW1vdW50IG9mCisgICAgLy8gY29kZSBkZXZvdGVk
IHRvIGl0LiBJdCB3b3VsZCBiZSBtdWNoIG5pY2VyIHRvIGp1c3QgYWx3YXlzIHJ1biB0aGUgY29u
c3RhbnQgZm9sZGVyIG9uIGVhY2gKKyAgICAvLyBibG9jay4gQnV0LCB0aGUgbGFzdCB0aW1lIHdl
IGRpZCBpdCwgaXQgd2FzIGEgMSUgU3VuU3BpZGVyIHJlZ3Jlc3Npb246CisgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzk0NworICAgIC8vIFNvLCB3ZSBz
aG91bGQgcHJvYmFibHkga2VlcCB0aGlzIG1ldGhvZC4KICAgICB2b2lkIHNldEZvdW5kQ29uc3Rh
bnRzKGJvb2wgZm91bmRDb25zdGFudHMpIHsgbV9mb3VuZENvbnN0YW50cyA9IGZvdW5kQ29uc3Rh
bnRzOyB9CiAKIHByaXZhdGU6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0xJ
Q01QaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdM
SUNNUGhhc2UuY3BwCShyZXZpc2lvbiAxNzAwMzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0xJQ01QaGFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY5LDcgKzY5LDcgQEAgcHVi
bGljOgogICAgIAogICAgIGJvb2wgcnVuKCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChtX2dyYXBo
Lm1fZm9ybSA9PSBTU0EpOworICAgICAgICBERkdfQVNTRVJUKG1fZ3JhcGgsIG51bGxwdHIsIG1f
Z3JhcGgubV9mb3JtID09IFNTQSk7CiAgICAgICAgIAogICAgICAgICBtX2dyYXBoLm1fZG9taW5h
dG9ycy5jb21wdXRlSWZOZWNlc3NhcnkobV9ncmFwaCk7CiAgICAgICAgIG1fZ3JhcGgubV9uYXR1
cmFsTG9vcHMuY29tcHV0ZUlmTmVjZXNzYXJ5KG1fZ3JhcGgpOwpAQCAtMTI0LDExICsxMjQsMTEg
QEAgcHVibGljOgogICAgICAgICAgICAgICAgIEJhc2ljQmxvY2sqIHByZWRlY2Vzc29yID0gaGVh
ZGVyLT5wcmVkZWNlc3NvcnNbaV07CiAgICAgICAgICAgICAgICAgaWYgKG1fZ3JhcGgubV9kb21p
bmF0b3JzLmRvbWluYXRlcyhoZWFkZXIsIHByZWRlY2Vzc29yKSkKICAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXByZUhlYWRlciB8
fCBwcmVIZWFkZXIgPT0gcHJlZGVjZXNzb3IpOworICAgICAgICAgICAgICAgIERGR19BU1NFUlQo
bV9ncmFwaCwgbnVsbHB0ciwgIXByZUhlYWRlciB8fCBwcmVIZWFkZXIgPT0gcHJlZGVjZXNzb3Ip
OwogICAgICAgICAgICAgICAgIHByZUhlYWRlciA9IHByZWRlY2Vzc29yOwogICAgICAgICAgICAg
fQogICAgICAgICAgICAgCi0gICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChwcmVIZWFkZXItPmxh
c3QoKS0+b3AoKSA9PSBKdW1wKTsKKyAgICAgICAgICAgIERGR19BU1NFUlQobV9ncmFwaCwgcHJl
SGVhZGVyLT5sYXN0KCksIHByZUhlYWRlci0+bGFzdCgpLT5vcCgpID09IEp1bXApOwogICAgICAg
ICAgICAgCiAgICAgICAgICAgICBkYXRhLnByZUhlYWRlciA9IHByZUhlYWRlcjsKICAgICAgICAg
fQpAQCAtMjQ3LDYgKzI0NywxNyBAQCBwcml2YXRlOgogICAgICAgICBkYXRhLnByZUhlYWRlci0+
aW5zZXJ0QmVmb3JlTGFzdChub2RlKTsKICAgICAgICAgbm9kZS0+bWlzYy5vd25lciA9IGRhdGEu
cHJlSGVhZGVyOwogICAgICAgICBOb2RlT3JpZ2luIG9yaWdpbmFsT3JpZ2luID0gbm9kZS0+b3Jp
Z2luOworICAgICAgICBpZiAoIW5vZGUtPm9yaWdpbi5zZW1hbnRpYy5pc1NldCgpKSB7CisgICAg
ICAgICAgICAvLyBUaGlzIGlzIGEgZ29vZnkgaGFjayB0byBwbGFjYXRlIE5vZGVPcmlnaW4gdmFs
aWRhdGlvbi4gV2UgcmVxdWlyZQorICAgICAgICAgICAgLy8gdGhhdCBhIGJsb2NrIHN0YXJ0cyBv
dXQgd2l0aCBhIHNlcXVlbmNlIG9mIG5vZGVzIHRoYXQgaGF2ZSBubyBvcmlnaW4KKyAgICAgICAg
ICAgIC8vIGZvbGxvd2VkIGJ5IG5vZGVzIHRoYXQgZG8gaGF2ZSBhbiBvcmlnaW4uIFRoZSBwb2lu
dCBpcyB0aGF0IHRoZQorICAgICAgICAgICAgLy8gb3JpZ2lubGVzcyBub2RlcyBjYW5ub3QgaGF2
ZSBleGl0cyBpbnNlcnRlZCBpbnRvIHRoZW0gb3IgYmVmb3JlIHRoZW0uCisgICAgICAgICAgICAv
LyBCdXQgd2UgbWF5IGNvbnN0YW50LWZvbGQgYSBQaGkgYW5kIHRoZW4gaG9pc3QgdGhlIGNvbnN0
YW50LiBUaGVuIHRoZQorICAgICAgICAgICAgLy8gaG9pc3Rpbmcgb2YgdGhlIGNvbnN0YW50IG1h
eSBsZWF2ZSBiZWhpbmQgYSBQaGFudG9tLiBUaGVuIGF0IHNvbWUgcG9pbnQKKyAgICAgICAgICAg
IC8vIHdlIGdldCBoZXJlLiBJdCdzIHByZXR0eSB3ZWlyZCBidXQgYWxzbyB0b3RhbGx5IGhhcm1s
ZXNzLgorICAgICAgICAgICAgREZHX0FTU0VSVChtX2dyYXBoLCBub2RlLCBub2RlLT5pc0NvbnN0
YW50KCkgfHwgbm9kZS0+b3AoKSA9PSBQaGFudG9tKTsKKyAgICAgICAgICAgIG5vZGUtPm9yaWdp
bi5zZW1hbnRpYyA9IGRhdGEucHJlSGVhZGVyLT5sYXN0KCktPm9yaWdpbi5zZW1hbnRpYzsKKyAg
ICAgICAgfQogICAgICAgICBub2RlLT5vcmlnaW4uZm9yRXhpdCA9IGRhdGEucHJlSGVhZGVyLT5s
YXN0KCktPm9yaWdpbi5mb3JFeGl0OwogICAgICAgICAKICAgICAgICAgLy8gTW9kaWZ5IHRoZSBz
dGF0ZXMgYXQgdGhlIGVuZCBvZiB0aGUgcHJlSGVhZGVyIG9mIHRoZSBsb29wIHdlIGhvaXN0ZWQg
dG8sCkBAIC0yNjgsNyArMjc5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgLy8gSXQganVzdCBzbyBo
YXBwZW5zIHRoYXQgYWxsIG9mIHRoZSBub2RlcyB3ZSBjdXJyZW50bHkga25vdyBob3cgdG8gaG9p
c3QKICAgICAgICAgLy8gZG9uJ3QgaGF2ZSB2YXItYXJnIGNoaWxkcmVuLiBUaGF0IG1heSBjaGFu
Z2UgYW5kIHRoZW4gd2UgY2FuIGZpeCB0aGlzCiAgICAgICAgIC8vIGNvZGUuIEJ1dCBmb3Igbm93
IHdlIGp1c3QgYXNzZXJ0IHRoYXQncyB0aGUgY2FzZS4KLSAgICAgICAgUkVMRUFTRV9BU1NFUlQo
IShub2RlLT5mbGFncygpICYgTm9kZUhhc1ZhckFyZ3MpKTsKKyAgICAgICAgREZHX0FTU0VSVCht
X2dyYXBoLCBub2RlLCAhKG5vZGUtPmZsYWdzKCkgJiBOb2RlSGFzVmFyQXJncykpOwogICAgICAg
ICAKICAgICAgICAgbm9kZVJlZiA9IG1fZ3JhcGguYWRkTm9kZShTcGVjTm9uZSwgUGhhbnRvbSwg
b3JpZ2luYWxPcmlnaW4sIG5vZGUtPmNoaWxkcmVuKTsKICAgICAgICAgCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcAkocmV2aXNpb24gMTcwMDM2KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWxpZGF0ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIwMyw2ICsyMDMsMTMgQEAgcHVibGljOgogICAgICAgICAgICAgICAgIGlmIChub2RlLT5o
YXNGdW5jdGlvbigpKQogICAgICAgICAgICAgICAgICAgICBWQUxJREFURSgobm9kZSksIG5vZGUt
PmZ1bmN0aW9uKCktPnZhbHVlKCkuaXNGdW5jdGlvbigpKTsKICAgICAgICAgICAgICAgICAKKyAg
ICAgICAgICAgICAgICBpZiAoIShub2RlLT5mbGFncygpICYgTm9kZUhhc1ZhckFyZ3MpKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGlmICghbm9kZS0+Y2hpbGQyKCkpCisgICAgICAgICAgICAgICAg
ICAgICAgICBWQUxJREFURSgobm9kZSksICFub2RlLT5jaGlsZDMoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGlmICghbm9kZS0+Y2hpbGQxKCkpCisgICAgICAgICAgICAgICAgICAgICAgICBWQUxJ
REFURSgobm9kZSksICFub2RlLT5jaGlsZDIoKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgewogICAgICAg
ICAgICAgICAgIGNhc2UgTWFrZVJvcGU6CiAgICAgICAgICAgICAgICAgY2FzZSBWYWx1ZUFkZDoK
</data>
<flag name="review"
          id="257699"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233245</attachid>
            <date>2014-06-17 11:42:19 -0700</date>
            <delta_ts>2014-06-17 11:44:28 -0700</delta_ts>
            <desc>better patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>10934</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcwMDYyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBA
CisyMDE0LTA2LTE3ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
W2Z0bG9wdF0gRm9sZCBjb25zdGFudCBQaGlzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM5NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIEl0J3Mgc3VycHJpc2luZyBidXQgd2UgZGlkbid0
IHJlYWxseSBkbyB0aGlzIGJlZm9yZS4gT3IsIHJhdGhlciwgd2Ugb25seSBkaWQgaXQKKyAgICAg
ICAgaW5jaWRlbnRhbGx5IHdoZW4gd2Ugd291bGQgbGlrZWx5IGNyYXNoIGlmIGl0IGV2ZXIgaGFw
cGVuZWQuCisgICAgICAgIAorICAgICAgICBNYWtpbmcgdGhpcyB3b3JrIHJlcXVpcmVkIGNsZWFu
aW5nIHVwIHRoZSB2YWxpZGF0ZXIgYSBiaXQsIHNvIEkgZGlkIHRoYXQgdG9vLiBJIGFsc28gYWRk
ZWQKKyAgICAgICAgbWF5RXhpdCgpIHZhbGlkYXRpb24gZm9yIG5vZGVzIHRoYXQgZGlkbid0IGhh
dmUgb3JpZ2luLmZvckV4aXQgKGkuZS4gbm9kZXMgdGhhdCBlbmQgdXAgaW4KKyAgICAgICAgdGhl
IFBoaSBoZWFkZXIgb2YgYmFzaWMgYmxvY2tzKS4gQnV0IHRoaXMgcmVxdWlyZWQgYmVlZmluZyB1
cCBtYXlFeGl0KCkgYSBiaXQuCisKKyAgICAgICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRl
cklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3Ry
YWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdBZGphY2Vu
Y3lMaXN0Lmg6CisgICAgICAgIChKU0M6OkRGRzo6QWRqYWNlbmN5TGlzdDo6aXNFbXB0eSk6Cisg
ICAgICAgICogZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6
REZHOjpDb25zdGFudEZvbGRpbmdQaGFzZTo6cnVuKToKKyAgICAgICAgKEpTQzo6REZHOjpDb25z
dGFudEZvbGRpbmdQaGFzZTo6Zm9sZENvbnN0YW50cyk6CisgICAgICAgIChKU0M6OkRGRzo6Q29u
c3RhbnRGb2xkaW5nUGhhc2U6OmZpeFVwc2lsb25zKToKKyAgICAgICAgKiBkZmcvREZHSW5QbGFj
ZUFic3RyYWN0U3RhdGUuaDoKKyAgICAgICAgKiBkZmcvREZHTElDTVBoYXNlLmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpMSUNNUGhhc2U6OnJ1bik6CisgICAgICAgIChKU0M6OkRGRzo6TElDTVBo
YXNlOjphdHRlbXB0SG9pc3QpOgorICAgICAgICAqIGRmZy9ERkdNYXlFeGl0LmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjptYXlFeGl0KToKKyAgICAgICAgKiBkZmcvREZHVmFsaWRhdGUuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OlZhbGlkYXRlOjp2YWxpZGF0ZSk6CisgICAgICAgIChKU0M6OkRG
Rzo6VmFsaWRhdGU6OnZhbGlkYXRlU1NBKToKKwogMjAxNC0wNi0xNyAgRmlsaXAgUGl6bG8gIDxm
cGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIFtmdGxvcHRdIEdldCByaWQgb2YgTm9kZURvZXNO
b3RFeGl0IGFuZCBhbHNvIGdldCByaWQgb2YgU3RvcmVFbGltaW5hdGlvblBoYXNlCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVy
cHJldGVySW5saW5lcy5oCShyZXZpc2lvbiAxNzAwNjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTE3NTksNyArMTc1OSwxMCBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0
ZVR5CiAgICAgICAgICAgICAKICAgICBjYXNlIFBoaToKICAgICAgICAgUkVMRUFTRV9BU1NFUlQo
bV9ncmFwaC5tX2Zvcm0gPT0gU1NBKTsKLSAgICAgICAgLy8gVGhlIHN0YXRlIG9mIHRoaXMgbm9k
ZSB3b3VsZCBoYXZlIGFscmVhZHkgYmVlbiBkZWNpZGVkLgorICAgICAgICAvLyBUaGUgc3RhdGUg
b2YgdGhpcyBub2RlIHdvdWxkIGhhdmUgYWxyZWFkeSBiZWVuIGRlY2lkZWQsIGJ1dCBpdCBtYXkg
aGF2ZSBiZWNvbWUgYQorICAgICAgICAvLyBjb25zdGFudCwgaW4gd2hpY2ggY2FzZSB3ZSdkIGxp
a2UgdG8ga25vdy4KKyAgICAgICAgaWYgKGZvck5vZGUobm9kZSkubV92YWx1ZSkKKyAgICAgICAg
ICAgIG1fc3RhdGUuc2V0Rm91bmRDb25zdGFudHModHJ1ZSk7CiAgICAgICAgIGJyZWFrOwogICAg
ICAgICAKICAgICBjYXNlIFVwc2lsb246IHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQWRqYWNlbmN5TGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQWRqYWNlbmN5TGlzdC5oCShyZXZpc2lvbiAxNzAwNjApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0FkamFjZW5jeUxpc3QuaAkod29ya2luZyBjb3B5KQpAQCAtNjUs
NiArNjUsOCBAQCBwdWJsaWM6CiAgICAgICAgIHNldE51bUNoaWxkcmVuKG51bUNoaWxkcmVuKTsK
ICAgICB9CiAgICAgCisgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gIWNoaWxkMSgp
OyB9CisgICAgCiAgICAgY29uc3QgRWRnZSYgY2hpbGQodW5zaWduZWQgaSkgY29uc3QKICAgICB7
CiAgICAgICAgIEFTU0VSVChpIDwgU2l6ZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcAkocmV2aXNpb24gMTcw
MDYwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFz
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDE2IEBAIHB1YmxpYzoKICAgICAgICAg
ICAgICAgICBjaGFuZ2VkIHw9IGZvbGRDb25zdGFudHMoYmxvY2spOwogICAgICAgICB9CiAgICAg
ICAgIAorICAgICAgICBpZiAoY2hhbmdlZCAmJiBtX2dyYXBoLm1fZm9ybSA9PSBTU0EpIHsKKyAg
ICAgICAgICAgIC8vIEl0J3Mgbm93IHBvc3NpYmxlIHRoYXQgd2UgaGF2ZSBVcHNpbG9ucyBwb2lu
dGVkIGF0IEpTQ29uc3RhbnRzLiBGaXggdGhhdC4KKyAgICAgICAgICAgIGZvciAoQmxvY2tJbmRl
eCBibG9ja0luZGV4ID0gbV9ncmFwaC5udW1CbG9ja3MoKTsgYmxvY2tJbmRleC0tOykgeworICAg
ICAgICAgICAgICAgIEJhc2ljQmxvY2sqIGJsb2NrID0gbV9ncmFwaC5ibG9jayhibG9ja0luZGV4
KTsKKyAgICAgICAgICAgICAgICBpZiAoIWJsb2NrKQorICAgICAgICAgICAgICAgICAgICBjb250
aW51ZTsKKyAgICAgICAgICAgICAgICBmaXhVcHNpbG9ucyhibG9jayk7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICAgICAgIAogICAgICAgICByZXR1cm4gY2hhbmdlZDsKICAgICB9CiAK
QEAgLTMxMyw4ICszMjMsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIEFkamFjZW5jeUxpc3Qg
Y2hpbGRyZW4gPSBub2RlLT5jaGlsZHJlbjsKICAgICAgICAgICAgIAogICAgICAgICAgICAgbV9n
cmFwaC5jb252ZXJ0VG9Db25zdGFudChub2RlLCB2YWx1ZSk7Ci0gICAgICAgICAgICBtX2luc2Vy
dGlvblNldC5pbnNlcnROb2RlKAotICAgICAgICAgICAgICAgIGluZGV4SW5CbG9jaywgU3BlY05v
bmUsIFBoYW50b20sIG9yaWdpbiwgY2hpbGRyZW4pOworICAgICAgICAgICAgaWYgKCFjaGlsZHJl
bi5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnROb2Rl
KAorICAgICAgICAgICAgICAgICAgICBpbmRleEluQmxvY2ssIFNwZWNOb25lLCBQaGFudG9tLCBv
cmlnaW4sIGNoaWxkcmVuKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIAogICAgICAgICAg
ICAgY2hhbmdlZCA9IHRydWU7CiAgICAgICAgIH0KQEAgLTQ2NSw2ICs0NzcsMjcgQEAgcHJpdmF0
ZToKICAgICAgICAgICAgIE9wSW5mbyhtX2dyYXBoLmFkZFN0cnVjdHVyZVNldChzdHJ1Y3R1cmUp
KSwgRWRnZSh3ZWFrQ29uc3RhbnQsIENlbGxVc2UpKTsKICAgICB9CiAgICAgCisgICAgdm9pZCBm
aXhVcHNpbG9ucyhCYXNpY0Jsb2NrKiBibG9jaykKKyAgICB7CisgICAgICAgIGZvciAodW5zaWdu
ZWQgbm9kZUluZGV4ID0gYmxvY2stPnNpemUoKTsgbm9kZUluZGV4LS07KSB7CisgICAgICAgICAg
ICBOb2RlKiBub2RlID0gYmxvY2stPmF0KG5vZGVJbmRleCk7CisgICAgICAgICAgICBpZiAobm9k
ZS0+b3AoKSAhPSBVcHNpbG9uKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAg
ICAgc3dpdGNoIChub2RlLT5waGkoKS0+b3AoKSkgeworICAgICAgICAgICAgY2FzZSBQaGk6Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIEpTQ29uc3RhbnQ6CisgICAg
ICAgICAgICBjYXNlIERvdWJsZUNvbnN0YW50OgorICAgICAgICAgICAgY2FzZSBJbnQ1MkNvbnN0
YW50OgorICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb1BoYW50b20oKTsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgREZH
X0NSQVNIKG1fZ3JhcGgsIG5vZGUsICJCYWQgVXBzaWxvbiBwaGkoKSBwb2ludGVyIik7CisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAg
CiAgICAgSW5QbGFjZUFic3RyYWN0U3RhdGUgbV9zdGF0ZTsKICAgICBBYnN0cmFjdEludGVycHJl
dGVyPEluUGxhY2VBYnN0cmFjdFN0YXRlPiBtX2ludGVycHJldGVyOwogICAgIEluc2VydGlvblNl
dCBtX2luc2VydGlvblNldDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSW5Q
bGFjZUFic3RyYWN0U3RhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0luUGxhY2VBYnN0cmFjdFN0YXRlLmgJKHJldmlzaW9uIDE3MDA2MCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuaAkod29ya2luZyBj
b3B5KQpAQCAtMTI4LDYgKzEyOCwxMiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTdHJ1Y3R1cmVD
bG9iYmVyU3RhdGUoU3RydWN0dXJlQ2xvYmJlclN0YXRlIHZhbHVlKSB7IG1fc3RydWN0dXJlQ2xv
YmJlclN0YXRlID0gdmFsdWU7IH0KICAgICB2b2lkIHNldElzVmFsaWQoYm9vbCBpc1ZhbGlkKSB7
IG1faXNWYWxpZCA9IGlzVmFsaWQ7IH0KICAgICB2b2lkIHNldEJyYW5jaERpcmVjdGlvbihCcmFu
Y2hEaXJlY3Rpb24gYnJhbmNoRGlyZWN0aW9uKSB7IG1fYnJhbmNoRGlyZWN0aW9uID0gYnJhbmNo
RGlyZWN0aW9uOyB9CisgICAgCisgICAgLy8gVGhpcyBtZXRob2QgaXMgZXZpbCAtIGl0IGNhdXNl
cyBhIGh1Z2UgbWFpbnRlbmFuY2UgaGVhZGFjaGUgYW5kIHRoZXJlIGlzIGEgZ3Jvc3MgYW1vdW50
IG9mCisgICAgLy8gY29kZSBkZXZvdGVkIHRvIGl0LiBJdCB3b3VsZCBiZSBtdWNoIG5pY2VyIHRv
IGp1c3QgYWx3YXlzIHJ1biB0aGUgY29uc3RhbnQgZm9sZGVyIG9uIGVhY2gKKyAgICAvLyBibG9j
ay4gQnV0LCB0aGUgbGFzdCB0aW1lIHdlIGRpZCBpdCwgaXQgd2FzIGEgMSUgU3VuU3BpZGVyIHJl
Z3Jlc3Npb246CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEzMzk0NworICAgIC8vIFNvLCB3ZSBzaG91bGQgcHJvYmFibHkga2VlcCB0aGlzIG1ldGhvZC4K
ICAgICB2b2lkIHNldEZvdW5kQ29uc3RhbnRzKGJvb2wgZm91bmRDb25zdGFudHMpIHsgbV9mb3Vu
ZENvbnN0YW50cyA9IGZvdW5kQ29uc3RhbnRzOyB9CiAKIHByaXZhdGU6CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0xJQ01QaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdMSUNNUGhhc2UuY3BwCShyZXZpc2lvbiAxNzAwNjApCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0xJQ01QaGFzZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgcnVuKCkKICAgICB7
Ci0gICAgICAgIEFTU0VSVChtX2dyYXBoLm1fZm9ybSA9PSBTU0EpOworICAgICAgICBERkdfQVNT
RVJUKG1fZ3JhcGgsIG51bGxwdHIsIG1fZ3JhcGgubV9mb3JtID09IFNTQSk7CiAgICAgICAgIAog
ICAgICAgICBtX2dyYXBoLm1fZG9taW5hdG9ycy5jb21wdXRlSWZOZWNlc3NhcnkobV9ncmFwaCk7
CiAgICAgICAgIG1fZ3JhcGgubV9uYXR1cmFsTG9vcHMuY29tcHV0ZUlmTmVjZXNzYXJ5KG1fZ3Jh
cGgpOwpAQCAtMTI0LDExICsxMjQsMTEgQEAgcHVibGljOgogICAgICAgICAgICAgICAgIEJhc2lj
QmxvY2sqIHByZWRlY2Vzc29yID0gaGVhZGVyLT5wcmVkZWNlc3NvcnNbaV07CiAgICAgICAgICAg
ICAgICAgaWYgKG1fZ3JhcGgubV9kb21pbmF0b3JzLmRvbWluYXRlcyhoZWFkZXIsIHByZWRlY2Vz
c29yKSkKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgUkVM
RUFTRV9BU1NFUlQoIXByZUhlYWRlciB8fCBwcmVIZWFkZXIgPT0gcHJlZGVjZXNzb3IpOworICAg
ICAgICAgICAgICAgIERGR19BU1NFUlQobV9ncmFwaCwgbnVsbHB0ciwgIXByZUhlYWRlciB8fCBw
cmVIZWFkZXIgPT0gcHJlZGVjZXNzb3IpOwogICAgICAgICAgICAgICAgIHByZUhlYWRlciA9IHBy
ZWRlY2Vzc29yOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCi0gICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVChwcmVIZWFkZXItPmxhc3QoKS0+b3AoKSA9PSBKdW1wKTsKKyAgICAgICAgICAg
IERGR19BU1NFUlQobV9ncmFwaCwgcHJlSGVhZGVyLT5sYXN0KCksIHByZUhlYWRlci0+bGFzdCgp
LT5vcCgpID09IEp1bXApOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBkYXRhLnByZUhlYWRl
ciA9IHByZUhlYWRlcjsKICAgICAgICAgfQpAQCAtMjY4LDcgKzI2OCw3IEBAIHByaXZhdGU6CiAg
ICAgICAgIC8vIEl0IGp1c3Qgc28gaGFwcGVucyB0aGF0IGFsbCBvZiB0aGUgbm9kZXMgd2UgY3Vy
cmVudGx5IGtub3cgaG93IHRvIGhvaXN0CiAgICAgICAgIC8vIGRvbid0IGhhdmUgdmFyLWFyZyBj
aGlsZHJlbi4gVGhhdCBtYXkgY2hhbmdlIGFuZCB0aGVuIHdlIGNhbiBmaXggdGhpcwogICAgICAg
ICAvLyBjb2RlLiBCdXQgZm9yIG5vdyB3ZSBqdXN0IGFzc2VydCB0aGF0J3MgdGhlIGNhc2UuCi0g
ICAgICAgIFJFTEVBU0VfQVNTRVJUKCEobm9kZS0+ZmxhZ3MoKSAmIE5vZGVIYXNWYXJBcmdzKSk7
CisgICAgICAgIERGR19BU1NFUlQobV9ncmFwaCwgbm9kZSwgIShub2RlLT5mbGFncygpICYgTm9k
ZUhhc1ZhckFyZ3MpKTsKICAgICAgICAgCiAgICAgICAgIG5vZGVSZWYgPSBtX2dyYXBoLmFkZE5v
ZGUoU3BlY05vbmUsIFBoYW50b20sIG9yaWdpbmFsT3JpZ2luLCBub2RlLT5jaGlsZHJlbik7CiAg
ICAgICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdNYXlFeGl0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR01heUV4aXQuY3BwCShy
ZXZpc2lvbiAxNzAwNjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR01heUV4aXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MCw2ICs3MCw5IEBAIGJvb2wgbWF5RXhpdChHcmFwaCYg
Z3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBHZXRMb2NhbDoKICAgICBjYXNlIExvb3BIaW50
OgogICAgIGNhc2UgUGhhbnRvbUFyZ3VtZW50czoKKyAgICBjYXNlIFBoaToKKyAgICBjYXNlIFVw
c2lsb246CisgICAgY2FzZSBab21iaWVIaW50OgogICAgICAgICBicmVhazsKICAgICAgICAgCiAg
ICAgZGVmYXVsdDoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVmFsaWRhdGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVmFsaWRhdGUu
Y3BwCShyZXZpc2lvbiAxNzAwNjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Zh
bGlkYXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShE
RkdfSklUKQogCiAjaW5jbHVkZSAiQ29kZUJsb2NrV2l0aEpJVFR5cGUuaCIKKyNpbmNsdWRlICJE
RkdNYXlFeGl0LmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgPHd0Zi9Bc3Nl
cnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0JpdFZlY3Rvci5oPgpAQCAtMTk3LDExICsxOTgsMTYg
QEAgcHVibGljOgogICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBibG9jay0+c2l6
ZSgpOyArK2kpIHsKICAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0KGkpOwog
ICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGlmIChub2RlLT5oYXNTdHJ1Y3R1cmUo
KSkKLSAgICAgICAgICAgICAgICAgICAgVkFMSURBVEUoKG5vZGUpLCAhIW5vZGUtPnN0cnVjdHVy
ZSgpKTsKKyAgICAgICAgICAgICAgICBWQUxJREFURSgobm9kZSksICFtYXlFeGl0KG1fZ3JhcGgs
IG5vZGUpIHx8IG5vZGUtPm9yaWdpbi5mb3JFeGl0LmlzU2V0KCkpOworICAgICAgICAgICAgICAg
IFZBTElEQVRFKChub2RlKSwgIW5vZGUtPmhhc1N0cnVjdHVyZSgpIHx8ICEhbm9kZS0+c3RydWN0
dXJlKCkpOworICAgICAgICAgICAgICAgIFZBTElEQVRFKChub2RlKSwgIW5vZGUtPmhhc0Z1bmN0
aW9uKCkgfHwgbm9kZS0+ZnVuY3Rpb24oKS0+dmFsdWUoKS5pc0Z1bmN0aW9uKCkpOwogICAgICAg
ICAgICAgICAgIAotICAgICAgICAgICAgICAgIGlmIChub2RlLT5oYXNGdW5jdGlvbigpKQotICAg
ICAgICAgICAgICAgICAgICBWQUxJREFURSgobm9kZSksIG5vZGUtPmZ1bmN0aW9uKCktPnZhbHVl
KCkuaXNGdW5jdGlvbigpKTsKKyAgICAgICAgICAgICAgICBpZiAoIShub2RlLT5mbGFncygpICYg
Tm9kZUhhc1ZhckFyZ3MpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghbm9kZS0+Y2hpbGQy
KCkpCisgICAgICAgICAgICAgICAgICAgICAgICBWQUxJREFURSgobm9kZSksICFub2RlLT5jaGls
ZDMoKSk7CisgICAgICAgICAgICAgICAgICAgIGlmICghbm9kZS0+Y2hpbGQxKCkpCisgICAgICAg
ICAgICAgICAgICAgICAgICBWQUxJREFURSgobm9kZSksICFub2RlLT5jaGlsZDIoKSk7CisgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIHN3aXRjaCAo
bm9kZS0+b3AoKSkgewogICAgICAgICAgICAgICAgIGNhc2UgTWFrZVJvcGU6CkBAIC00NDcsMTgg
KzQ1MywxOCBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAg
ICAgCiAgICAgICAgICAgICB1bnNpZ25lZCBub2RlSW5kZXggPSAwOwotICAgICAgICAgICAgZm9y
ICg7IG5vZGVJbmRleCA8IGJsb2NrLT5zaXplKCkgJiYgIWJsb2NrLT5hdChub2RlSW5kZXgpLT5v
cmlnaW4uaXNTZXQoKTsgbm9kZUluZGV4KyspIHsgfQorICAgICAgICAgICAgZm9yICg7IG5vZGVJ
bmRleCA8IGJsb2NrLT5zaXplKCkgJiYgIWJsb2NrLT5hdChub2RlSW5kZXgpLT5vcmlnaW4uZm9y
RXhpdC5pc1NldCgpOyBub2RlSW5kZXgrKykgeyB9CiAgICAgICAgICAgICAKICAgICAgICAgICAg
IFZBTElEQVRFKChibG9jayksIG5vZGVJbmRleCA8IGJsb2NrLT5zaXplKCkpOwogICAgICAgICAg
ICAgCiAgICAgICAgICAgICBmb3IgKDsgbm9kZUluZGV4IDwgYmxvY2stPnNpemUoKTsgbm9kZUlu
ZGV4KyspCi0gICAgICAgICAgICAgICAgVkFMSURBVEUoKGJsb2NrLT5hdChub2RlSW5kZXgpKSwg
YmxvY2stPmF0KG5vZGVJbmRleCktPm9yaWdpbi5pc1NldCgpKTsKKyAgICAgICAgICAgICAgICBW
QUxJREFURSgoYmxvY2stPmF0KG5vZGVJbmRleCkpLCBibG9jay0+YXQobm9kZUluZGV4KS0+b3Jp
Z2luLmZvckV4aXQuaXNTZXQoKSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIGZvciAodW5z
aWduZWQgbm9kZUluZGV4ID0gMDsgbm9kZUluZGV4IDwgYmxvY2stPnNpemUoKTsgKytub2RlSW5k
ZXgpIHsKICAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0KG5vZGVJbmRleCk7
CiAgICAgICAgICAgICAgICAgc3dpdGNoIChub2RlLT5vcCgpKSB7CiAgICAgICAgICAgICAgICAg
Y2FzZSBQaGk6Ci0gICAgICAgICAgICAgICAgICAgIFZBTElEQVRFKChub2RlKSwgIW5vZGUtPm9y
aWdpbi5pc1NldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgVkFMSURBVEUoKG5vZGUpLCAhbm9k
ZS0+b3JpZ2luLmZvckV4aXQuaXNTZXQoKSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBkZWZhdWx0Ogo=
</data>
<flag name="review"
          id="257742"
          type_id="1"
          status="+"
          setter="mhahnenberg"
    />
          </attachment>
      

    </bug>

</bugzilla>