<?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>28332</bug_id>
          
          <creation_ts>2009-08-14 17:14:52 -0700</creation_ts>
          <short_desc>REGRESSION: significant slowdown on Celtic Kane &quot;AJAX declaration&quot; subtest</short_desc>
          <delta_ts>2009-08-20 22:50:32 -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>PC</rep_platform>
          <op_sys>OS X 10.5</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>
          <dependson>28442</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Maciej Stachowiak">mjs</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>ap</cc>
    
    <cc>barraclough</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>140390</commentid>
    <comment_count>0</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-08-14 17:14:52 -0700</bug_when>
    <thetext>http://www.betanews.com/article/Safari-403-speed-gains-hobbled-by-unexplained-poor-AJAX-performance/1250108985

This page claims: &quot;Specifically, a heat where Safari 4 build 530.19 was timed at 23 ms, for a score of 8.96(almost nine times faster than IE7 on Vista), yielded a time of 371 ms (0.56) for build 531.9.1.&quot;

We have confirmation of a serious regression on both Mac and Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140391</commentid>
    <comment_count>1</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-08-14 17:16:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/7144974&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140396</commentid>
    <comment_count>2</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-08-14 17:36:00 -0700</bug_when>
    <thetext>Radar bug closed as duplicate of &lt;rdar://problem/7141850&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141751</commentid>
    <comment_count>3</comment_count>
      <attachid>35189</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-08-20 00:13:14 -0700</bug_when>
    <thetext>Created attachment 35189
First pass at fixing regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141753</commentid>
    <comment_count>4</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-08-20 00:20:15 -0700</bug_when>
    <thetext>I&apos;d appreciate it if folk could have a look at this first iteration of a fix for this regression.  It&apos;s actually quite straight forward in the end, it&apos;s memory neutral (actually due to what happens currently it&apos;s probably a memory win in the effected cases), and is a 1% progression on V8.

