<?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>128234</bug_id>
          
          <creation_ts>2014-02-04 21:44:29 -0800</creation_ts>
          <short_desc>Make FTL OSR entry something we only try after we&apos;ve already compiled the function with the FTL and it still got stuck in a loop after that without ever returning like a sensible function oughta have</short_desc>
          <delta_ts>2014-02-05 23:32:41 -0800</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>
          
          <blocked>128039</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>atrick</cc>
    
    <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>976656</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-02-04 21:44:29 -0800</bug_when>
    <thetext>Patch forthcoming.

This appears to still give us a speed-up on the kinds of things that OSR entry is good for, while also eliminating pointless OSR entry compilations on other things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976660</commentid>
    <comment_count>1</comment_count>
      <attachid>223211</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-02-04 21:55:25 -0800</bug_when>
    <thetext>Created attachment 223211
work in progress

Still needs testing.  The approach still feels shady.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977245</commentid>
    <comment_count>2</comment_count>
      <attachid>223309</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-02-05 22:27:01 -0800</bug_when>
    <thetext>Created attachment 223309
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977248</commentid>
    <comment_count>3</comment_count>
      <attachid>223309</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-02-05 22:30:39 -0800</bug_when>
    <thetext>Comment on attachment 223309
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977262</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-02-05 23:32:41 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/163517</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223211</attachid>
            <date>2014-02-04 21:55:25 -0800</date>
            <delta_ts>2014-02-05 22:27:01 -0800</delta_ts>
            <desc>work in progress</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>11326</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYzNDI5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDE0LTAyLTA0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
