<?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>158543</bug_id>
          
          <creation_ts>2016-06-08 14:39:24 -0700</creation_ts>
          <short_desc>JSObject::reifyAllStaticProperties cleanup</short_desc>
          <delta_ts>2016-06-09 12:41:58 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1200605</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2016-06-08 14:39:24 -0700</bug_when>
    <thetext>- JSObject &amp; Structure contain fields labeled &apos;staticFunctionsReified&apos;, however reification now affects all properties, not just functions. Rename to &apos;staticPropertiesReified&apos;.
- reifyAllStaticProperties relies on a &apos;hasStaticProperties&apos; method on ClassInfo that walks the ClassInfo inheritance chain looking for static property tables. We can now more efficiently get this information from TypeInfo.
- reifyAllStaticProperties triggers a &apos;toUncacheableDictionaryTransition&apos;; this is overzealous, cacheable dictionary is sufficient - this is what we do in the case of DOM prototype property reification (see &apos;reifyStaticProperties&apos; in Lookup.h). (Changing this with an eye on switching DOM prototype property reification to use JSObject:: reifyAllStaticProperties, rather than having its own special purpose code path.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1200609</commentid>
    <comment_count>1</comment_count>
      <attachid>280842</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2016-06-08 14:50:54 -0700</bug_when>
    <thetext>Created attachment 280842
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1200615</commentid>
    <comment_count>2</comment_count>
      <attachid>280842</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-06-08 14:58:26 -0700</bug_when>
    <thetext>Comment on attachment 280842
Fix

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:9
&gt; +        affects all properties, not just functions. Rename to &apos;staticPropertiesReified&apos;.

Missing space?  Or is this a tab?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1200734</commentid>
    <comment_count>3</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2016-06-08 22:42:24 -0700</bug_when>
    <thetext>Committed revision 201853.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1200850</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-09 09:21:52 -0700</bug_when>
    <thetext>Only 1 data point so it could be noise but it looks like this may be a ~4% regression on Dromaeo DOM Core (especially the DOM Modification and DOM query subtests) on MacBookPro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1200925</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-09 12:41:58 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Only 1 data point so it could be noise but it looks like this may be a ~4%
&gt; regression on Dromaeo DOM Core (especially the DOM Modification and DOM
&gt; query subtests) on MacBookPro.

Looks like this was noise, the next data point looks much better.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280842</attachid>
            <date>2016-06-08 14:50:54 -0700</date>
            <delta_ts>2016-06-08 14:58:26 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>158543.2.patch</filename>
            <type>text/plain</type>
            <size>11005</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjAxODM0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBA
CisyMDE2LTA2LTA4ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4K
KworICAgICAgICBKU09iamVjdDo6cmVpZnlBbGxTdGF0aWNQcm9wZXJ0aWVzIGNsZWFudXAKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODU0MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gSlNPYmplY3Qg
JiBTdHJ1Y3R1cmUgY29udGFpbiBmaWVsZHMgbGFiZWxlZCAnc3RhdGljRnVuY3Rpb25zUmVpZmll
ZCcsIGhvd2V2ZXIgcmVpZmljYXRpb24gbm93CisgICAgICAgIGFmZmVjdHMgYWxsIHByb3BlcnRp
ZXMsIG5vdCBqdXN0IGZ1bmN0aW9ucy4gUmVuYW1lIHRvICdzdGF0aWNQcm9wZXJ0aWVzUmVpZmll
ZCcuCisgICAgICAgIC0gcmVpZnlBbGxTdGF0aWNQcm9wZXJ0aWVzIHJlbGllcyBvbiBhICdoYXNT
dGF0aWNQcm9wZXJ0aWVzJyBtZXRob2Qgb24gQ2xhc3NJbmZvIHRoYXQgd2Fsa3MgdGhlCisgICAg
ICAgICAgQ2xhc3NJbmZvIGluaGVyaXRhbmNlIGNoYWluIGxvb2tpbmcgZm9yIHN0YXRpYyBwcm9w
ZXJ0eSB0YWJsZXMuIFdlIGNhbiBub3cgbW9yZSBlZmZpY2llbnRseQorICAgICAgICAgIGdldCB0
aGlzIGluZm9ybWF0aW9uIGZyb20gVHlwZUluZm8uCisgICAgICAgIC0gcmVpZnlBbGxTdGF0aWNQ
cm9wZXJ0aWVzIHRyaWdnZXJzIGEgJ3RvVW5jYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbic7
IHRoaXMgaXMgb3ZlcnplYWxvdXMsCisgICAgICAgICAgY2FjaGVhYmxlIGRpY3Rpb25hcnkgaXMg
c3VmZmljaWVudCAtIHRoaXMgaXMgd2hhdCB3ZSBkbyBpbiB0aGUgY2FzZSBvZiBET00gcHJvdG90
eXBlIHByb3BlcnR5CisgICAgICAgICAgcmVpZmljYXRpb24gKHNlZSAncmVpZnlTdGF0aWNQcm9w
ZXJ0aWVzJyBpbiBMb29rdXAuaCkuIChDaGFuZ2luZyB0aGlzIHdpdGggYW4gZXllIG9uIHN3aXRj
aGluZworICAgICAgICAgIERPTSBwcm90b3R5cGUgcHJvcGVydHkgcmVpZmljYXRpb24gdG8gdXNl
IEpTT2JqZWN0OjogcmVpZnlBbGxTdGF0aWNQcm9wZXJ0aWVzLCByYXRoZXIgdGhhbgorICAgICAg
ICAgIGhhdmluZyBpdHMgb3duIHNwZWNpYWwgcHVycG9zZSBjb2RlIHBhdGguKQorCisgICAgICAg
ICogcnVudGltZS9DbGFzc0luZm8uaDoKKyAgICAgICAgKEpTQzo6Q2xhc3NJbmZvOjpoYXNTdGF0
aWNQcm9wZXJ0aWVzKTogRGVsZXRlZC4KKyAgICAgICAgICAgIC0gZGVwcmVjYXRlZCBieSBUeXBl
SW5mbzo6aGFzU3RhdGljUHJvcGVydHlUYWJsZS4KKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0
LmNwcDoKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dElubGluZVNsb3cpOgorICAgICAgICAo
SlNDOjpKU09iamVjdDo6ZGVsZXRlUHJvcGVydHkpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6
Z2V0T3duTm9uSW5kZXhQcm9wZXJ0eU5hbWVzKToKKyAgICAgICAgICAgIC0gc3RhdGljRnVuY3Rp
b25zUmVpZmllZCAtPiBzdGF0aWNQcm9wZXJ0aWVzUmVpZmllZAorICAgICAgICAoSlNDOjpKU09i
amVjdDo6cmVpZnlBbGxTdGF0aWNQcm9wZXJ0aWVzKToKKyAgICAgICAgICAgIC0gaGFzU3RhdGlj
UHJvcGVydGllcyAtPiBUeXBlSW5mbzo6aGFzU3RhdGljUHJvcGVydHlUYWJsZQorICAgICAgICAg
ICAgLSB0b1VuY2FjaGVhYmxlRGljdGlvbmFyeVRyYW5zaXRpb24gLT4gdG9DYWNoZWFibGVEaWN0
aW9uYXJ5VHJhbnNpdGlvbgorICAgICAgICAgICAgLSBzdGF0aWNGdW5jdGlvbnNSZWlmaWVkIC0+
IHN0YXRpY1Byb3BlcnRpZXNSZWlmaWVkCisgICAgICAgICogcnVudGltZS9KU09iamVjdC5oOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6c3RhdGljUHJvcGVydGllc1JlaWZpZWQpOgorICAgICAg
ICAoSlNDOjpKU09iamVjdDo6c3RhdGljRnVuY3Rpb25zUmVpZmllZCk6IERlbGV0ZWQuCisgICAg
ICAgICogcnVudGltZS9Mb29rdXAuY3BwOgorICAgICAgICAoSlNDOjpzZXRVcFN0YXRpY0Z1bmN0
aW9uU2xvdCk6CisgICAgICAgICogcnVudGltZS9Mb29rdXAuaDoKKyAgICAgICAgKEpTQzo6Z2V0
U3RhdGljUHJvcGVydHlTbG90RnJvbVRhYmxlKToKKyAgICAgICAgKEpTQzo6cmVwbGFjZVN0YXRp
Y1Byb3BlcnR5U2xvdCk6CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmUuY3BwOgorICAgICAg
ICAoSlNDOjpTdHJ1Y3R1cmU6OlN0cnVjdHVyZSk6CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1
cmUuaDoKKyAgICAgICAgICAgIC0gc3RhdGljRnVuY3Rpb25zUmVpZmllZCAtPiBzdGF0aWNQcm9w
ZXJ0aWVzUmVpZmllZAorCiAyMDE2LTA2LTA4ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xv
dWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgcmVtb3ZlRGlyZWN0CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0luZm8uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0luZm8uaAkocmV2aXNpb24gMjAxODM0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE5NywxNSArMTk3LDYgQEAgc3RydWN0IENsYXNzSW5mbyB7CiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICB9CiAKLSAgICBib29sIGhhc1N0YXRpY1Byb3BlcnRpZXMoKSBjb25zdAot
ICAgIHsKLSAgICAgICAgZm9yIChjb25zdCBDbGFzc0luZm8qIGNpID0gdGhpczsgY2k7IGNpID0g
Y2ktPnBhcmVudENsYXNzKSB7Ci0gICAgICAgICAgICBpZiAoY2ktPnN0YXRpY1Byb3BIYXNoVGFi
bGUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIH0KLQogICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgaGFzU3RhdGlj
U2V0dGVyT3JSZWFkb25seVByb3BlcnRpZXMoKSBjb25zdDsKIAogICAgIGNvbnN0IEhhc2hUYWJs
ZSogc3RhdGljUHJvcEhhc2hUYWJsZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5jcHAJKHJldmlzaW9uIDIwMTgzNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTY4LDcgKzU2OCw3
IEBAIGJvb2wgSlNPYmplY3Q6OnB1dElubGluZVNsb3coRXhlY1N0YXRlKiAKICAgICAgICAgICAg
IC8vIHByb3RvdHlwZXMgaXQgc2hvdWxkIGJlIHJlcGxhY2VkLCBzbyBicmVhayBoZXJlLgogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKCFvYmotPnN0YXRpY0Z1bmN0
aW9uc1JlaWZpZWQoKSkgeworICAgICAgICBpZiAoIW9iai0+c3RhdGljUHJvcGVydGllc1JlaWZp
ZWQoKSkgewogICAgICAgICAgICAgaWYgKG9iai0+Y2xhc3NJbmZvKCktPmhhc1N0YXRpY1NldHRl
ck9yUmVhZG9ubHlQcm9wZXJ0aWVzKCkpIHsKICAgICAgICAgICAgICAgICBpZiAoYXV0byogZW50
cnkgPSBvYmotPmZpbmRQcm9wZXJ0eUhhc2hFbnRyeShwcm9wZXJ0eU5hbWUpKQogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gcHV0RW50cnkoZXhlYywgZW50cnksIG9iaiwgdGhpcywgcHJvcGVy
dHlOYW1lLCB2YWx1ZSwgc2xvdCk7CkBAIC0xNDk4LDcgKzE0OTgsNyBAQCBib29sIEpTT2JqZWN0
OjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNlCiAKICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwog
Ci0gICAgaWYgKCF0aGlzT2JqZWN0LT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpIHsKKyAgICBp
ZiAoIXRoaXNPYmplY3QtPnN0YXRpY1Byb3BlcnRpZXNSZWlmaWVkKCkpIHsKICAgICAgICAgaWYg
KGF1dG8qIGVudHJ5ID0gdGhpc09iamVjdC0+ZmluZFByb3BlcnR5SGFzaEVudHJ5KHByb3BlcnR5
TmFtZSkpIHsKICAgICAgICAgICAgIC8vIElmIHRoZSBzdGF0aWMgdGFibGUgY29udGFpbnMgYSBu
b24tY29uZmlndXJhYmxlIChEb250RGVsZXRlKSBwcm9wZXJ0eSB0aGVuIHdlIGNhbiByZXR1cm4g
ZWFybHk7CiAgICAgICAgICAgICAvLyBpZiB0aGVyZSBpcyBhIHByb3BlcnR5IGluIHRoZSBzdG9y
YWdlIGFycmF5IGl0IHRvbyBtdXN0IGJlIG5vbi1jb25maWd1cmFibGUgKHRoZSBsYW5ndWFnZSBk
b2VzCkBAIC0xODkwLDcgKzE4OTAsNyBAQCB2b2lkIEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eU5h
bWVzKEpTT2JqCiAKIHZvaWQgSlNPYmplY3Q6OmdldE93bk5vbkluZGV4UHJvcGVydHlOYW1lcyhK
U09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZUFycmF5JiBwcm9w
ZXJ0eU5hbWVzLCBFbnVtZXJhdGlvbk1vZGUgbW9kZSkKIHsKLSAgICBpZiAoIW9iamVjdC0+c3Rh
dGljRnVuY3Rpb25zUmVpZmllZCgpKQorICAgIGlmICghb2JqZWN0LT5zdGF0aWNQcm9wZXJ0aWVz
UmVpZmllZCgpKQogICAgICAgICBnZXRDbGFzc1Byb3BlcnR5TmFtZXMoZXhlYywgb2JqZWN0LT5j
bGFzc0luZm8oKSwgcHJvcGVydHlOYW1lcywgbW9kZSk7CiAKICAgICBpZiAoIW1vZGUuaW5jbHVk
ZUpTT2JqZWN0UHJvcGVydGllcygpKQpAQCAtMTk2NSwxOCArMTk2NSwxOCBAQCBib29sIEpTT2Jq
ZWN0Ojppc0V4dGVuc2libGUoRXhlY1N0YXRlKiBlCiAKIHZvaWQgSlNPYmplY3Q6OnJlaWZ5QWxs
U3RhdGljUHJvcGVydGllcyhFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgQVNTRVJUKCFzdGF0aWNG
dW5jdGlvbnNSZWlmaWVkKCkpOworICAgIEFTU0VSVCghc3RhdGljUHJvcGVydGllc1JlaWZpZWQo
KSk7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKIAogICAgIC8vIElmIHRoaXMgb2JqZWN0J3Mg
Q2xhc3NJbmZvIGhhcyBubyBzdGF0aWMgcHJvcGVydGllcywgdGhlbiBub3RoaW5nIHRvIHJlaWZ5
IQogICAgIC8vIFdlIGNhbiBzYWZlbHkgc2V0IHRoZSBmbGFnIHRvIGF2b2lkIHRoZSBleHBlbnNp
dmUgY2hlY2sgYWdhaW4gaW4gdGhlIGZ1dHVyZS4KLSAgICBpZiAoIWNsYXNzSW5mbygpLT5oYXNT
dGF0aWNQcm9wZXJ0aWVzKCkpIHsKLSAgICAgICAgc3RydWN0dXJlKHZtKS0+c2V0U3RhdGljRnVu
Y3Rpb25zUmVpZmllZCh0cnVlKTsKKyAgICBpZiAoIVR5cGVJbmZvOjpoYXNTdGF0aWNQcm9wZXJ0
eVRhYmxlKGlubGluZVR5cGVGbGFncygpKSkgeworICAgICAgICBzdHJ1Y3R1cmUodm0pLT5zZXRT
dGF0aWNQcm9wZXJ0aWVzUmVpZmllZCh0cnVlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIGlmICghc3RydWN0dXJlKHZtKS0+aXNVbmNhY2hlYWJsZURpY3Rpb25hcnkoKSkKLSAgICAg
ICAgc2V0U3RydWN0dXJlKHZtLCBTdHJ1Y3R1cmU6OnRvVW5jYWNoZWFibGVEaWN0aW9uYXJ5VHJh
bnNpdGlvbih2bSwgc3RydWN0dXJlKHZtKSkpOworICAgIGlmICghc3RydWN0dXJlKHZtKS0+aXNE
aWN0aW9uYXJ5KCkpCisgICAgICAgIHNldFN0cnVjdHVyZSh2bSwgU3RydWN0dXJlOjp0b0NhY2hl
YWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pKSk7CiAKICAgICBmb3Ig
KGNvbnN0IENsYXNzSW5mbyogaW5mbyA9IGNsYXNzSW5mbygpOyBpbmZvOyBpbmZvID0gaW5mby0+
cGFyZW50Q2xhc3MpIHsKICAgICAgICAgY29uc3QgSGFzaFRhYmxlKiBoYXNoVGFibGUgPSBpbmZv
LT5zdGF0aWNQcm9wSGFzaFRhYmxlOwpAQCAtMTk5Miw3ICsxOTkyLDcgQEAgdm9pZCBKU09iamVj
dDo6cmVpZnlBbGxTdGF0aWNQcm9wZXJ0aWVzKAogICAgICAgICB9CiAgICAgfQogCi0gICAgc3Ry
dWN0dXJlKHZtKS0+c2V0U3RhdGljRnVuY3Rpb25zUmVpZmllZCh0cnVlKTsKKyAgICBzdHJ1Y3R1
cmUodm0pLT5zZXRTdGF0aWNQcm9wZXJ0aWVzUmVpZmllZCh0cnVlKTsKIH0KIAogTkVWRVJfSU5M
SU5FIHZvaWQgSlNPYmplY3Q6OmZpbGxHZXR0ZXJQcm9wZXJ0eVNsb3QoUHJvcGVydHlTbG90JiBz
bG90LCBKU1ZhbHVlIGdldHRlclNldHRlciwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5oCShyZXZpc2lvbiAyMDE4MzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC02NzgsNyArNjc4LDcgQEAgcHVibGljOgogICAg
ICAgICAgICAgfHwgc3RydWN0dXJlKCktPnR5cGVJbmZvKCkuaW50ZXJjZXB0c0dldE93blByb3Bl
cnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybygpOwogICAgIH0KIAotICAgIGJv
b2wgc3RhdGljRnVuY3Rpb25zUmVpZmllZCgpIHsgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdGF0aWNG
dW5jdGlvbnNSZWlmaWVkKCk7IH0KKyAgICBib29sIHN0YXRpY1Byb3BlcnRpZXNSZWlmaWVkKCkg
eyByZXR1cm4gc3RydWN0dXJlKCktPnN0YXRpY1Byb3BlcnRpZXNSZWlmaWVkKCk7IH0KICAgICB2
b2lkIHJlaWZ5QWxsU3RhdGljUHJvcGVydGllcyhFeGVjU3RhdGUqKTsKIAogICAgIEpTX0VYUE9S
VF9QUklWQVRFIEJ1dHRlcmZseSogZ3Jvd091dE9mTGluZVN0b3JhZ2UoVk0mLCBzaXplX3Qgb2xk
U2l6ZSwgc2l6ZV90IG5ld1NpemUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTG9va3VwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Mb29rdXAuY3BwCShyZXZpc2lvbiAyMDE4MzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Mb29rdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIGJvb2wg
c2V0VXBTdGF0aWNGdW5jdGlvblNsb3QoVk0mIHZtLCBjb24KICAgICBpZiAoIWlzVmFsaWRPZmZz
ZXQob2Zmc2V0KSkgewogICAgICAgICAvLyBJZiBhIHByb3BlcnR5IGlzIGV2ZXIgZGVsZXRlZCBm
cm9tIGFuIG9iamVjdCB3aXRoIGEgc3RhdGljIHRhYmxlLCB0aGVuIHdlIHJlaWZ5CiAgICAgICAg
IC8vIGFsbCBzdGF0aWMgZnVuY3Rpb25zIGF0IHRoYXQgdGltZSAtIGFmdGVyIHRoaXMgd2Ugc2hv
dWxkbid0IGJlIHJlLWFkZGluZyBhbnl0aGluZy4KLSAgICAgICAgaWYgKHRoaXNPYmplY3QtPnN0
YXRpY0Z1bmN0aW9uc1JlaWZpZWQoKSkKKyAgICAgICAgaWYgKHRoaXNPYmplY3QtPnN0YXRpY1By
b3BlcnRpZXNSZWlmaWVkKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAg
aWYgKGVudHJ5LT5hdHRyaWJ1dGVzKCkgJiBCdWlsdGluKQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTG9va3VwLmgJKHJldmlzaW9uIDIwMTgzNCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTAsNyArMjEwLDcg
QEAgaW5saW5lIEJ1aWx0aW5HZW5lcmF0b3IgSGFzaFRhYmxlVmFsdWU6OgogCiBpbmxpbmUgYm9v
bCBnZXRTdGF0aWNQcm9wZXJ0eVNsb3RGcm9tVGFibGUoVk0mIHZtLCBjb25zdCBIYXNoVGFibGUm
IHRhYmxlLCBKU09iamVjdCogdGhpc09iamVjdCwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwg
UHJvcGVydHlTbG90JiBzbG90KQogewotICAgIGlmICh0aGlzT2JqZWN0LT5zdGF0aWNGdW5jdGlv
bnNSZWlmaWVkKCkpCisgICAgaWYgKHRoaXNPYmplY3QtPnN0YXRpY1Byb3BlcnRpZXNSZWlmaWVk
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGF1dG8qIGVudHJ5ID0gdGFibGUuZW50
cnkocHJvcGVydHlOYW1lKTsKQEAgLTIzNCw3ICsyMzQsNyBAQCBpbmxpbmUgYm9vbCByZXBsYWNl
U3RhdGljUHJvcGVydHlTbG90KFZNCiAgICAgaWYgKCF0aGlzT2JqZWN0LT5wdXREaXJlY3Qodm0s
IHByb3BlcnR5TmFtZSwgdmFsdWUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAo
IXRoaXNPYmplY3QtPnN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoKSkKKyAgICBpZiAoIXRoaXNPYmpl
Y3QtPnN0YXRpY1Byb3BlcnRpZXNSZWlmaWVkKCkpCiAgICAgICAgIHRoaXNPYmplY3QtPkpTT2Jq
ZWN0OjpzZXRTdHJ1Y3R1cmUodm0sIFN0cnVjdHVyZTo6YXR0cmlidXRlQ2hhbmdlVHJhbnNpdGlv
bih2bSwgdGhpc09iamVjdC0+c3RydWN0dXJlKCksIHByb3BlcnR5TmFtZSwgMCkpOwogCiAgICAg
cmV0dXJuIHRydWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZS5jcHAJKHJldmlzaW9uIDIwMTgzNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNSw3ICsyMDUsNyBAQCBTdHJ1
Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqCiAgICAgc2V0QXR0cmlidXRlc0lu
UHJldmlvdXMoMCk7CiAgICAgc2V0RGlkUHJldmVudEV4dGVuc2lvbnMoZmFsc2UpOwogICAgIHNl
dERpZFRyYW5zaXRpb24oZmFsc2UpOwotICAgIHNldFN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoZmFs
c2UpOworICAgIHNldFN0YXRpY1Byb3BlcnRpZXNSZWlmaWVkKGZhbHNlKTsKICAgICBzZXRUcmFu
c2l0aW9uV2F0Y2hwb2ludElzTGlrZWx5VG9CZUZpcmVkKGZhbHNlKTsKICAgICBzZXRIYXNCZWVu
RGljdGlvbmFyeShmYWxzZSk7CiAgCkBAIC0yMzYsNyArMjM2LDcgQEAgU3RydWN0dXJlOjpTdHJ1
Y3R1cmUoVk0mIHZtKQogICAgIHNldEF0dHJpYnV0ZXNJblByZXZpb3VzKDApOwogICAgIHNldERp
ZFByZXZlbnRFeHRlbnNpb25zKGZhbHNlKTsKICAgICBzZXREaWRUcmFuc2l0aW9uKGZhbHNlKTsK
LSAgICBzZXRTdGF0aWNGdW5jdGlvbnNSZWlmaWVkKGZhbHNlKTsKKyAgICBzZXRTdGF0aWNQcm9w
ZXJ0aWVzUmVpZmllZChmYWxzZSk7CiAgICAgc2V0VHJhbnNpdGlvbldhdGNocG9pbnRJc0xpa2Vs
eVRvQmVGaXJlZChmYWxzZSk7CiAgICAgc2V0SGFzQmVlbkRpY3Rpb25hcnkoZmFsc2UpOwogIApA
QCAtMjY2LDcgKzI2Niw3IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgU3RydWN0dXJl
KiAKICAgICBzZXRBdHRyaWJ1dGVzSW5QcmV2aW91cygwKTsKICAgICBzZXREaWRQcmV2ZW50RXh0
ZW5zaW9ucyhwcmV2aW91cy0+ZGlkUHJldmVudEV4dGVuc2lvbnMoKSk7CiAgICAgc2V0RGlkVHJh
bnNpdGlvbih0cnVlKTsKLSAgICBzZXRTdGF0aWNGdW5jdGlvbnNSZWlmaWVkKHByZXZpb3VzLT5z
dGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpOworICAgIHNldFN0YXRpY1Byb3BlcnRpZXNSZWlmaWVk
KHByZXZpb3VzLT5zdGF0aWNQcm9wZXJ0aWVzUmVpZmllZCgpKTsKICAgICBzZXRIYXNCZWVuRGlj
dGlvbmFyeShwcmV2aW91cy0+aGFzQmVlbkRpY3Rpb25hcnkoKSk7CiAgCiAgICAgVHlwZUluZm8g
dHlwZUluZm8gPSBwcmV2aW91cy0+dHlwZUluZm8oKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMDE4MzQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtNjA5LDcg
KzYwOSw3IEBAIHB1YmxpYzoKICAgICBERUZJTkVfQklURklFTEQodW5zaWduZWQsIGF0dHJpYnV0
ZXNJblByZXZpb3VzLCBBdHRyaWJ1dGVzSW5QcmV2aW91cywgMTQsIDYpOwogICAgIERFRklORV9C
SVRGSUVMRChib29sLCBkaWRQcmV2ZW50RXh0ZW5zaW9ucywgRGlkUHJldmVudEV4dGVuc2lvbnMs
IDEsIDIwKTsKICAgICBERUZJTkVfQklURklFTEQoYm9vbCwgZGlkVHJhbnNpdGlvbiwgRGlkVHJh
bnNpdGlvbiwgMSwgMjEpOwotICAgIERFRklORV9CSVRGSUVMRChib29sLCBzdGF0aWNGdW5jdGlv
bnNSZWlmaWVkLCBTdGF0aWNGdW5jdGlvbnNSZWlmaWVkLCAxLCAyMik7CisgICAgREVGSU5FX0JJ
VEZJRUxEKGJvb2wsIHN0YXRpY1Byb3BlcnRpZXNSZWlmaWVkLCBTdGF0aWNQcm9wZXJ0aWVzUmVp
ZmllZCwgMSwgMjIpOwogICAgIERFRklORV9CSVRGSUVMRChib29sLCBoYXNCZWVuRmxhdHRlbmVk
QmVmb3JlLCBIYXNCZWVuRmxhdHRlbmVkQmVmb3JlLCAxLCAyMyk7CiAgICAgREVGSU5FX0JJVEZJ
RUxEKGJvb2wsIGhhc0N1c3RvbUdldHRlclNldHRlclByb3BlcnRpZXMsIEhhc0N1c3RvbUdldHRl
clNldHRlclByb3BlcnRpZXMsIDEsIDI0KTsKICAgICBERUZJTkVfQklURklFTEQoYm9vbCwgZGlk
V2F0Y2hJbnRlcm5hbFByb3BlcnRpZXMsIERpZFdhdGNoSW50ZXJuYWxQcm9wZXJ0aWVzLCAxLCAy
NSk7Cg==
</data>
<flag name="review"
          id="304727"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>