There is some gnarlyness to it though -- it uses a const_cast to be able to create the necessary pair for the hash lookup which is safe, but really really icky; it also adds StructureTransitionTable functions to Structure.h to allow inlining, but having seen performance i may try making them non-inlined and see if it&apos;s survivable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141807</commentid>
    <comment_count>5</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-08-20 22:50:32 -0700</bug_when>
    <thetext>Sigh, the info here was lost :-(

Bug fix (and a couple of followup patches) landed in r47601, 47604, and 47605</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>35189</attachid>
            <date>2009-08-20 00:13:14 -0700</date>
            <delta_ts>2009-08-20 00:13:14 -0700</delta_ts>
            <desc>First pass at fixing regression.</desc>
            <filename>bug-28332-20090820001313.patch</filename>
            <type>text/plain</type>
            <size>12245</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cCBiL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAppbmRleCA4MzUxZjgzLi5lYjRkZDRkIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKKysrIGIvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZXhwCkBAIC0yNjIsNiArMjYyLDcgQEAgX19aTjNKU0M5TWFya1N0
YWNrMTBzX3BhZ2VTaXplRQogX19aTjNKU0M5TWFya1N0YWNrMTJyZWxlYXNlU3RhY2tFUHZtCiBf
X1pOM0pTQzlNYXJrU3RhY2sxM2FsbG9jYXRlU3RhY2tFbQogX19aTjNKU0M5TWFya1N0YWNrMThp
bml0aWFsaXplUGFnZXNpemVFdgorX19aTjNKU0M5U3RydWN0dXJlMTNoYXNUcmFuc2l0aW9uRVBL
TlNfN1VTdHJpbmczUmVwRWoKIF9fWk4zSlNDOVN0cnVjdHVyZTE3c3RvcElnbm9yaW5nTGVha3NF
dgogX19aTjNKU0M5U3RydWN0dXJlMThzdGFydElnbm9yaW5nTGVha3NFdgogX19aTjNKU0M5U3Ry
dWN0dXJlMjFhZGRQcm9wZXJ0eVRyYW5zaXRpb25FUFMwX1JLTlNfMTBJZGVudGlmaWVyRWpQTlNf
NkpTQ2VsbEVSbQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5o
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCmluZGV4IDg1NmM1YTEuLjQ1OTc1
YTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKQEAgLTQ2Nyw3ICs0NjcsMTkgQEAgaW5s
aW5lIHZvaWQgSlNPYmplY3Q6OnB1dERpcmVjdEludGVybmFsKGNvbnN0IElkZW50aWZpZXImIHBy
b3BlcnR5TmFtZSwgSlNWYWx1ZQogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgLy8gSWYg
d2UgaGF2ZSBhIHNwZWNpZmljIGZ1bmN0aW9uLCB3ZSBtYXkgaGF2ZSBnb3QgdG8gdGhpcyBwb2lu
dCBpZiB0aGVyZSBpcworICAgIC8vIGFscmVhZHkgYSB0cmFuc2l0aW9uIHdpdGggdGhlIGNvcnJl
Y3QgcHJvcGVydHkgbmFtZSBhbmQgYXR0cmlidXRlcywgYnV0IAorICAgIC8vIHNwZWNpYWxpemVk
IHRvIGEgZGlmZmVyZW50IGZ1bmN0aW9uLiAgSW4gdGhpcyBjYXNlIHdlIGp1c3Qgd2FudCB0byBn
aXZlIHVwCisgICAgLy8gYW5kIGRlc3BlY2lhbGl6ZSB0aGUgdHJhbnNpdGlvbi4KKyAgICAvLyBU
aGlzIGlzIGRvbmUgYXV0b21hdGljYWxseSBvbmNlIHdlIGNsZWFyIHRoZSBjdXJyZW50IHNwZWNp
ZmljRnVuY3Rpb24gdmFsdWUKKyAgICAvLyBhcyB3ZSB3aWxsIHRoZW4gYWRkIGFuIHVuc3BlY2lh
bGl6ZWQgdHJhbnNpdGlvbiwgYW5kIGFueSBzdWJzZXF1ZW50IGxvb2t1cAorICAgIC8vIGluIFN0
cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZSB3aWxsIGJl
IGFibGUgdG8gZmFsbAorICAgIC8vIGJhY2sgb24gdGhlIGdlbmVyaWMgdHJhbnNpdGlvbi4KKyAg
ICBpZiAoc3BlY2lmaWNGdW5jdGlvbiAmJiBtX3N0cnVjdHVyZS0+aGFzVHJhbnNpdGlvbihwcm9w
ZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpKQorICAgICAgICBzcGVjaWZpY0Z1bmN0aW9uID0gMDsKKwog
ICAgIFJlZlB0cjxTdHJ1Y3R1cmU+IHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6YWRkUHJvcGVydHlU
cmFuc2l0aW9uKG1fc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMsIHNwZWNpZmlj
RnVuY3Rpb24sIG9mZnNldCk7CisKICAgICBpZiAoY3VycmVudENhcGFjaXR5ICE9IHN0cnVjdHVy
ZS0+cHJvcGVydHlTdG9yYWdlQ2FwYWNpdHkoKSkKICAgICAgICAgYWxsb2NhdGVQcm9wZXJ0eVN0
b3JhZ2UoY3VycmVudENhcGFjaXR5LCBzdHJ1Y3R1cmUtPnByb3BlcnR5U3RvcmFnZUNhcGFjaXR5
KCkpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAg
Yi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKaW5kZXggNzg5NDEzMy4uNDA5
M2NiNiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCisr
KyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTU5LDggKzE1OSw4IEBA
IFN0cnVjdHVyZTo6flN0cnVjdHVyZSgpCiAgICAgICAgIGlmIChtX3ByZXZpb3VzLT5tX3VzaW5n
U2luZ2xlVHJhbnNpdGlvblNsb3QpIHsKICAgICAgICAgICAgIG1fcHJldmlvdXMtPm1fdHJhbnNp
dGlvbnMuc2luZ2xlVHJhbnNpdGlvbiA9IDA7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICBBU1NFUlQobV9wcmV2aW91cy0+bV90cmFuc2l0aW9ucy50YWJsZS0+Y29udGFpbnMobWFrZV9w
YWlyKG1fbmFtZUluUHJldmlvdXMuZ2V0KCksIG1ha2VfcGFpcihtX2F0dHJpYnV0ZXNJblByZXZp
b3VzLCBtX3NwZWNpZmljVmFsdWVJblByZXZpb3VzKSkpKTsKLSAgICAgICAgICAgIG1fcHJldmlv
dXMtPm1fdHJhbnNpdGlvbnMudGFibGUtPnJlbW92ZShtYWtlX3BhaXIobV9uYW1lSW5QcmV2aW91
cy5nZXQoKSwgbWFrZV9wYWlyKG1fYXR0cmlidXRlc0luUHJldmlvdXMsIG1fc3BlY2lmaWNWYWx1
ZUluUHJldmlvdXMpKSk7CisgICAgICAgICAgICBBU1NFUlQobV9wcmV2aW91cy0+bV90cmFuc2l0
aW9ucy50YWJsZS0+Y29udGFpbnMobWFrZV9wYWlyKG1fbmFtZUluUHJldmlvdXMuZ2V0KCksIG1f
YXR0cmlidXRlc0luUHJldmlvdXMpLCBtX3NwZWNpZmljVmFsdWVJblByZXZpb3VzKSk7CisgICAg
ICAgICAgICBtX3ByZXZpb3VzLT5tX3RyYW5zaXRpb25zLnRhYmxlLT5yZW1vdmUobWFrZV9wYWly
KG1fbmFtZUluUHJldmlvdXMuZ2V0KCksIG1fYXR0cmlidXRlc0luUHJldmlvdXMpLCBtX3NwZWNp
ZmljVmFsdWVJblByZXZpb3VzKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMzkyLDcgKzM5Miw3
IEBAIFBhc3NSZWZQdHI8U3RydWN0dXJlPiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlv
blRvRXhpc3RpbmdTdHJ1Y3R1cmUoU3RydWN0CiAgICAgICAgICAgICByZXR1cm4gZXhpc3RpbmdU
cmFuc2l0aW9uOwogICAgICAgICB9CiAgICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKFN0cnVjdHVy
ZSogZXhpc3RpbmdUcmFuc2l0aW9uID0gc3RydWN0dXJlLT5tX3RyYW5zaXRpb25zLnRhYmxlLT5n
ZXQobWFrZV9wYWlyKHByb3BlcnR5TmFtZS51c3RyaW5nKCkucmVwKCksIG1ha2VfcGFpcihhdHRy
aWJ1dGVzLCBzcGVjaWZpY1ZhbHVlKSkpKSB7CisgICAgICAgIGlmIChTdHJ1Y3R1cmUqIGV4aXN0
aW5nVHJhbnNpdGlvbiA9IHN0cnVjdHVyZS0+bV90cmFuc2l0aW9ucy50YWJsZS0+Z2V0KG1ha2Vf
cGFpcihwcm9wZXJ0eU5hbWUudXN0cmluZygpLnJlcCgpLCBhdHRyaWJ1dGVzKSwgc3BlY2lmaWNW
YWx1ZSkpIHsKICAgICAgICAgICAgIEFTU0VSVChleGlzdGluZ1RyYW5zaXRpb24tPm1fb2Zmc2V0
ICE9IG5vT2Zmc2V0KTsKICAgICAgICAgICAgIG9mZnNldCA9IGV4aXN0aW5nVHJhbnNpdGlvbi0+
bV9vZmZzZXQ7CiAgICAgICAgICAgICByZXR1cm4gZXhpc3RpbmdUcmFuc2l0aW9uOwpAQCAtNDU3
LDkgKzQ1Nyw5IEBAIFBhc3NSZWZQdHI8U3RydWN0dXJlPiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5
VHJhbnNpdGlvbihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uCiAgICAgICAgIHN0cnVjdHVyZS0+
bV91c2luZ1NpbmdsZVRyYW5zaXRpb25TbG90ID0gZmFsc2U7CiAgICAgICAgIFN0cnVjdHVyZVRy
YW5zaXRpb25UYWJsZSogdHJhbnNpdGlvblRhYmxlID0gbmV3IFN0cnVjdHVyZVRyYW5zaXRpb25U
YWJsZTsKICAgICAgICAgc3RydWN0dXJlLT5tX3RyYW5zaXRpb25zLnRhYmxlID0gdHJhbnNpdGlv
blRhYmxlOwotICAgICAgICB0cmFuc2l0aW9uVGFibGUtPmFkZChtYWtlX3BhaXIoZXhpc3RpbmdU
cmFuc2l0aW9uLT5tX25hbWVJblByZXZpb3VzLmdldCgpLCBtYWtlX3BhaXIoZXhpc3RpbmdUcmFu
c2l0aW9uLT5tX2F0dHJpYnV0ZXNJblByZXZpb3VzLCBleGlzdGluZ1RyYW5zaXRpb24tPm1fc3Bl
Y2lmaWNWYWx1ZUluUHJldmlvdXMpKSwgZXhpc3RpbmdUcmFuc2l0aW9uKTsKKyAgICAgICAgdHJh
bnNpdGlvblRhYmxlLT5hZGQobWFrZV9wYWlyKGV4aXN0aW5nVHJhbnNpdGlvbi0+bV9uYW1lSW5Q
cmV2aW91cy5nZXQoKSwgZXhpc3RpbmdUcmFuc2l0aW9uLT5tX2F0dHJpYnV0ZXNJblByZXZpb3Vz
KSwgZXhpc3RpbmdUcmFuc2l0aW9uLCBleGlzdGluZ1RyYW5zaXRpb24tPm1fc3BlY2lmaWNWYWx1
ZUluUHJldmlvdXMpOwogICAgIH0KLSAgICBzdHJ1Y3R1cmUtPm1fdHJhbnNpdGlvbnMudGFibGUt
PmFkZChtYWtlX3BhaXIocHJvcGVydHlOYW1lLnVzdHJpbmcoKS5yZXAoKSwgbWFrZV9wYWlyKGF0
dHJpYnV0ZXMsIHNwZWNpZmljVmFsdWUpKSwgdHJhbnNpdGlvbi5nZXQoKSk7CisgICAgc3RydWN0
dXJlLT5tX3RyYW5zaXRpb25zLnRhYmxlLT5hZGQobWFrZV9wYWlyKHByb3BlcnR5TmFtZS51c3Ry
aW5nKCkucmVwKCksIGF0dHJpYnV0ZXMpLCB0cmFuc2l0aW9uLmdldCgpLCBzcGVjaWZpY1ZhbHVl
KTsKICAgICByZXR1cm4gdHJhbnNpdGlvbi5yZWxlYXNlKCk7CiB9CiAKQEAgLTgyNyw2ICs4Mjcs
MTYgQEAgc2l6ZV90IFN0cnVjdHVyZTo6cHV0KGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFt
ZSwgdW5zaWduZWQgYXR0cmlidXRlcywgSlNDZWwKICAgICByZXR1cm4gbmV3T2Zmc2V0OwogfQog
Citib29sIFN0cnVjdHVyZTo6aGFzVHJhbnNpdGlvbihjb25zdCBVU3RyaW5nOjpSZXAqIHJlcCwg
dW5zaWduZWQgYXR0cmlidXRlcykKK3sKKyAgICBpZiAobV91c2luZ1NpbmdsZVRyYW5zaXRpb25T
bG90KSB7CisgICAgICAgIHJldHVybiBtX3RyYW5zaXRpb25zLnNpbmdsZVRyYW5zaXRpb24gJiYK
KyAgICAgICAgICAgIG1fdHJhbnNpdGlvbnMuc2luZ2xlVHJhbnNpdGlvbi0+bV9uYW1lSW5QcmV2
aW91cy5nZXQoKSA9PSByZXAgJiYKKyAgICAgICAgICAgIG1fdHJhbnNpdGlvbnMuc2luZ2xlVHJh
bnNpdGlvbi0+bV9hdHRyaWJ1dGVzSW5QcmV2aW91cyA9PSBhdHRyaWJ1dGVzOworICAgIH0KKyAg
ICByZXR1cm4gbV90cmFuc2l0aW9ucy50YWJsZS0+aGFzVHJhbnNpdGlvbihtYWtlX3BhaXIoY29u
c3RfY2FzdDxVU3RyaW5nOjpSZXAqPihyZXApLCBhdHRyaWJ1dGVzKSk7Cit9CisKIHNpemVfdCBT
dHJ1Y3R1cmU6OnJlbW92ZShjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCiB7CiAgICAg
QVNTRVJUKCFwcm9wZXJ0eU5hbWUuaXNOdWxsKCkpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmUuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
LmgKaW5kZXggZjNhMGM3Yy4uYWI2MmFiNiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5o
CkBAIC0xMDUsNiArMTA1LDE1IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgQVNTRVJU
KCFwcm9wZXJ0eU5hbWUuaXNOdWxsKCkpOwogICAgICAgICAgICAgcmV0dXJuIGdldChwcm9wZXJ0
eU5hbWUuX3VzdHJpbmcucmVwKCksIGF0dHJpYnV0ZXMsIHNwZWNpZmljVmFsdWUpOwogICAgICAg
ICB9CisgICAgICAgIGJvb2wgdHJhbnNpdGlvbmVkRm9yKGNvbnN0IEpTQ2VsbCogc3BlY2lmaWNW
YWx1ZSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIG1fc3BlY2lmaWNWYWx1ZUluUHJl
dmlvdXMgPT0gc3BlY2lmaWNWYWx1ZTsKKyAgICAgICAgfQorICAgICAgICBib29sIGhhc1RyYW5z
aXRpb24oY29uc3QgVVN0cmluZzo6UmVwKiByZXAsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOworICAg
ICAgICBib29sIGhhc1RyYW5zaXRpb24oY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCB1
bnNpZ25lZCBhdHRyaWJ1dGVzKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gaGFzVHJh
bnNpdGlvbihwcm9wZXJ0eU5hbWUuX3VzdHJpbmcucmVwKCksIGF0dHJpYnV0ZXMpOworICAgICAg
ICB9CiAKICAgICAgICAgdm9pZCBnZXRFbnVtZXJhYmxlUHJvcGVydHlOYW1lcyhFeGVjU3RhdGUq
LCBQcm9wZXJ0eU5hbWVBcnJheSYsIEpTT2JqZWN0Kik7CiAKQEAgLTE2NiwxMiArMTc1LDEyIEBA
IG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIFJlZlB0cjxTdHJ1Y3R1cmU+IG1fcHJldmlvdXM7
CiAgICAgICAgIFJlZlB0cjxVU3RyaW5nOjpSZXA+IG1fbmFtZUluUHJldmlvdXM7CisgICAgICAg
IEpTQ2VsbCogbV9zcGVjaWZpY1ZhbHVlSW5QcmV2aW91czsKIAogICAgICAgICB1bmlvbiB7CiAg
ICAgICAgICAgICBTdHJ1Y3R1cmUqIHNpbmdsZVRyYW5zaXRpb247CiAgICAgICAgICAgICBTdHJ1
Y3R1cmVUcmFuc2l0aW9uVGFibGUqIHRhYmxlOwogICAgICAgICB9IG1fdHJhbnNpdGlvbnM7Ci0g
ICAgICAgIEpTQ2VsbCogbV9zcGVjaWZpY1ZhbHVlSW5QcmV2aW91czsKIAogICAgICAgICBSZWZQ
dHI8UHJvcGVydHlOYW1lQXJyYXlEYXRhPiBtX2NhY2hlZFByb3BlcnR5TmFtZUFycmF5RGF0YTsK
IApAQCAtMjMxLDcgKzI0MCwyNCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgICAgICBy
ZXR1cm4gbV9wcm9wZXJ0eVRhYmxlLT5lbnRyaWVzKClbZW50cnlJbmRleCAtIDFdLm9mZnNldDsK
ICAgICAgICAgfQogICAgIH0KKyAgICAKKyAgICBib29sIFN0cnVjdHVyZVRyYW5zaXRpb25UYWJs
ZTo6Y29udGFpbnMoY29uc3QgU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlSGFzaDo6S2V5JiBrZXks
IEpTQ2VsbCogc3BlY2lmaWNWYWx1ZSkKKyAgICB7CisgICAgICAgIGNvbnN0IFRyYW5zaXRpb25U
YWJsZTo6aXRlcmF0b3IgZmluZCA9IG1fdGFibGUuZmluZChrZXkpOworICAgICAgICBpZiAoZmlu
ZCA9PSBtX3RhYmxlLmVuZCgpKSB7CisgICAgICAgICAgICBBU1NFUlQoIW1fdGFibGUuY29udGFp
bnMoa2V5KSk7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICAgICAg
cmV0dXJuIGZpbmQtPnNlY29uZC5maXJzdCB8fCBmaW5kLT5zZWNvbmQuc2Vjb25kLT50cmFuc2l0
aW9uZWRGb3Ioc3BlY2lmaWNWYWx1ZSk7CisgICAgfQogCisgICAgU3RydWN0dXJlKiBTdHJ1Y3R1
cmVUcmFuc2l0aW9uVGFibGU6OmdldChjb25zdCBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGVIYXNo
OjpLZXkmIGtleSwgSlNDZWxsKiBzcGVjaWZpY1ZhbHVlKSBjb25zdAorICAgIHsKKyAgICAgICAg
VHJhbnNpdGlvbiB0cmFuc2l0aW9uID0gbV90YWJsZS5nZXQoa2V5KTsKKyAgICAgICAgaWYgKHRy
YW5zaXRpb24uc2Vjb25kICYmIHRyYW5zaXRpb24uc2Vjb25kLT50cmFuc2l0aW9uZWRGb3Ioc3Bl
Y2lmaWNWYWx1ZSkpCisgICAgICAgICAgICByZXR1cm4gdHJhbnNpdGlvbi5zZWNvbmQ7CisgICAg
ICAgIHJldHVybiB0cmFuc2l0aW9uLmZpcnN0OworICAgIH0KIH0gLy8gbmFtZXNwYWNlIEpTQwog
CiAjZW5kaWYgLy8gU3RydWN0dXJlX2gKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cnVjdHVyZVRyYW5zaXRpb25UYWJsZS5oCmluZGV4IDgwNGNiZWIuLjYzYzA1OTkgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzcs
NyArMzcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBTdHJ1Y3R1cmU7CiAKICAgICBz
dHJ1Y3QgU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlSGFzaCB7Ci0gICAgICAgIHR5cGVkZWYgc3Rk
OjpwYWlyPFJlZlB0cjxVU3RyaW5nOjpSZXA+LCBzdGQ6OnBhaXI8dW5zaWduZWQsIEpTQ2VsbCo+
ID4gS2V5OworICAgICAgICB0eXBlZGVmIHN0ZDo6cGFpcjxSZWZQdHI8VVN0cmluZzo6UmVwPiwg
dW5zaWduZWQ+IEtleTsKICAgICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgS2V5JiBw
KQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gcC5maXJzdC0+Y29tcHV0ZWRIYXNoKCk7
CkBAIC01MywyMCArNTMsNTggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBzdHJ1Y3QgU3RydWN0
dXJlVHJhbnNpdGlvblRhYmxlSGFzaFRyYWl0cyB7CiAgICAgICAgIHR5cGVkZWYgV1RGOjpIYXNo
VHJhaXRzPFJlZlB0cjxVU3RyaW5nOjpSZXA+ID4gRmlyc3RUcmFpdHM7Ci0gICAgICAgIHR5cGVk
ZWYgV1RGOjpHZW5lcmljSGFzaFRyYWl0czx1bnNpZ25lZD4gU2Vjb25kRmlyc3RUcmFpdHM7Ci0g
ICAgICAgIHR5cGVkZWYgV1RGOjpHZW5lcmljSGFzaFRyYWl0czxKU0NlbGwqPiBTZWNvbmRTZWNv
bmRUcmFpdHM7Ci0gICAgICAgIHR5cGVkZWYgc3RkOjpwYWlyPEZpcnN0VHJhaXRzOjpUcmFpdFR5
cGUsIHN0ZDo6cGFpcjxTZWNvbmRGaXJzdFRyYWl0czo6VHJhaXRUeXBlLCBTZWNvbmRTZWNvbmRU
cmFpdHM6OlRyYWl0VHlwZT4gPiBUcmFpdFR5cGU7CisgICAgICAgIHR5cGVkZWYgV1RGOjpHZW5l
cmljSGFzaFRyYWl0czx1bnNpZ25lZD4gU2Vjb25kVHJhaXRzOworICAgICAgICB0eXBlZGVmIHN0
ZDo6cGFpcjxGaXJzdFRyYWl0czo6VHJhaXRUeXBlLCBTZWNvbmRUcmFpdHM6OlRyYWl0VHlwZSA+
IFRyYWl0VHlwZTsKIAotICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJv
ID0gRmlyc3RUcmFpdHM6OmVtcHR5VmFsdWVJc1plcm8gJiYgU2Vjb25kRmlyc3RUcmFpdHM6OmVt
cHR5VmFsdWVJc1plcm8gJiYgU2Vjb25kU2Vjb25kVHJhaXRzOjplbXB0eVZhbHVlSXNaZXJvOwot
ICAgICAgICBzdGF0aWMgVHJhaXRUeXBlIGVtcHR5VmFsdWUoKSB7IHJldHVybiBzdGQ6Om1ha2Vf
cGFpcihGaXJzdFRyYWl0czo6ZW1wdHlWYWx1ZSgpLCBzdGQ6Om1ha2VfcGFpcihTZWNvbmRGaXJz
dFRyYWl0czo6ZW1wdHlWYWx1ZSgpLCBTZWNvbmRTZWNvbmRUcmFpdHM6OmVtcHR5VmFsdWUoKSkp
OyB9CisgICAgICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBGaXJzdFRy
YWl0czo6ZW1wdHlWYWx1ZUlzWmVybyAmJiBTZWNvbmRUcmFpdHM6OmVtcHR5VmFsdWVJc1plcm87
CisgICAgICAgIHN0YXRpYyBUcmFpdFR5cGUgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIHN0ZDo6bWFr
ZV9wYWlyKEZpcnN0VHJhaXRzOjplbXB0eVZhbHVlKCksIFNlY29uZFRyYWl0czo6ZW1wdHlWYWx1
ZSgpKTsgfQogCi0gICAgICAgIHN0YXRpYyBjb25zdCBib29sIG5lZWRzRGVzdHJ1Y3Rpb24gPSBG
aXJzdFRyYWl0czo6bmVlZHNEZXN0cnVjdGlvbiB8fCBTZWNvbmRGaXJzdFRyYWl0czo6bmVlZHNE
ZXN0cnVjdGlvbiB8fCBTZWNvbmRTZWNvbmRUcmFpdHM6Om5lZWRzRGVzdHJ1Y3Rpb247CisgICAg
ICAgIHN0YXRpYyBjb25zdCBib29sIG5lZWRzRGVzdHJ1Y3Rpb24gPSBGaXJzdFRyYWl0czo6bmVl
ZHNEZXN0cnVjdGlvbiB8fCBTZWNvbmRUcmFpdHM6Om5lZWRzRGVzdHJ1Y3Rpb247CiAKICAgICAg
ICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFRyYWl0VHlwZSYgc2xvdCkgeyBG
aXJzdFRyYWl0czo6Y29uc3RydWN0RGVsZXRlZFZhbHVlKHNsb3QuZmlyc3QpOyB9CiAgICAgICAg
IHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFRyYWl0VHlwZSYgdmFsdWUpIHsgcmV0
dXJuIEZpcnN0VHJhaXRzOjppc0RlbGV0ZWRWYWx1ZSh2YWx1ZS5maXJzdCk7IH0KICAgICB9Owog
Ci0gICAgdHlwZWRlZiBIYXNoTWFwPFN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZUhhc2g6OktleSwg
U3RydWN0dXJlKiwgU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlSGFzaCwgU3RydWN0dXJlVHJhbnNp
dGlvblRhYmxlSGFzaFRyYWl0cz4gU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOworICAgIGNsYXNz
IFN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZSB7CisgICAgICAgIHR5cGVkZWYgc3RkOjpwYWlyPFN0
cnVjdHVyZSosIFN0cnVjdHVyZSo+IFRyYW5zaXRpb247CisgICAgICAgIHR5cGVkZWYgSGFzaE1h
cDxTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGVIYXNoOjpLZXksIFRyYW5zaXRpb24sIFN0cnVjdHVy
ZVRyYW5zaXRpb25UYWJsZUhhc2gsIFN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZUhhc2hUcmFpdHM+
IFRyYW5zaXRpb25UYWJsZTsKKyAgICBwdWJsaWM6CisgICAgICAgIGlubGluZSBib29sIGNvbnRh
aW5zKGNvbnN0IFN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZUhhc2g6OktleSYga2V5LCBKU0NlbGwq
IHNwZWNpZmljVmFsdWUpOworICAgICAgICBpbmxpbmUgU3RydWN0dXJlKiBnZXQoY29uc3QgU3Ry
dWN0dXJlVHJhbnNpdGlvblRhYmxlSGFzaDo6S2V5JiBrZXksIEpTQ2VsbCogc3BlY2lmaWNWYWx1
ZSkgY29uc3Q7CisgICAgICAgIGJvb2wgaGFzVHJhbnNpdGlvbihjb25zdCBTdHJ1Y3R1cmVUcmFu
c2l0aW9uVGFibGVIYXNoOjpLZXkmIGtleSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJu
IG1fdGFibGUuY29udGFpbnMoa2V5KTsKKyAgICAgICAgfQorICAgICAgICB2b2lkIHJlbW92ZShj
b25zdCBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGVIYXNoOjpLZXkmIGtleSwgSlNDZWxsKiBzcGVj
aWZpY1ZhbHVlKQorICAgICAgICB7CisgICAgICAgICAgICBUcmFuc2l0aW9uVGFibGU6Oml0ZXJh
dG9yIGZpbmQgPSBtX3RhYmxlLmZpbmQoa2V5KTsKKyAgICAgICAgICAgIGlmICghc3BlY2lmaWNW
YWx1ZSkKKyAgICAgICAgICAgICAgICBmaW5kLT5zZWNvbmQuZmlyc3QgPSAwOworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgIGZpbmQtPnNlY29uZC5zZWNvbmQgPSAwOworICAgICAg
ICAgICAgaWYgKCFmaW5kLT5zZWNvbmQuZmlyc3QgJiYgIWZpbmQtPnNlY29uZC5zZWNvbmQpCisg
ICAgICAgICAgICAgICAgbV90YWJsZS5yZW1vdmUoZmluZCk7CisgICAgICAgIH0KKyAgICAgICAg
dm9pZCBhZGQoY29uc3QgU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlSGFzaDo6S2V5JiBrZXksIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBKU0NlbGwqIHNwZWNpZmljVmFsdWUpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGlmICghc3BlY2lmaWNWYWx1ZSkgeworICAgICAgICAgICAgICAgIFRyYW5zaXRp
b25UYWJsZTo6aXRlcmF0b3IgZmluZCA9IG1fdGFibGUuZmluZChrZXkpOworICAgICAgICAgICAg
ICAgIGlmIChmaW5kID09IG1fdGFibGUuZW5kKCkpCisgICAgICAgICAgICAgICAgICAgIG1fdGFi
bGUuYWRkKGtleSwgVHJhbnNpdGlvbihzdHJ1Y3R1cmUsIDApKTsKKyAgICAgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgICAgIGZpbmQtPnNlY29uZC5maXJzdCA9IHN0cnVjdHVyZTsK
KyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgLy8gSWYgd2UncmUgYWRkaW5n
IGEgdHJhbnNpdGlvbiB0byBhIHNwZWNpZmljIHZhbHVlLCB0aGVuIHRoZXJlIGNhbm5vdCBiZQor
ICAgICAgICAgICAgICAgIC8vIGFuIGV4aXN0aW5nIHRyYW5zaXRpb24KKyAgICAgICAgICAgICAg
ICBBU1NFUlQoIW1fdGFibGUuY29udGFpbnMoa2V5KSk7CisgICAgICAgICAgICAgICAgbV90YWJs
ZS5hZGQoa2V5LCBUcmFuc2l0aW9uKDAsIHN0cnVjdHVyZSkpOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgIAorCisgICAgICAgIH0KKyAgICBwcml2YXRlOgorICAgICAgICBUcmFuc2l0
aW9uVGFibGUgbV90YWJsZTsKKyAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0M=
</data>

          </attachment>
      

    </bug>

</bugzilla>