TWFrZSBGVEwgT1NSIGVudHJ5IHNvbWV0aGluZyB3ZSBvbmx5IHRyeSBhZnRlciB3ZSd2ZSBhbHJl
YWR5IGNvbXBpbGVkIHRoZSBmdW5jdGlvbiB3aXRoIHRoZSBGVEwgYW5kIGl0IHN0aWxsIGdvdCBz
dHVjayBpbiBhIGxvb3AgYWZ0ZXIgdGhhdCB3aXRob3V0IGV2ZXIgcmV0dXJuaW5nIGxpa2UgYSBz
ZW5zaWJsZSBmdW5jdGlvbiBvdWdodGEgaGF2ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4MjM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisgICAgICAgIAorICAgICAgICBVc2UgREZHOjpKSVRDb2RlOjpvc3JFbnRyeVJl
dHJ5IGFzIGEgY291bnRlciB0byBkZWNpZGUgd2hlbiB0byBpbnZva2UgT1NSIGVudHJ5LiBUaGF0
CisgICAgICAgIGNvbWVzIGludG8gcGxheSBvbmx5IGFmdGVyIHdlJ3ZlIGRvbmUgYSByZXBsYWNl
bWVudCBjb21waWxlLgorICAgICAgICAKKyAgICAgICAgVGhpcyBhcHBlYXJzIHRvIHN0aWxsIGdp
dmUgdXMgYSBzcGVlZC11cCBvbiB0aGUga2luZHMgb2YgdGhpbmdzIHRoYXQgT1NSIGVudHJ5IGlz
IGdvb2QKKyAgICAgICAgZm9yLCB3aGlsZSBhbHNvIGVsaW1pbmF0aW5nIHBvaW50bGVzcyBPU1Ig
ZW50cnkgY29tcGlsYXRpb25zIG9uIG90aGVyIHRoaW5ncy4KKworICAgICAgICAqIGRmZy9ERkdK
SVRDb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb2RlOjpKSVRDb2RlKToKKyAgICAg
ICAgKiBkZmcvREZHSklUQ29kZS5oOgorICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmNwcDoK
KyAgICAgICAgKiBkZmcvREZHVG9GVExGb3JPU1JFbnRyeURlZmVycmVkQ29tcGlsYXRpb25DYWxs
YmFjay5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6VG9GVExGb3JPU1JFbnRyeURlZmVycmVkQ29t
cGlsYXRpb25DYWxsYmFjazo6Y29tcGlsYXRpb25EaWRDb21wbGV0ZSk6CisgICAgICAgICogcnVu
dGltZS9PcHRpb25zLmg6CisKIDIwMTQtMDItMDQgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUu
Y29tPgogCiAgICAgICAgIFRoZSBzdGFjayBsaW1pdCBjb21wdXRhdGlvbiBkb2VzIG5vdCB3b3Jr
IGZvciBXaW5kb3dzLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2Rl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGUu
Y3BwCShyZXZpc2lvbiAxNjM0MjIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJ
VENvZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCwxMCBAQCBuYW1lc3BhY2UgSlND
IHsgbmFtZXNwYWNlIERGRyB7CiAKIEpJVENvZGU6OkpJVENvZGUoKQogICAgIDogRGlyZWN0SklU
Q29kZShERkdKSVQpCisjaWYgRU5BQkxFKEZUTF9KSVQpCisgICAgLCBvc3JFbnRyeVJldHJ5KDAp
CisgICAgLCBhYmFuZG9uT1NSRW50cnkoZmFsc2UpCisjZW5kaWYgLy8gRU5BQkxFKEZUTF9KSVQp
CiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZS5oCShyZXZp
c2lvbiAxNjM0MjIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGUuaAko
d29ya2luZyBjb3B5KQpAQCAtMTI1LDYgKzEyNSw4IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoRlRM
X0pJVCkKICAgICBFeGVjdXRpb25Db3VudGVyIHRpZXJVcENvdW50ZXI7CiAgICAgUmVmUHRyPENv
ZGVCbG9jaz4gb3NyRW50cnlCbG9jazsKKyAgICB1bnNpZ25lZCBvc3JFbnRyeVJldHJ5OworICAg
IGJvb2wgYWJhbmRvbk9TUkVudHJ5OwogI2VuZGlmIC8vIEVOQUJMRShGVExfSklUKQogfTsKIApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCShyZXZp
c2lvbiAxNjM0MjIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTExLDIxICsxMTExLDggQEAgZXh0ZXJuICJDIiB2b2lk
IEpJVF9PUEVSQVRJT04gdHJpZ2dlclJlbwogfQogCiAjaWYgRU5BQkxFKEZUTF9KSVQpCi12b2lk
IEpJVF9PUEVSQVRJT04gdHJpZ2dlclRpZXJVcE5vdyhFeGVjU3RhdGUqIGV4ZWMpCitzdGF0aWMg
dm9pZCB0cmlnZ2VyRlRMUmVwbGFjZW1lbnRDb21waWxlKFZNKiB2bSwgQ29kZUJsb2NrKiBjb2Rl
QmxvY2ssIEpJVENvZGUqIGppdENvZGUpCiB7Ci0gICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7Ci0g
ICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgRGVmZXJHQyBk
ZWZlckdDKHZtLT5oZWFwKTsKLSAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVC
bG9jaygpOwotICAgIAotICAgIEpJVENvZGUqIGppdENvZGUgPSBjb2RlQmxvY2stPmppdENvZGUo
KS0+ZGZnKCk7Ci0gICAgCi0gICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VPU1IoKSkgewotICAgICAg
ICBkYXRhTG9nKAotICAgICAgICAgICAgKmNvZGVCbG9jaywgIjogRW50ZXJlZCB0cmlnZ2VyVGll
clVwTm93IHdpdGggZXhlY3V0ZUNvdW50ZXIgPSAiLAotICAgICAgICAgICAgaml0Q29kZS0+dGll
clVwQ291bnRlciwgIlxuIik7Ci0gICAgfQotICAgIAogICAgIGlmIChjb2RlQmxvY2stPmJhc2Vs
aW5lVmVyc2lvbigpLT5tX2RpZEZhaWxGVExDb21waWxhdGlvbikgewogICAgICAgICBpZiAoT3B0
aW9uczo6dmVyYm9zZU9TUigpKQogICAgICAgICAgICAgZGF0YUxvZygiRGVmZXJyaW5nIEZUTC1v
cHRpbWl6YXRpb24gb2YgIiwgKmNvZGVCbG9jaywgIiBpbmRlZmluaXRlbHkgYmVjYXVzZSB0aGVy
ZSB3YXMgYW4gRlRMIGZhaWx1cmUuXG4iKTsKQEAgLTExNzMsNiArMTE2MCwyNCBAQCB2b2lkIEpJ
VF9PUEVSQVRJT04gdHJpZ2dlclRpZXJVcE5vdyhFeGVjCiAgICAgICAgIE9wZXJhbmRzPEpTVmFs
dWU+KCksIFRvRlRMRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrOjpjcmVhdGUoY29kZUJsb2Nr
KSk7CiB9CiAKK3ZvaWQgSklUX09QRVJBVElPTiB0cmlnZ2VyVGllclVwTm93KEV4ZWNTdGF0ZSog
ZXhlYykKK3sKKyAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKKyAgICBOYXRpdmVDYWxsRnJhbWVU
cmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKKyAgICBEZWZlckdDIGRlZmVyR0Modm0tPmhlYXApOwor
ICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7CisgICAgCisgICAg
SklUQ29kZSogaml0Q29kZSA9IGNvZGVCbG9jay0+aml0Q29kZSgpLT5kZmcoKTsKKyAgICAKKyAg
ICBpZiAoT3B0aW9uczo6dmVyYm9zZU9TUigpKSB7CisgICAgICAgIGRhdGFMb2coCisgICAgICAg
ICAgICAqY29kZUJsb2NrLCAiOiBFbnRlcmVkIHRyaWdnZXJUaWVyVXBOb3cgd2l0aCBleGVjdXRl
Q291bnRlciA9ICIsCisgICAgICAgICAgICBqaXRDb2RlLT50aWVyVXBDb3VudGVyLCAiXG4iKTsK
KyAgICB9CisgICAgCisgICAgdHJpZ2dlckZUTFJlcGxhY2VtZW50Q29tcGlsZSh2bSwgY29kZUJs
b2NrLCBqaXRDb2RlKTsKK30KKwogY2hhciogSklUX09QRVJBVElPTiB0cmlnZ2VyT1NSRW50cnlO
b3coCiAgICAgRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGVjb2RlSW5kZXgsIGludDMyX3Qg
c3RyZWFtSW5kZXgpCiB7CkBAIC0xMTg5LDU3ICsxMTk0LDQ3IEBAIGNoYXIqIEpJVF9PUEVSQVRJ
T04gdHJpZ2dlck9TUkVudHJ5Tm93KAogICAgICAgICAgICAgaml0Q29kZS0+dGllclVwQ291bnRl
ciwgIlxuIik7CiAgICAgfQogICAgIAotICAgIGlmIChjb2RlQmxvY2stPmJhc2VsaW5lVmVyc2lv
bigpLT5tX2RpZEZhaWxGVExDb21waWxhdGlvbikgewotICAgICAgICBpZiAoT3B0aW9uczo6dmVy
Ym9zZU9TUigpKQotICAgICAgICAgICAgZGF0YUxvZygiRGVmZXJyaW5nIEZUTC1vcHRpbWl6YXRp
b24gb2YgIiwgKmNvZGVCbG9jaywgIiBpbmRlZmluaXRlbHkgYmVjYXVzZSB0aGVyZSB3YXMgYW4g
RlRMIGZhaWx1cmUuXG4iKTsKLSAgICAgICAgaml0Q29kZS0+ZG9udE9wdGltaXplQW55dGltZVNv
b24oY29kZUJsb2NrKTsKKyAgICAvLyAtIElmIHdlIGRvbid0IGhhdmUgYW4gRlRMIGNvZGUgYmxv
Y2ssIHRoZW4gdHJ5IHRvIGNvbXBpbGUgb25lLgorICAgIC8vIC0gSWYgd2UgZG8gaGF2ZSBhbiBG
VEwgY29kZSBibG9jaywgdGhlbiB0cnkgdG8gZW50ZXIgZm9yIGEgd2hpbGUuCisgICAgLy8gLSBJ
ZiB3ZSBjb3VsZG4ndCBlbnRlciBmb3IgYSB3aGlsZSwgdGhlbiB0cmlnZ2VyIE9TUiBlbnRyeS4K
KyAgICAKKyAgICB0cmlnZ2VyRlRMUmVwbGFjZW1lbnRDb21waWxlKHZtLCBjb2RlQmxvY2ssIGpp
dENvZGUpOworCisgICAgaWYgKCFjb2RlQmxvY2stPmhhc09wdGltaXplZFJlcGxhY2VtZW50KCkp
CiAgICAgICAgIHJldHVybiAwOwotICAgIH0KICAgICAKLSAgICBpZiAoIWppdENvZGUtPmNoZWNr
SWZPcHRpbWl6YXRpb25UaHJlc2hvbGRSZWFjaGVkKGNvZGVCbG9jaykpIHsKLSAgICAgICAgaWYg
KE9wdGlvbnM6OnZlcmJvc2VPU1IoKSkKLSAgICAgICAgICAgIGRhdGFMb2coIkNob29zaW5nIG5v
dCB0byBGVEwtb3B0aW1pemUgIiwgKmNvZGVCbG9jaywgIiB5ZXQuXG4iKTsKKyAgICBpZiAoaml0
Q29kZS0+b3NyRW50cnlSZXRyeSA8IE9wdGlvbnM6OmZ0bE9TUkVudHJ5UmV0cnlUaHJlc2hvbGQo
KSkgeworICAgICAgICBqaXRDb2RlLT5vc3JFbnRyeVJldHJ5Kys7CiAgICAgICAgIHJldHVybiAw
OwogICAgIH0KICAgICAKLSAgICBXb3JrbGlzdCogd29ya2xpc3QgPSBleGlzdGluZ0dsb2JhbEZU
TFdvcmtsaXN0T3JOdWxsKCk7Ci0KKyAgICAvLyBJdCdzIHRpbWUgdG8gdHJ5IHRvIGNvbXBpbGUg
Y29kZSBmb3IgT1NSIGVudHJ5LgogICAgIFdvcmtsaXN0OjpTdGF0ZSB3b3JrbGlzdFN0YXRlOwot
ICAgIGlmICh3b3JrbGlzdCkgeworICAgIGlmIChXb3JrbGlzdCogd29ya2xpc3QgPSBleGlzdGlu
Z0dsb2JhbEZUTFdvcmtsaXN0T3JOdWxsKCkpIHsKICAgICAgICAgd29ya2xpc3RTdGF0ZSA9IHdv
cmtsaXN0LT5jb21wbGV0ZUFsbFJlYWR5UGxhbnNGb3JWTSgKICAgICAgICAgICAgICp2bSwgQ29t
cGlsYXRpb25LZXkoY29kZUJsb2NrLT5iYXNlbGluZVZlcnNpb24oKSwgRlRMRm9yT1NSRW50cnlN
b2RlKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIHdvcmtsaXN0U3RhdGUgPSBXb3JrbGlzdDo6Tm90
S25vd247CiAgICAgCi0gICAgaWYgKHdvcmtsaXN0U3RhdGUgPT0gV29ya2xpc3Q6OkNvbXBpbGlu
ZykgewotICAgICAgICBBU1NFUlQoIWppdENvZGUtPm9zckVudHJ5QmxvY2spOwotICAgICAgICBq
aXRDb2RlLT5zZXRPcHRpbWl6YXRpb25UaHJlc2hvbGRCYXNlZE9uQ29tcGlsYXRpb25SZXN1bHQo
Ci0gICAgICAgICAgICBjb2RlQmxvY2ssIENvbXBpbGF0aW9uRGVmZXJyZWQpOworICAgIGlmICh3
b3JrbGlzdFN0YXRlID09IFdvcmtsaXN0OjpDb21waWxpbmcpCiAgICAgICAgIHJldHVybiAwOwot
ICAgIH0KICAgICAKICAgICBpZiAoQ29kZUJsb2NrKiBlbnRyeUJsb2NrID0gaml0Q29kZS0+b3Ny
RW50cnlCbG9jay5nZXQoKSkgewogICAgICAgICB2b2lkKiBhZGRyZXNzID0gRlRMOjpwcmVwYXJl
T1NSRW50cnkoCiAgICAgICAgICAgICBleGVjLCBjb2RlQmxvY2ssIGVudHJ5QmxvY2ssIGJ5dGVj
b2RlSW5kZXgsIHN0cmVhbUluZGV4KTsKLSAgICAgICAgaWYgKGFkZHJlc3MpIHsKLSAgICAgICAg
ICAgIGppdENvZGUtPm9wdGltaXplU29vbihjb2RlQmxvY2spOworICAgICAgICBpZiAoYWRkcmVz
cykKICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjaGFyKj4oYWRkcmVzcyk7Ci0gICAg
ICAgIH0KICAgICAgICAgCiAgICAgICAgIEZUTDo6Rm9yT1NSRW50cnlKSVRDb2RlKiBlbnRyeUNv
ZGUgPSBlbnRyeUJsb2NrLT5qaXRDb2RlKCktPmZ0bEZvck9TUkVudHJ5KCk7CiAgICAgICAgIGVu
dHJ5Q29kZS0+Y291bnRFbnRyeUZhaWx1cmUoKTsKICAgICAgICAgaWYgKGVudHJ5Q29kZS0+ZW50
cnlGYWlsdXJlQ291bnQoKSA8Ci0gICAgICAgICAgICBPcHRpb25zOjpmdGxPU1JFbnRyeUZhaWx1
cmVDb3VudEZvclJlb3B0aW1pemF0aW9uKCkpIHsKLSAgICAgICAgICAgIAotICAgICAgICAgICAg
aml0Q29kZS0+b3B0aW1pemVTb29uKGNvZGVCbG9jayk7CisgICAgICAgICAgICBPcHRpb25zOjpm
dGxPU1JFbnRyeUZhaWx1cmVDb3VudEZvclJlb3B0aW1pemF0aW9uKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gMDsKLSAgICAgICAgfQogICAgICAgICAKICAgICAgICAgLy8gT1NSIGVudHJ5IGZhaWxl
ZC4gT2ggbm8hIFRoaXMgaW1wbGllcyB0aGF0IHdlIG5lZWQgdG8gcmV0cnkuIFdlIHJldHJ5CiAg
ICAgICAgIC8vIHdpdGhvdXQgZXhwb25lbnRpYWwgYmFja29mZiBhbmQgd2Ugb25seSBkbyB0aGlz
IGZvciB0aGUgZW50cnkgY29kZSBibG9jay4KICAgICAgICAgaml0Q29kZS0+b3NyRW50cnlCbG9j
ay5jbGVhcigpOwotICAgICAgICAKLSAgICAgICAgaml0Q29kZS0+b3B0aW1pemVBZnRlcldhcm1V
cChjb2RlQmxvY2spOworICAgICAgICBqaXRDb2RlLT5vc3JFbnRyeVJldHJ5ID0gMDsKICAgICAg
ICAgcmV0dXJuIDA7CiAgICAgfQogICAgIApAQCAtMTI1MCw3ICsxMjQ1LDggQEAgY2hhciogSklU
X09QRVJBVElPTiB0cmlnZ2VyT1NSRW50cnlOb3coCiAgICAgICAgIHJldHVybiAwOwogICAgIH0K
IAotICAgIC8vIFRoZSBmaXJzdCBvcmRlciBvZiBidXNpbmVzcyBpcyB0byB0cmlnZ2VyIGEgZm9y
LWVudHJ5IGNvbXBpbGUuCisgICAgLy8gV2UgYXJlbid0IGNvbXBpbGluZyBhbmQgaGF2ZW4ndCBj
b21waWxlZCBhbnl0aGluZyBmb3IgT1NSIGVudHJ5LiBTbywgdHJ5IHRvIGNvbXBpbGUKKyAgICAv
LyBzb21ldGhpbmcuCiAgICAgT3BlcmFuZHM8SlNWYWx1ZT4gbXVzdEhhbmRsZVZhbHVlczsKICAg
ICBqaXRDb2RlLT5yZWNvbnN0cnVjdCgKICAgICAgICAgZXhlYywgY29kZUJsb2NrLCBDb2RlT3Jp
Z2luKGJ5dGVjb2RlSW5kZXgpLCBzdHJlYW1JbmRleCwgbXVzdEhhbmRsZVZhbHVlcyk7CkBAIC0x
MjU4LDI0ICsxMjU0LDYgQEAgY2hhciogSklUX09QRVJBVElPTiB0cmlnZ2VyT1NSRW50cnlOb3co
CiAgICAgICAgICp2bSwgY29kZUJsb2NrLT5uZXdSZXBsYWNlbWVudCgpLmdldCgpLCBjb2RlQmxv
Y2ssIEZUTEZvck9TUkVudHJ5TW9kZSwgYnl0ZWNvZGVJbmRleCwKICAgICAgICAgbXVzdEhhbmRs
ZVZhbHVlcywgVG9GVExGb3JPU1JFbnRyeURlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjazo6Y3Jl
YXRlKGNvZGVCbG9jaykpOwogICAgIAotICAgIC8vIEJ1dCB3ZSBhbHNvIHdhbnQgdG8gdHJpZ2dl
ciBhIHJlcGxhY2VtZW50IGNvbXBpbGUuIE9mIGNvdXJzZSwgd2UgZG9uJ3Qgd2FudCB0bwotICAg
IC8vIHRyaWdnZXIgaXQgaWYgd2UgZG9uJ3QgbmVlZCB0by4gTm90ZSB0aGF0IHRoaXMgaXMga2lu
ZCBvZiB3ZWlyZCBiZWNhdXNlIHdlIG1pZ2h0Ci0gICAgLy8gaGF2ZSBqdXN0IGZpbmlzaGVkIGFu
IEZUTCBjb21waWxlIGFuZCB0aGF0IGNvbXBpbGUgZmFpbGVkIG9yIHdhcyBpbnZhbGlkYXRlZC4K
LSAgICAvLyBCdXQgdGhpcyBzZWVtcyB1bmNvbW1vbiBlbm91Z2ggdGhhdCB3ZSBzb3J0IG9mIGRv
bid0IGNhcmUuIEl0J3MgY2VydGFpbmx5IHNvdW5kCi0gICAgLy8gdG8gZmlyZSBvZmYgYW5vdGhl
ciBjb21waWxlIHJpZ2h0IG5vdyBzbyBsb25nIGFzIHdlJ3JlIG5vdCBhbHJlYWR5IGNvbXBpbGlu
ZyBhbmQKLSAgICAvLyB3ZSBkb24ndCBhbHJlYWR5IGhhdmUgYW4gb3B0aW1pemVkIHJlcGxhY2Vt
ZW50LiBOb3RlLCB3ZSBkb24ndCBkbyB0aGlzIGZvcgotICAgIC8vIG9idmlvdXNseSBiYWQgY2Fz
ZXMgbGlrZSBnbG9iYWwgY29kZSwgd2hlcmUgd2Uga25vdyB0aGF0IHRoZXJlIGlzIGEgc2xpbSBj
aGFuY2UKLSAgICAvLyBvZiB0aGlzIGNvZGUgYmVpbmcgaW52b2tlZCBldmVyIGFnYWluLgotICAg
IENvbXBpbGF0aW9uS2V5IGtleUZvclJlcGxhY2VtZW50KGNvZGVCbG9jay0+YmFzZWxpbmVWZXJz
aW9uKCksIEZUTE1vZGUpOwotICAgIGlmIChjb2RlQmxvY2stPmNvZGVUeXBlKCkgIT0gR2xvYmFs
Q29kZQotICAgICAgICAmJiAhY29kZUJsb2NrLT5oYXNPcHRpbWl6ZWRSZXBsYWNlbWVudCgpCi0g
ICAgICAgICYmICghd29ya2xpc3QKLSAgICAgICAgICAgIHx8IHdvcmtsaXN0LT5jb21waWxhdGlv
blN0YXRlKGtleUZvclJlcGxhY2VtZW50KSA9PSBXb3JrbGlzdDo6Tm90S25vd24pKSB7Ci0gICAg
ICAgIGNvbXBpbGUoCi0gICAgICAgICAgICAqdm0sIGNvZGVCbG9jay0+bmV3UmVwbGFjZW1lbnQo
KS5nZXQoKSwgY29kZUJsb2NrLCBGVExNb2RlLCBVSU5UX01BWCwKLSAgICAgICAgICAgIE9wZXJh
bmRzPEpTVmFsdWU+KCksIFRvRlRMRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrOjpjcmVhdGUo
Y29kZUJsb2NrKSk7Ci0gICAgfQotICAgIAogICAgIGlmIChmb3JFbnRyeVJlc3VsdCAhPSBDb21w
aWxhdGlvblN1Y2Nlc3NmdWwpCiAgICAgICAgIHJldHVybiAwOwogICAgIApAQCAtMTI4NCwxMCAr
MTI2Miw2IEBAIGNoYXIqIEpJVF9PUEVSQVRJT04gdHJpZ2dlck9TUkVudHJ5Tm93KAogICAgIC8v
IFdlIHNpZ25hbCB0byB0cnkgYWdhaW4gYWZ0ZXIgYSB3aGlsZSBpZiB0aGF0IGhhcHBlbnMuCiAg
ICAgdm9pZCogYWRkcmVzcyA9IEZUTDo6cHJlcGFyZU9TUkVudHJ5KAogICAgICAgICBleGVjLCBj
b2RlQmxvY2ssIGppdENvZGUtPm9zckVudHJ5QmxvY2suZ2V0KCksIGJ5dGVjb2RlSW5kZXgsIHN0
cmVhbUluZGV4KTsKLSAgICBpZiAoYWRkcmVzcykKLSAgICAgICAgaml0Q29kZS0+b3B0aW1pemVT
b29uKGNvZGVCbG9jayk7Ci0gICAgZWxzZQotICAgICAgICBqaXRDb2RlLT5vcHRpbWl6ZUFmdGVy
V2FybVVwKGNvZGVCbG9jayk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNoYXIqPihhZGRyZXNz
KTsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdUb0ZUTEZvck9TUkVu
dHJ5RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1RvRlRMRm9yT1NSRW50cnlEZWZlcnJlZENvbXBpbGF0aW9u
Q2FsbGJhY2suY3BwCShyZXZpc2lvbiAxNjM0MjIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1RvRlRMRm9yT1NSRW50cnlEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03MywxMyArNzMsMjQgQEAgdm9pZCBUb0ZUTEZvck9TUkVudHJ5RGVm
ZXJyZWRDb21waWxhdGlvbgogICAgICAgICAgICAgIikgcmVzdWx0OiAiLCByZXN1bHQsICJcbiIp
OwogICAgIH0KICAgICAKLSAgICBpZiAocmVzdWx0ID09IENvbXBpbGF0aW9uU3VjY2Vzc2Z1bCkK
LSAgICAgICAgbV9kZmdDb2RlQmxvY2stPmppdENvZGUoKS0+ZGZnKCktPm9zckVudHJ5QmxvY2sg
PSBjb2RlQmxvY2s7CisgICAgSklUQ29kZSogaml0Q29kZSA9IG1fZGZnQ29kZUJsb2NrLT5qaXRD
b2RlKCktPmRmZygpOworICAgICAgICAKKyAgICBzd2l0Y2ggKHJlc3VsdCkgeworICAgIGNhc2Ug
Q29tcGlsYXRpb25TdWNjZXNzZnVsOgorICAgICAgICBqaXRDb2RlLT5vc3JFbnRyeUJsb2NrID0g
Y29kZUJsb2NrOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBDb21waWxhdGlvbkZhaWxlZDoK
KyAgICAgICAgaml0Q29kZS0+b3NyRW50cnlSZXRyeSA9IDA7CisgICAgICAgIGppdENvZGUtPmFi
YW5kb25PU1JFbnRyeSA9IHRydWU7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIENvbXBpbGF0
aW9uRGVmZXJyZWQ6CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIENvbXBpbGF0aW9uSW52YWxp
ZGF0ZWQ6CisgICAgICAgIGppdENvZGUtPm9zckVudHJ5UmV0cnkgPSAwOworICAgICAgICByZXR1
cm47CisgICAgfQogICAgIAotICAgIC8vIEZJWE1FOiBpZiB3ZSBmYWlsZWQsIHdlIG1pZ2h0IHdh
bnQgdG8ganVzdCB0dXJuIG9mZiBPU1IgZW50cnkgcmF0aGVyIHRoYW4KLSAgICAvLyB0b3RhbGx5
IHR1cm5pbmcgb2ZmIHRpZXItdXAuCi0gICAgbV9kZmdDb2RlQmxvY2stPmppdENvZGUoKS0+ZGZn
KCktPnNldE9wdGltaXphdGlvblRocmVzaG9sZEJhc2VkT25Db21waWxhdGlvblJlc3VsdCgKLSAg
ICAgICAgbV9kZmdDb2RlQmxvY2suZ2V0KCksIHJlc3VsdCk7CisgICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKIH0KIAogfSB9IC8vIEpTQzo6REZHCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCShyZXZpc2lvbiAxNjM0MjIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTE5Nyw2ICsx
OTcsNyBAQCB0eXBlZGVmIE9wdGlvblJhbmdlIG9wdGlvblJhbmdlOwogICAgIHYoaW50MzIsIGZ0
bFRpZXJVcENvdW50ZXJJbmNyZW1lbnRGb3JMb29wLCAxKSBcCiAgICAgdihpbnQzMiwgZnRsVGll
clVwQ291bnRlckluY3JlbWVudEZvclJldHVybiwgMTUpIFwKICAgICB2KHVuc2lnbmVkLCBmdGxP
U1JFbnRyeUZhaWx1cmVDb3VudEZvclJlb3B0aW1pemF0aW9uLCAxNSkgXAorICAgIHYodW5zaWdu
ZWQsIGZ0bE9TUkVudHJ5UmV0cnlUaHJlc2hvbGQsIDEwMCkgXAogICAgIFwKICAgICB2KGludDMy
LCBldmFsVGhyZXNob2xkTXVsdGlwbGllciwgMTApIFwKICAgICBcCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223309</attachid>
            <date>2014-02-05 22:27:01 -0800</date>
            <delta_ts>2014-02-05 22:30:38 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>11375</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYzNTEzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDE0LTAyLTA0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
TWFrZSBGVEwgT1NSIGVudHJ5IHNvbWV0aGluZyB3ZSBvbmx5IHRyeSBhZnRlciB3ZSd2ZSBhbHJl
YWR5IGNvbXBpbGVkIHRoZSBmdW5jdGlvbiB3aXRoIHRoZSBGVEwgYW5kIGl0IHN0aWxsIGdvdCBz
dHVjayBpbiBhIGxvb3AgYWZ0ZXIgdGhhdCB3aXRob3V0IGV2ZXIgcmV0dXJuaW5nIGxpa2UgYSBz
ZW5zaWJsZSBmdW5jdGlvbiBvdWdodGEgaGF2ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4MjM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisgICAgICAgIAorICAgICAgICBVc2UgREZHOjpKSVRDb2RlOjpvc3JFbnRyeVJl
dHJ5IGFzIGEgY291bnRlciB0byBkZWNpZGUgd2hlbiB0byBpbnZva2UgT1NSIGVudHJ5LiBUaGF0
CisgICAgICAgIGNvbWVzIGludG8gcGxheSBvbmx5IGFmdGVyIHdlJ3ZlIGRvbmUgYSByZXBsYWNl
bWVudCBjb21waWxlLgorICAgICAgICAKKyAgICAgICAgVGhpcyBhcHBlYXJzIHRvIHN0aWxsIGdp
dmUgdXMgYSBzcGVlZC11cCBvbiB0aGUga2luZHMgb2YgdGhpbmdzIHRoYXQgT1NSIGVudHJ5IGlz
IGdvb2QKKyAgICAgICAgZm9yLCB3aGlsZSBhbHNvIGVsaW1pbmF0aW5nIHBvaW50bGVzcyBPU1Ig
ZW50cnkgY29tcGlsYXRpb25zIG9uIG90aGVyIHRoaW5ncy4KKworICAgICAgICAqIGRmZy9ERkdK
SVRDb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb2RlOjpKSVRDb2RlKToKKyAgICAg
ICAgKiBkZmcvREZHSklUQ29kZS5oOgorICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmNwcDoK
KyAgICAgICAgKiBkZmcvREZHVG9GVExGb3JPU1JFbnRyeURlZmVycmVkQ29tcGlsYXRpb25DYWxs
YmFjay5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6VG9GVExGb3JPU1JFbnRyeURlZmVycmVkQ29t
cGlsYXRpb25DYWxsYmFjazo6Y29tcGlsYXRpb25EaWRDb21wbGV0ZSk6CisgICAgICAgICogcnVu
dGltZS9PcHRpb25zLmg6CisKIDIwMTQtMDItMDQgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxl
LmNvbT4KIAogICAgICAgICBEb24ndCBzcGVjdWxhdGUgb24gVG9UaGlzIGlmIHdlIGFscmVhZHkg
a25vdyB0aGF0IGFyZzAgaGFzIGEgcXVlc3Rpb25hYmxlIHJlY29yZCB3aXRoIHN0cnVjdHVyZSBj
aGVja3MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlLmNwcAkocmV2
aXNpb24gMTYzNTEzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsMTAgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVz
cGFjZSBERkcgewogCiBKSVRDb2RlOjpKSVRDb2RlKCkKICAgICA6IERpcmVjdEpJVENvZGUoREZH
SklUKQorI2lmIEVOQUJMRShGVExfSklUKQorICAgICwgb3NyRW50cnlSZXRyeSgwKQorICAgICwg
YWJhbmRvbk9TUkVudHJ5KGZhbHNlKQorI2VuZGlmIC8vIEVOQUJMRShGVExfSklUKQogewogfQog
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGUuaAkocmV2aXNpb24gMTYz
NTEzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEyNSw2ICsxMjUsOCBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKEZUTF9KSVQpCiAg
ICAgRXhlY3V0aW9uQ291bnRlciB0aWVyVXBDb3VudGVyOwogICAgIFJlZlB0cjxDb2RlQmxvY2s+
IG9zckVudHJ5QmxvY2s7CisgICAgdW5zaWduZWQgb3NyRW50cnlSZXRyeTsKKyAgICBib29sIGFi
YW5kb25PU1JFbnRyeTsKICNlbmRpZiAvLyBFTkFCTEUoRlRMX0pJVCkKIH07CiAKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMTYz
NTEzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTExMywyMSArMTExMyw4IEBAIGV4dGVybiAiQyIgdm9pZCBKSVRfT1BF
UkFUSU9OIHRyaWdnZXJSZW8KIH0KIAogI2lmIEVOQUJMRShGVExfSklUKQotdm9pZCBKSVRfT1BF
UkFUSU9OIHRyaWdnZXJUaWVyVXBOb3coRXhlY1N0YXRlKiBleGVjKQorc3RhdGljIHZvaWQgdHJp
Z2dlckZUTFJlcGxhY2VtZW50Q29tcGlsZShWTSogdm0sIENvZGVCbG9jayogY29kZUJsb2NrLCBK
SVRDb2RlKiBqaXRDb2RlKQogewotICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwotICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIERlZmVyR0MgZGVmZXJHQyh2
bS0+aGVhcCk7Ci0gICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsK
LSAgICAKLSAgICBKSVRDb2RlKiBqaXRDb2RlID0gY29kZUJsb2NrLT5qaXRDb2RlKCktPmRmZygp
OwotICAgIAotICAgIGlmIChPcHRpb25zOjp2ZXJib3NlT1NSKCkpIHsKLSAgICAgICAgZGF0YUxv
ZygKLSAgICAgICAgICAgICpjb2RlQmxvY2ssICI6IEVudGVyZWQgdHJpZ2dlclRpZXJVcE5vdyB3
aXRoIGV4ZWN1dGVDb3VudGVyID0gIiwKLSAgICAgICAgICAgIGppdENvZGUtPnRpZXJVcENvdW50
ZXIsICJcbiIpOwotICAgIH0KLSAgICAKICAgICBpZiAoY29kZUJsb2NrLT5iYXNlbGluZVZlcnNp
b24oKS0+bV9kaWRGYWlsRlRMQ29tcGlsYXRpb24pIHsKICAgICAgICAgaWYgKE9wdGlvbnM6OnZl
cmJvc2VPU1IoKSkKICAgICAgICAgICAgIGRhdGFMb2coIkRlZmVycmluZyBGVEwtb3B0aW1pemF0
aW9uIG9mICIsICpjb2RlQmxvY2ssICIgaW5kZWZpbml0ZWx5IGJlY2F1c2UgdGhlcmUgd2FzIGFu
IEZUTCBmYWlsdXJlLlxuIik7CkBAIC0xMTc1LDYgKzExNjIsMjQgQEAgdm9pZCBKSVRfT1BFUkFU
SU9OIHRyaWdnZXJUaWVyVXBOb3coRXhlYwogICAgICAgICBPcGVyYW5kczxKU1ZhbHVlPigpLCBU
b0ZUTERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjazo6Y3JlYXRlKGNvZGVCbG9jaykpOwogfQog
Cit2b2lkIEpJVF9PUEVSQVRJT04gdHJpZ2dlclRpZXJVcE5vdyhFeGVjU3RhdGUqIGV4ZWMpCit7
CisgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CisgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRy
YWNlcih2bSwgZXhlYyk7CisgICAgRGVmZXJHQyBkZWZlckdDKHZtLT5oZWFwKTsKKyAgICBDb2Rl
QmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOworICAgIAorICAgIEpJVENvZGUq
IGppdENvZGUgPSBjb2RlQmxvY2stPmppdENvZGUoKS0+ZGZnKCk7CisgICAgCisgICAgaWYgKE9w
dGlvbnM6OnZlcmJvc2VPU1IoKSkgeworICAgICAgICBkYXRhTG9nKAorICAgICAgICAgICAgKmNv
ZGVCbG9jaywgIjogRW50ZXJlZCB0cmlnZ2VyVGllclVwTm93IHdpdGggZXhlY3V0ZUNvdW50ZXIg
PSAiLAorICAgICAgICAgICAgaml0Q29kZS0+dGllclVwQ291bnRlciwgIlxuIik7CisgICAgfQor
ICAgIAorICAgIHRyaWdnZXJGVExSZXBsYWNlbWVudENvbXBpbGUodm0sIGNvZGVCbG9jaywgaml0
Q29kZSk7Cit9CisKIGNoYXIqIEpJVF9PUEVSQVRJT04gdHJpZ2dlck9TUkVudHJ5Tm93KAogICAg
IEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBieXRlY29kZUluZGV4LCBpbnQzMl90IHN0cmVhbUlu
ZGV4KQogewpAQCAtMTE5MSw1NyArMTE5Niw0NyBAQCBjaGFyKiBKSVRfT1BFUkFUSU9OIHRyaWdn
ZXJPU1JFbnRyeU5vdygKICAgICAgICAgICAgIGppdENvZGUtPnRpZXJVcENvdW50ZXIsICJcbiIp
OwogICAgIH0KICAgICAKLSAgICBpZiAoY29kZUJsb2NrLT5iYXNlbGluZVZlcnNpb24oKS0+bV9k
aWRGYWlsRlRMQ29tcGlsYXRpb24pIHsKLSAgICAgICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VPU1Io
KSkKLSAgICAgICAgICAgIGRhdGFMb2coIkRlZmVycmluZyBGVEwtb3B0aW1pemF0aW9uIG9mICIs
ICpjb2RlQmxvY2ssICIgaW5kZWZpbml0ZWx5IGJlY2F1c2UgdGhlcmUgd2FzIGFuIEZUTCBmYWls
dXJlLlxuIik7Ci0gICAgICAgIGppdENvZGUtPmRvbnRPcHRpbWl6ZUFueXRpbWVTb29uKGNvZGVC
bG9jayk7CisgICAgLy8gLSBJZiB3ZSBkb24ndCBoYXZlIGFuIEZUTCBjb2RlIGJsb2NrLCB0aGVu
IHRyeSB0byBjb21waWxlIG9uZS4KKyAgICAvLyAtIElmIHdlIGRvIGhhdmUgYW4gRlRMIGNvZGUg
YmxvY2ssIHRoZW4gdHJ5IHRvIGVudGVyIGZvciBhIHdoaWxlLgorICAgIC8vIC0gSWYgd2UgY291
bGRuJ3QgZW50ZXIgZm9yIGEgd2hpbGUsIHRoZW4gdHJpZ2dlciBPU1IgZW50cnkuCisgICAgCisg
ICAgdHJpZ2dlckZUTFJlcGxhY2VtZW50Q29tcGlsZSh2bSwgY29kZUJsb2NrLCBqaXRDb2RlKTsK
KworICAgIGlmICghY29kZUJsb2NrLT5oYXNPcHRpbWl6ZWRSZXBsYWNlbWVudCgpKQogICAgICAg
ICByZXR1cm4gMDsKLSAgICB9CiAgICAgCi0gICAgaWYgKCFqaXRDb2RlLT5jaGVja0lmT3B0aW1p
emF0aW9uVGhyZXNob2xkUmVhY2hlZChjb2RlQmxvY2spKSB7Ci0gICAgICAgIGlmIChPcHRpb25z
Ojp2ZXJib3NlT1NSKCkpCi0gICAgICAgICAgICBkYXRhTG9nKCJDaG9vc2luZyBub3QgdG8gRlRM
LW9wdGltaXplICIsICpjb2RlQmxvY2ssICIgeWV0LlxuIik7CisgICAgaWYgKGppdENvZGUtPm9z
ckVudHJ5UmV0cnkgPCBPcHRpb25zOjpmdGxPU1JFbnRyeVJldHJ5VGhyZXNob2xkKCkpIHsKKyAg
ICAgICAgaml0Q29kZS0+b3NyRW50cnlSZXRyeSsrOwogICAgICAgICByZXR1cm4gMDsKICAgICB9
CiAgICAgCi0gICAgV29ya2xpc3QqIHdvcmtsaXN0ID0gZXhpc3RpbmdHbG9iYWxGVExXb3JrbGlz
dE9yTnVsbCgpOwotCisgICAgLy8gSXQncyB0aW1lIHRvIHRyeSB0byBjb21waWxlIGNvZGUgZm9y
IE9TUiBlbnRyeS4KICAgICBXb3JrbGlzdDo6U3RhdGUgd29ya2xpc3RTdGF0ZTsKLSAgICBpZiAo
d29ya2xpc3QpIHsKKyAgICBpZiAoV29ya2xpc3QqIHdvcmtsaXN0ID0gZXhpc3RpbmdHbG9iYWxG
VExXb3JrbGlzdE9yTnVsbCgpKSB7CiAgICAgICAgIHdvcmtsaXN0U3RhdGUgPSB3b3JrbGlzdC0+
Y29tcGxldGVBbGxSZWFkeVBsYW5zRm9yVk0oCiAgICAgICAgICAgICAqdm0sIENvbXBpbGF0aW9u
S2V5KGNvZGVCbG9jay0+YmFzZWxpbmVWZXJzaW9uKCksIEZUTEZvck9TUkVudHJ5TW9kZSkpOwog
ICAgIH0gZWxzZQogICAgICAgICB3b3JrbGlzdFN0YXRlID0gV29ya2xpc3Q6Ok5vdEtub3duOwog
ICAgIAotICAgIGlmICh3b3JrbGlzdFN0YXRlID09IFdvcmtsaXN0OjpDb21waWxpbmcpIHsKLSAg
ICAgICAgQVNTRVJUKCFqaXRDb2RlLT5vc3JFbnRyeUJsb2NrKTsKLSAgICAgICAgaml0Q29kZS0+
c2V0T3B0aW1pemF0aW9uVGhyZXNob2xkQmFzZWRPbkNvbXBpbGF0aW9uUmVzdWx0KAotICAgICAg
ICAgICAgY29kZUJsb2NrLCBDb21waWxhdGlvbkRlZmVycmVkKTsKKyAgICBpZiAod29ya2xpc3RT
dGF0ZSA9PSBXb3JrbGlzdDo6Q29tcGlsaW5nKQogICAgICAgICByZXR1cm4gMDsKLSAgICB9CiAg
ICAgCiAgICAgaWYgKENvZGVCbG9jayogZW50cnlCbG9jayA9IGppdENvZGUtPm9zckVudHJ5Qmxv
Y2suZ2V0KCkpIHsKICAgICAgICAgdm9pZCogYWRkcmVzcyA9IEZUTDo6cHJlcGFyZU9TUkVudHJ5
KAogICAgICAgICAgICAgZXhlYywgY29kZUJsb2NrLCBlbnRyeUJsb2NrLCBieXRlY29kZUluZGV4
LCBzdHJlYW1JbmRleCk7Ci0gICAgICAgIGlmIChhZGRyZXNzKSB7Ci0gICAgICAgICAgICBqaXRD
b2RlLT5vcHRpbWl6ZVNvb24oY29kZUJsb2NrKTsKKyAgICAgICAgaWYgKGFkZHJlc3MpCiAgICAg
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y2hhcio+KGFkZHJlc3MpOwotICAgICAgICB9CiAg
ICAgICAgIAogICAgICAgICBGVEw6OkZvck9TUkVudHJ5SklUQ29kZSogZW50cnlDb2RlID0gZW50
cnlCbG9jay0+aml0Q29kZSgpLT5mdGxGb3JPU1JFbnRyeSgpOwogICAgICAgICBlbnRyeUNvZGUt
PmNvdW50RW50cnlGYWlsdXJlKCk7CiAgICAgICAgIGlmIChlbnRyeUNvZGUtPmVudHJ5RmFpbHVy
ZUNvdW50KCkgPAotICAgICAgICAgICAgT3B0aW9uczo6ZnRsT1NSRW50cnlGYWlsdXJlQ291bnRG
b3JSZW9wdGltaXphdGlvbigpKSB7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGppdENvZGUt
Pm9wdGltaXplU29vbihjb2RlQmxvY2spOworICAgICAgICAgICAgT3B0aW9uczo6ZnRsT1NSRW50
cnlGYWlsdXJlQ291bnRGb3JSZW9wdGltaXphdGlvbigpKQogICAgICAgICAgICAgcmV0dXJuIDA7
Ci0gICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIC8vIE9TUiBlbnRyeSBmYWlsZWQuIE9oIG5v
ISBUaGlzIGltcGxpZXMgdGhhdCB3ZSBuZWVkIHRvIHJldHJ5LiBXZSByZXRyeQogICAgICAgICAv
LyB3aXRob3V0IGV4cG9uZW50aWFsIGJhY2tvZmYgYW5kIHdlIG9ubHkgZG8gdGhpcyBmb3IgdGhl
IGVudHJ5IGNvZGUgYmxvY2suCiAgICAgICAgIGppdENvZGUtPm9zckVudHJ5QmxvY2suY2xlYXIo
KTsKLSAgICAgICAgCi0gICAgICAgIGppdENvZGUtPm9wdGltaXplQWZ0ZXJXYXJtVXAoY29kZUJs
b2NrKTsKKyAgICAgICAgaml0Q29kZS0+b3NyRW50cnlSZXRyeSA9IDA7CiAgICAgICAgIHJldHVy
biAwOwogICAgIH0KICAgICAKQEAgLTEyNTIsNyArMTI0Nyw4IEBAIGNoYXIqIEpJVF9PUEVSQVRJ
T04gdHJpZ2dlck9TUkVudHJ5Tm93KAogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICAv
LyBUaGUgZmlyc3Qgb3JkZXIgb2YgYnVzaW5lc3MgaXMgdG8gdHJpZ2dlciBhIGZvci1lbnRyeSBj
b21waWxlLgorICAgIC8vIFdlIGFyZW4ndCBjb21waWxpbmcgYW5kIGhhdmVuJ3QgY29tcGlsZWQg
YW55dGhpbmcgZm9yIE9TUiBlbnRyeS4gU28sIHRyeSB0byBjb21waWxlCisgICAgLy8gc29tZXRo
aW5nLgogICAgIE9wZXJhbmRzPEpTVmFsdWU+IG11c3RIYW5kbGVWYWx1ZXM7CiAgICAgaml0Q29k
ZS0+cmVjb25zdHJ1Y3QoCiAgICAgICAgIGV4ZWMsIGNvZGVCbG9jaywgQ29kZU9yaWdpbihieXRl
Y29kZUluZGV4KSwgc3RyZWFtSW5kZXgsIG11c3RIYW5kbGVWYWx1ZXMpOwpAQCAtMTI2MCwyNCAr
MTI1Niw2IEBAIGNoYXIqIEpJVF9PUEVSQVRJT04gdHJpZ2dlck9TUkVudHJ5Tm93KAogICAgICAg
ICAqdm0sIGNvZGVCbG9jay0+bmV3UmVwbGFjZW1lbnQoKS5nZXQoKSwgY29kZUJsb2NrLCBGVExG
b3JPU1JFbnRyeU1vZGUsIGJ5dGVjb2RlSW5kZXgsCiAgICAgICAgIG11c3RIYW5kbGVWYWx1ZXMs
IFRvRlRMRm9yT1NSRW50cnlEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZShjb2Rl
QmxvY2spKTsKICAgICAKLSAgICAvLyBCdXQgd2UgYWxzbyB3YW50IHRvIHRyaWdnZXIgYSByZXBs
YWNlbWVudCBjb21waWxlLiBPZiBjb3Vyc2UsIHdlIGRvbid0IHdhbnQgdG8KLSAgICAvLyB0cmln
Z2VyIGl0IGlmIHdlIGRvbid0IG5lZWQgdG8uIE5vdGUgdGhhdCB0aGlzIGlzIGtpbmQgb2Ygd2Vp
cmQgYmVjYXVzZSB3ZSBtaWdodAotICAgIC8vIGhhdmUganVzdCBmaW5pc2hlZCBhbiBGVEwgY29t
cGlsZSBhbmQgdGhhdCBjb21waWxlIGZhaWxlZCBvciB3YXMgaW52YWxpZGF0ZWQuCi0gICAgLy8g
QnV0IHRoaXMgc2VlbXMgdW5jb21tb24gZW5vdWdoIHRoYXQgd2Ugc29ydCBvZiBkb24ndCBjYXJl
LiBJdCdzIGNlcnRhaW5seSBzb3VuZAotICAgIC8vIHRvIGZpcmUgb2ZmIGFub3RoZXIgY29tcGls
ZSByaWdodCBub3cgc28gbG9uZyBhcyB3ZSdyZSBub3QgYWxyZWFkeSBjb21waWxpbmcgYW5kCi0g
ICAgLy8gd2UgZG9uJ3QgYWxyZWFkeSBoYXZlIGFuIG9wdGltaXplZCByZXBsYWNlbWVudC4gTm90
ZSwgd2UgZG9uJ3QgZG8gdGhpcyBmb3IKLSAgICAvLyBvYnZpb3VzbHkgYmFkIGNhc2VzIGxpa2Ug
Z2xvYmFsIGNvZGUsIHdoZXJlIHdlIGtub3cgdGhhdCB0aGVyZSBpcyBhIHNsaW0gY2hhbmNlCi0g
ICAgLy8gb2YgdGhpcyBjb2RlIGJlaW5nIGludm9rZWQgZXZlciBhZ2Fpbi4KLSAgICBDb21waWxh
dGlvbktleSBrZXlGb3JSZXBsYWNlbWVudChjb2RlQmxvY2stPmJhc2VsaW5lVmVyc2lvbigpLCBG
VExNb2RlKTsKLSAgICBpZiAoY29kZUJsb2NrLT5jb2RlVHlwZSgpICE9IEdsb2JhbENvZGUKLSAg
ICAgICAgJiYgIWNvZGVCbG9jay0+aGFzT3B0aW1pemVkUmVwbGFjZW1lbnQoKQotICAgICAgICAm
JiAoIXdvcmtsaXN0Ci0gICAgICAgICAgICB8fCB3b3JrbGlzdC0+Y29tcGlsYXRpb25TdGF0ZShr
ZXlGb3JSZXBsYWNlbWVudCkgPT0gV29ya2xpc3Q6Ok5vdEtub3duKSkgewotICAgICAgICBjb21w
aWxlKAotICAgICAgICAgICAgKnZtLCBjb2RlQmxvY2stPm5ld1JlcGxhY2VtZW50KCkuZ2V0KCks
IGNvZGVCbG9jaywgRlRMTW9kZSwgVUlOVF9NQVgsCi0gICAgICAgICAgICBPcGVyYW5kczxKU1Zh
bHVlPigpLCBUb0ZUTERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjazo6Y3JlYXRlKGNvZGVCbG9j
aykpOwotICAgIH0KLSAgICAKICAgICBpZiAoZm9yRW50cnlSZXN1bHQgIT0gQ29tcGlsYXRpb25T
dWNjZXNzZnVsKQogICAgICAgICByZXR1cm4gMDsKICAgICAKQEAgLTEyODYsMTAgKzEyNjQsNiBA
QCBjaGFyKiBKSVRfT1BFUkFUSU9OIHRyaWdnZXJPU1JFbnRyeU5vdygKICAgICAvLyBXZSBzaWdu
YWwgdG8gdHJ5IGFnYWluIGFmdGVyIGEgd2hpbGUgaWYgdGhhdCBoYXBwZW5zLgogICAgIHZvaWQq
IGFkZHJlc3MgPSBGVEw6OnByZXBhcmVPU1JFbnRyeSgKICAgICAgICAgZXhlYywgY29kZUJsb2Nr
LCBqaXRDb2RlLT5vc3JFbnRyeUJsb2NrLmdldCgpLCBieXRlY29kZUluZGV4LCBzdHJlYW1JbmRl
eCk7Ci0gICAgaWYgKGFkZHJlc3MpCi0gICAgICAgIGppdENvZGUtPm9wdGltaXplU29vbihjb2Rl
QmxvY2spOwotICAgIGVsc2UKLSAgICAgICAgaml0Q29kZS0+b3B0aW1pemVBZnRlcldhcm1VcChj
b2RlQmxvY2spOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxjaGFyKj4oYWRkcmVzcyk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVG9GVExGb3JPU1JFbnRyeURlZmVy
cmVkQ29tcGlsYXRpb25DYWxsYmFjay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdUb0ZUTEZvck9TUkVudHJ5RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNr
LmNwcAkocmV2aXNpb24gMTYzNTEzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdU
b0ZUTEZvck9TUkVudHJ5RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNzMsMTMgKzczLDI0IEBAIHZvaWQgVG9GVExGb3JPU1JFbnRyeURlZmVycmVkQ29t
cGlsYXRpb24KICAgICAgICAgICAgICIpIHJlc3VsdDogIiwgcmVzdWx0LCAiXG4iKTsKICAgICB9
CiAgICAgCi0gICAgaWYgKHJlc3VsdCA9PSBDb21waWxhdGlvblN1Y2Nlc3NmdWwpCi0gICAgICAg
IG1fZGZnQ29kZUJsb2NrLT5qaXRDb2RlKCktPmRmZygpLT5vc3JFbnRyeUJsb2NrID0gY29kZUJs
b2NrOworICAgIEpJVENvZGUqIGppdENvZGUgPSBtX2RmZ0NvZGVCbG9jay0+aml0Q29kZSgpLT5k
ZmcoKTsKKyAgICAgICAgCisgICAgc3dpdGNoIChyZXN1bHQpIHsKKyAgICBjYXNlIENvbXBpbGF0
aW9uU3VjY2Vzc2Z1bDoKKyAgICAgICAgaml0Q29kZS0+b3NyRW50cnlCbG9jayA9IGNvZGVCbG9j
azsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgQ29tcGlsYXRpb25GYWlsZWQ6CisgICAgICAg
IGppdENvZGUtPm9zckVudHJ5UmV0cnkgPSAwOworICAgICAgICBqaXRDb2RlLT5hYmFuZG9uT1NS
RW50cnkgPSB0cnVlOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBDb21waWxhdGlvbkRlZmVy
cmVkOgorICAgICAgICByZXR1cm47CisgICAgY2FzZSBDb21waWxhdGlvbkludmFsaWRhdGVkOgor
ICAgICAgICBqaXRDb2RlLT5vc3JFbnRyeVJldHJ5ID0gMDsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KICAgICAKLSAgICAvLyBGSVhNRTogaWYgd2UgZmFpbGVkLCB3ZSBtaWdodCB3YW50IHRvIGp1
c3QgdHVybiBvZmYgT1NSIGVudHJ5IHJhdGhlciB0aGFuCi0gICAgLy8gdG90YWxseSB0dXJuaW5n
IG9mZiB0aWVyLXVwLgotICAgIG1fZGZnQ29kZUJsb2NrLT5qaXRDb2RlKCktPmRmZygpLT5zZXRP
cHRpbWl6YXRpb25UaHJlc2hvbGRCYXNlZE9uQ29tcGlsYXRpb25SZXN1bHQoCi0gICAgICAgIG1f
ZGZnQ29kZUJsb2NrLmdldCgpLCByZXN1bHQpOworICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiB9CiAKIH0gfSAvLyBKU0M6OkRGRwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT3B0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL09wdGlvbnMuaAkocmV2aXNpb24gMTYzNTEzKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvT3B0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOTcsNiArMTk3LDcgQEAg
dHlwZWRlZiBPcHRpb25SYW5nZSBvcHRpb25SYW5nZTsKICAgICB2KGludDMyLCBmdGxUaWVyVXBD
b3VudGVySW5jcmVtZW50Rm9yTG9vcCwgMSkgXAogICAgIHYoaW50MzIsIGZ0bFRpZXJVcENvdW50
ZXJJbmNyZW1lbnRGb3JSZXR1cm4sIDE1KSBcCiAgICAgdih1bnNpZ25lZCwgZnRsT1NSRW50cnlG
YWlsdXJlQ291bnRGb3JSZW9wdGltaXphdGlvbiwgMTUpIFwKKyAgICB2KHVuc2lnbmVkLCBmdGxP
U1JFbnRyeVJldHJ5VGhyZXNob2xkLCAxMDApIFwKICAgICBcCiAgICAgdihpbnQzMiwgZXZhbFRo
cmVzaG9sZE11bHRpcGxpZXIsIDEwKSBcCiAgICAgXAo=
</data>
<flag name="review"
          id="247312"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>