<?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>80685</bug_id>
          
          <creation_ts>2012-03-09 01:36:54 -0800</creation_ts>
          <short_desc>[V8][Performance] Inline hot methods in V8Bindings.h</short_desc>
          <delta_ts>2012-03-09 16:13:35 -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>WebCore JavaScript</component>
          <version>528+ (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="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>arv</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>574724</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-09 01:36:54 -0800</bug_when>
    <thetext>We can slightly improve DOM binding performance by inlining hot methods in V8Binding.cpp, e.g. isUndefinedOrNull(), v8StringOrNull(), v8Boolean().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574725</commentid>
    <comment_count>1</comment_count>
      <attachid>131006</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-09 01:38:17 -0800</bug_when>
    <thetext>Created attachment 131006
Performance tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574731</commentid>
    <comment_count>2</comment_count>
      <attachid>131008</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-09 01:47:11 -0800</bug_when>
    <thetext>Created attachment 131008
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575322</commentid>
    <comment_count>3</comment_count>
      <attachid>131008</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-09 16:13:31 -0800</bug_when>
    <thetext>Comment on attachment 131008
Patch

Clearing flags on attachment: 131008

Committed r110347: &lt;http://trac.webkit.org/changeset/110347&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575323</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-09 16:13:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>131006</attachid>
            <date>2012-03-09 01:38:17 -0800</date>
            <delta_ts>2012-03-09 01:38:17 -0800</delta_ts>
            <desc>Performance tests</desc>
            <filename>dom_nodename.html</filename>
            <type>text/html</type>
            <size>790</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPjwvaGVhZD4KPGJvZHk+CjxkaXYgaWQ9Im5vZGUiPgo8L2Rpdj4KPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KPHNjcmlwdD4KdmFyIHJlcGVhdCA9IDEwMDAwMDAwMDsKdmFyIHRl
c3ROdW0gPSAxMDsKdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub2RlIik7CnZh
ciByZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0Iik7CgooZnVuY3Rpb24o
ZGl2KSB7CiAgdmFyIHN1bSA9IDA7CiAgZm9yICh2YXIgaiA9IDA7IGogPCB0ZXN0TnVtOyBqKysp
IHsKICAgIHZhciBzdGFydCA9IERhdGUubm93KCk7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJl
cGVhdDsgaSsrKQogICAgICBkaXYubm9kZU5hbWU7CiAgICBzdW0gKz0gRGF0ZS5ub3coKSAtIHN0
YXJ0OwogIH0KICByZXN1bHQuaW5uZXJIVE1MICs9ICJkaXYubm9kZU5hbWUgOiAiICsgKHN1bSAv
IHRlc3ROdW0pICsgIm1zPGJyIC8+IjsKfSkoZGl2KTsKCihmdW5jdGlvbihkaXYpIHsKICB2YXIg
c3VtID0gMDsKICBmb3IgKHZhciBqID0gMDsgaiA8IHRlc3ROdW07IGorKykgewogICAgdmFyIHN0
YXJ0ID0gRGF0ZS5ub3coKTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVwZWF0OyBpKyspCiAg
ICAgIGRpdi5ub2RlVmFsdWU7CiAgICBzdW0gKz0gRGF0ZS5ub3coKSAtIHN0YXJ0OwogIH0KICBy
ZXN1bHQuaW5uZXJIVE1MICs9ICJkaXYubm9kZVZhbHVlIDogIiArIChzdW0gLyB0ZXN0TnVtKSAr
ICJtczxiciAvPiI7Cn0pKGRpdik7Cgo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131008</attachid>
            <date>2012-03-09 01:47:11 -0800</date>
            <delta_ts>2012-03-09 16:13:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80685-20120309184709.patch</filename>
            <type>text/plain</type>
            <size>9677</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTkyZTc2Y2VjNzQ1MDU5
ZmIwNGRkNTk3ZDVjNDE1ZDg2MzcyMDc5Mi4uMWJmZjlmN2IxMGM2N2U3NmU2ZmEzODg2MjhhMTY1
MzU3MGU3MGUzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTAzLTA5ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdW1BlcmZvcm1h
bmNlXSBJbmxpbmUgaG90IG1ldGhvZHMgaW4gVjhCaW5kaW5ncy5oCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDY4NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggc2xpZ2h0bHkgaW1wcm92
ZXMgRE9NIGJpbmRpbmcgcGVyZm9ybWFuY2UgYnkgaW5saW5pbmcgaG90CisgICAgICAgIG1ldGhv
ZHMgaW4gVjhCaW5kaW5nLmNwcCwgZS5nLiBpc1VuZGVmaW5lZE9yTnVsbCgpLCB2OFN0cmluZ09y
TnVsbCgpLCB2OEJvb2xlYW4oKS4KKyAgICAgICAgRm9yIGV4YW1wbGUsIHRoaXMgcGF0Y2ggaW1w
cm92ZXMgZGl2Lm5vZGVOYW1lIGJ5IDUuMCUsIGFuZCBkaXYubm9kZVZhbHVlIGJ5IDQuMSUuCisK
KyAgICAgICAgUGVyZm9ybWFuY2UgdGVzdHM6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL2F0dGFj
aG1lbnQuY2dpP2lkPTEzMTAwNgorCisgICAgICAgIFRoZSBwZXJmb3JtYW5jZSB0ZXN0IHJlc3Vs
dHMgaW4gbXkgTWFjIGVudmlyb25tZW50IGFyZSBhcyBmb2xsb3dzOgorCisgICAgICAgIENocm9t
aXVtL1Y4IHdpdGhvdXQgdGhpcyBwYXRjaDoKKyAgICAgICAgZGl2Lm5vZGVOYW1lIDogMzQxNy40
IG1zCisgICAgICAgIGRpdi5ub2RlVmFsdWUgOiAyMDY5LjYgbXMKKworICAgICAgICBDaHJvbWl1
bS9WOCB3aXRoIHRoaXMgcGF0Y2g6CisgICAgICAgIGRpdi5ub2RlTmFtZSA6IDMyNDUuNiBtcwor
ICAgICAgICBkaXYubm9kZVZhbHVlIDogMTk4My4xIG1zCisKKyAgICAgICAgTm8gdGVzdHMuIE5v
IGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4QmluZGluZy5j
cHA6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhCaW5kaW5nLmg6CisgICAgICAgIChXZWJDb3Jl
Ojp0b1dlYkNvcmVTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6aXNVbmRlZmluZWRPck51bGwp
OgorICAgICAgICAoV2ViQ29yZTo6aXNIb3N0T2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OnY4
Qm9vbGVhbik6CisgICAgICAgIChXZWJDb3JlOjp0b1dlYkNvcmVTdHJpbmdXaXRoTnVsbENoZWNr
KToKKyAgICAgICAgKFdlYkNvcmU6OnRvQXRvbWljV2ViQ29yZVN0cmluZ1dpdGhOdWxsQ2hlY2sp
OgorICAgICAgICAoV2ViQ29yZTo6dG9XZWJDb3JlU3RyaW5nV2l0aE51bGxPclVuZGVmaW5lZENo
ZWNrKToKKyAgICAgICAgKFdlYkNvcmU6OnY4VW5kZXRlY3RhYmxlU3RyaW5nKToKKyAgICAgICAg
KFdlYkNvcmU6OnY4U3RyaW5nT3JOdWxsKToKKyAgICAgICAgKFdlYkNvcmU6OnY4U3RyaW5nT3JV
bmRlZmluZWQpOgorICAgICAgICAoV2ViQ29yZTo6djhTdHJpbmdPckZhbHNlKToKKyAgICAgICAg
KFdlYkNvcmU6OnRvV2ViQ29yZURhdGUpOgorICAgICAgICAoV2ViQ29yZTo6djhEYXRlT3JOdWxs
KToKKwogMjAxMi0wMy0wOCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAg
ICAgUkVHUkVTU0lPTiAocjEwNTM5Nik6IERyYWdnaW5nIGFuIGlXb3JrIGRvY3VtZW50IGludG8g
aWNsb3VkLmNvbSBvcGVucyBpdCBpbiB0aGUgTWFjIGFwcCBpbnN0ZWFkIG9mIHVwbG9hZGluZyBp
dCB0byBpY2xvdWQuY29tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OEJpbmRpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcApp
bmRleCA0ZmQ2NzJmNDU4MTg0ZDg2ZDJkODI3OWQ2ZTZkYWZlNmQzMzM5OTIyLi40YWEwMThmOWU0
YTM5YjE3ZGJlOGI3MGRhZGY0ZWM5NTU5MGI2OThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4QmluZGluZy5jcHAKQEAgLTI4Niw4NCArMjg2LDYgQEAgdWludDMyX3QgdG9VSW50MzIo
djg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlLCBib29sJiBvaykKICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8dWludDMyX3Q+KGludFZhbHVlLT5WYWx1ZSgpKTsKIH0KIAotU3RyaW5nIHRvV2ViQ29y
ZVN0cmluZyhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzLCBpbnQgaW5kZXgpIHsKLSAgICByZXR1
cm4gdjhWYWx1ZVRvV2ViQ29yZVN0cmluZyhhcmdzW2luZGV4XSk7Ci19Ci0KLSAgICAKLVN0cmlu
ZyB0b1dlYkNvcmVTdHJpbmdXaXRoTnVsbENoZWNrKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1
ZSkKLXsKLSAgICBpZiAodmFsdWUtPklzTnVsbCgpKSAKLSAgICAgICAgcmV0dXJuIFN0cmluZygp
OwotICAgIHJldHVybiB2OFZhbHVlVG9XZWJDb3JlU3RyaW5nKHZhbHVlKTsKLX0KLQotQXRvbWlj
U3RyaW5nIHRvQXRvbWljV2ViQ29yZVN0cmluZ1dpdGhOdWxsQ2hlY2sodjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHZhbHVlKQotewotICAgIGlmICh2YWx1ZS0+SXNOdWxsKCkpCi0gICAgICAgIHJldHVy
biBBdG9taWNTdHJpbmcoKTsKLSAgICByZXR1cm4gdjhWYWx1ZVRvQXRvbWljV2ViQ29yZVN0cmlu
Zyh2YWx1ZSk7Ci19Ci0KLVN0cmluZyB0b1dlYkNvcmVTdHJpbmdXaXRoTnVsbE9yVW5kZWZpbmVk
Q2hlY2sodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlKQotewotICAgIGlmICh2YWx1ZS0+SXNO
dWxsKCkgfHwgdmFsdWUtPklzVW5kZWZpbmVkKCkpCi0gICAgICAgIHJldHVybiBTdHJpbmcoKTsK
LSAgICByZXR1cm4gdG9XZWJDb3JlU3RyaW5nKHZhbHVlKTsKLX0KLQotYm9vbCBpc1VuZGVmaW5l
ZE9yTnVsbCh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpCi17Ci0gICAgcmV0dXJuIHZhbHVl
LT5Jc051bGwoKSB8fCB2YWx1ZS0+SXNVbmRlZmluZWQoKTsKLX0KLQotYm9vbCBpc0hvc3RPYmpl
Y3Qodjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBvYmplY3QpCi17Ci0gICAgLy8gSWYgdGhlIG9iamVj
dCBoYXMgYW55IGludGVybmFsIGZpZWxkcywgdGhlbiB3ZSB3b24ndCBiZSBhYmxlIHRvIHNlcmlh
bGl6ZSBvciBkZXNlcmlhbGl6ZQotICAgIC8vIHRoZW07IGNvbnZlbmllbnRseSwgdGhpcyBpcyBh
bHNvIGEgcXVpY2sgd2F5IHRvIGRldGVjdCBET00gd3JhcHBlciBvYmplY3RzLCBiZWNhdXNlCi0g
ICAgLy8gdGhlIG1lY2hhbmlzbSBmb3IgdGhlc2UgcmVsaWVzIG9uIGRhdGEgc3RvcmVkIGluIHRo
ZXNlIGZpZWxkcy4gV2Ugc2hvdWxkCi0gICAgLy8gY2F0Y2ggZXh0ZXJuYWwgYXJyYXkgZGF0YSBh
bmQgZXh0ZXJuYWwgcGl4ZWwgZGF0YSBhcyBhIHNwZWNpYWwgY2FzZSAobm90aW5nIHRoYXQgQ2Fu
dmFzUGl4ZWxBcnJheXMKLSAgICAvLyBjYW4ndCBiZSBzZXJpYWxpemVkIHdpdGhvdXQgYmVpbmcg
d3JhcHBlZCBieSBJbWFnZURhdGEgYWNjb3JkaW5nIHRvIHRoZSBzdGFuZGFyZCkuCi0gICAgcmV0
dXJuIG9iamVjdC0+SW50ZXJuYWxGaWVsZENvdW50KCkgfHwgb2JqZWN0LT5IYXNJbmRleGVkUHJv
cGVydGllc0luUGl4ZWxEYXRhKCkgfHwgb2JqZWN0LT5IYXNJbmRleGVkUHJvcGVydGllc0luRXh0
ZXJuYWxBcnJheURhdGEoKTsKLX0KLQotdjg6OkhhbmRsZTx2ODo6Qm9vbGVhbj4gdjhCb29sZWFu
KGJvb2wgdmFsdWUpCi17Ci0gICAgcmV0dXJuIHZhbHVlID8gdjg6OlRydWUoKSA6IHY4OjpGYWxz
ZSgpOwotfQotCi12ODo6SGFuZGxlPHY4OjpTdHJpbmc+IHY4VW5kZXRlY3RhYmxlU3RyaW5nKGNv
bnN0IFN0cmluZyYgc3RyKQotewotICAgIHJldHVybiB2ODo6U3RyaW5nOjpOZXdVbmRldGVjdGFi
bGUoZnJvbVdlYkNvcmVTdHJpbmcoc3RyKSwgc3RyLmxlbmd0aCgpKTsKLX0KLQotdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHY4U3RyaW5nT3JOdWxsKGNvbnN0IFN0cmluZyYgc3RyKQotewotICAgIHJl
dHVybiBzdHIuaXNOdWxsKCkgPyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4odjg6Ok51bGwoKSkgOiB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4odjhTdHJpbmcoc3RyKSk7Ci19Ci0KLXY4OjpIYW5kbGU8djg6
OlZhbHVlPiB2OFN0cmluZ09yVW5kZWZpbmVkKGNvbnN0IFN0cmluZyYgc3RyKQotewotICAgIHJl
dHVybiBzdHIuaXNOdWxsKCkgPyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4odjg6OlVuZGVmaW5lZCgp
KSA6IHY4OjpIYW5kbGU8djg6OlZhbHVlPih2OFN0cmluZyhzdHIpKTsKLX0KLQotdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHY4U3RyaW5nT3JGYWxzZShjb25zdCBTdHJpbmcmIHN0cikKLXsKLSAgICBy
ZXR1cm4gc3RyLmlzTnVsbCgpID8gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KHY4OjpGYWxzZSgpKSA6
IHY4OjpIYW5kbGU8djg6OlZhbHVlPih2OFN0cmluZyhzdHIpKTsKLX0KLQotZG91YmxlIHRvV2Vi
Q29yZURhdGUodjg6OkhhbmRsZTx2ODo6VmFsdWU+IG9iamVjdCkKLXsKLSAgICByZXR1cm4gKG9i
amVjdC0+SXNEYXRlKCkgfHwgb2JqZWN0LT5Jc051bWJlcigpKSA/IG9iamVjdC0+TnVtYmVyVmFs
dWUoKSA6IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7Ci19Ci0KLXY4
OjpIYW5kbGU8djg6OlZhbHVlPiB2OERhdGVPck51bGwoZG91YmxlIHZhbHVlKQotewotICAgIGlm
IChpc2Zpbml0ZSh2YWx1ZSkpCi0gICAgICAgIHJldHVybiB2ODo6RGF0ZTo6TmV3KHZhbHVlKTsK
LSAgICByZXR1cm4gdjg6Ok51bGwoKTsKLX0KLQogdGVtcGxhdGUgPGNsYXNzIFM+IHN0cnVjdCBT
dHJpbmdUcmFpdHMKIHsKICAgICBzdGF0aWMgUyBmcm9tU3RyaW5nUmVzb3VyY2UoV2ViQ29yZVN0
cmluZ1Jlc291cmNlKiByZXNvdXJjZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOEJpbmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGlu
Zy5oCmluZGV4IDk1OTdmYWEyMDdjNzk3ZDkyMzZiMWRjNmRhODc5ZGRiNTZmYWMzZGEuLmQwMDky
Zjk4MDdhNzY0YmExNDMwOTU3ZTQ2N2RhMmY4YTFmZjhhNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4QmluZGluZy5oCkBAIC0zMjksNyArMzI5LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgcmV0dXJuIHY4VmFsdWVUb1dlYkNvcmVTdHJpbmcob2JqZWN0KTsKICAgICB9
CiAKLSAgICBTdHJpbmcgdG9XZWJDb3JlU3RyaW5nKGNvbnN0IHY4OjpBcmd1bWVudHMmLCBpbnQg
aW5kZXgpOworICAgIGlubGluZSBTdHJpbmcgdG9XZWJDb3JlU3RyaW5nKGNvbnN0IHY4OjpBcmd1
bWVudHMmIGFyZ3MsIGludCBpbmRleCkKKyAgICB7CisgICAgICAgIHJldHVybiB2OFZhbHVlVG9X
ZWJDb3JlU3RyaW5nKGFyZ3NbaW5kZXhdKTsKKyAgICB9CiAKICAgICAvLyBUaGUgc3RyaW5nIHJl
dHVybmVkIGJ5IHRoaXMgZnVuY3Rpb24gaXMgc3RpbGwgb3duZWQgYnkgdGhlIGFyZ3VtZW50CiAg
ICAgLy8gYW5kIHdpbGwgYmUgZGVhbGxvY2F0ZWQgd2hlbiB0aGUgYXJndW1lbnQgaXMgZGVhbGxv
Y2F0ZWQuCkBAIC0zMzgsMjcgKzM0MSw2MiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHJldHVybiByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQxNl90Kj4oc3RyLmNoYXJhY3RlcnMo
KSk7CiAgICAgfQogCi0gICAgYm9vbCBpc1VuZGVmaW5lZE9yTnVsbCh2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdmFsdWUpOworICAgIGlubGluZSBib29sIGlzVW5kZWZpbmVkT3JOdWxsKHY4OjpIYW5k
bGU8djg6OlZhbHVlPiB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiB2YWx1ZS0+SXNOdWxs
KCkgfHwgdmFsdWUtPklzVW5kZWZpbmVkKCk7CisgICAgfQogCiAgICAgLy8gUmV0dXJucyB0cnVl
IGlmIHRoZSBwcm92aWRlZCBvYmplY3QgaXMgdG8gYmUgY29uc2lkZXJlZCBhICdob3N0IG9iamVj
dCcsIGFzIHVzZWQgaW4gdGhlCiAgICAgLy8gSFRNTDUgc3RydWN0dXJlZCBjbG9uZSBhbGdvcml0
aG0uCi0gICAgYm9vbCBpc0hvc3RPYmplY3Qodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pik7CisgICAg
aW5saW5lIGJvb2wgaXNIb3N0T2JqZWN0KHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gb2JqZWN0KQor
ICAgIHsKKyAgICAgICAgLy8gSWYgdGhlIG9iamVjdCBoYXMgYW55IGludGVybmFsIGZpZWxkcywg
dGhlbiB3ZSB3b24ndCBiZSBhYmxlIHRvIHNlcmlhbGl6ZSBvciBkZXNlcmlhbGl6ZQorICAgICAg
ICAvLyB0aGVtOyBjb252ZW5pZW50bHksIHRoaXMgaXMgYWxzbyBhIHF1aWNrIHdheSB0byBkZXRl
Y3QgRE9NIHdyYXBwZXIgb2JqZWN0cywgYmVjYXVzZQorICAgICAgICAvLyB0aGUgbWVjaGFuaXNt
IGZvciB0aGVzZSByZWxpZXMgb24gZGF0YSBzdG9yZWQgaW4gdGhlc2UgZmllbGRzLiBXZSBzaG91
bGQKKyAgICAgICAgLy8gY2F0Y2ggZXh0ZXJuYWwgYXJyYXkgZGF0YSBhbmQgZXh0ZXJuYWwgcGl4
ZWwgZGF0YSBhcyBhIHNwZWNpYWwgY2FzZSAobm90aW5nIHRoYXQgQ2FudmFzUGl4ZWxBcnJheXMK
KyAgICAgICAgLy8gY2FuJ3QgYmUgc2VyaWFsaXplZCB3aXRob3V0IGJlaW5nIHdyYXBwZWQgYnkg
SW1hZ2VEYXRhIGFjY29yZGluZyB0byB0aGUgc3RhbmRhcmQpLgorICAgICAgICByZXR1cm4gb2Jq
ZWN0LT5JbnRlcm5hbEZpZWxkQ291bnQoKSB8fCBvYmplY3QtPkhhc0luZGV4ZWRQcm9wZXJ0aWVz
SW5QaXhlbERhdGEoKSB8fCBvYmplY3QtPkhhc0luZGV4ZWRQcm9wZXJ0aWVzSW5FeHRlcm5hbEFy
cmF5RGF0YSgpOworICAgIH0KIAotICAgIHY4OjpIYW5kbGU8djg6OkJvb2xlYW4+IHY4Qm9vbGVh
bihib29sIHZhbHVlKTsKKyAgICBpbmxpbmUgdjg6OkhhbmRsZTx2ODo6Qm9vbGVhbj4gdjhCb29s
ZWFuKGJvb2wgdmFsdWUpCisgICAgeworICAgICAgICByZXR1cm4gdmFsdWUgPyB2ODo6VHJ1ZSgp
IDogdjg6OkZhbHNlKCk7CisgICAgfQogCi0gICAgU3RyaW5nIHRvV2ViQ29yZVN0cmluZ1dpdGhO
dWxsQ2hlY2sodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlKTsKKyAgICBpbmxpbmUgU3RyaW5n
IHRvV2ViQ29yZVN0cmluZ1dpdGhOdWxsQ2hlY2sodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVl
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHZhbHVlLT5Jc051bGwoKSA/IFN0cmluZygpIDogdjhW
YWx1ZVRvV2ViQ29yZVN0cmluZyh2YWx1ZSk7CisgICAgfQogCi0gICAgQXRvbWljU3RyaW5nIHRv
QXRvbWljV2ViQ29yZVN0cmluZ1dpdGhOdWxsQ2hlY2sodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZh
bHVlKTsKKyAgICBpbmxpbmUgQXRvbWljU3RyaW5nIHRvQXRvbWljV2ViQ29yZVN0cmluZ1dpdGhO
dWxsQ2hlY2sodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIHZhbHVlLT5Jc051bGwoKSA/IEF0b21pY1N0cmluZygpIDogdjhWYWx1ZVRvQXRvbWljV2Vi
Q29yZVN0cmluZyh2YWx1ZSk7CisgICAgfQogCi0gICAgU3RyaW5nIHRvV2ViQ29yZVN0cmluZ1dp
dGhOdWxsT3JVbmRlZmluZWRDaGVjayh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpOworICAg
IGlubGluZSBTdHJpbmcgdG9XZWJDb3JlU3RyaW5nV2l0aE51bGxPclVuZGVmaW5lZENoZWNrKHY4
OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiAodmFsdWUt
PklzTnVsbCgpIHx8IHZhbHVlLT5Jc1VuZGVmaW5lZCgpKSA/IFN0cmluZygpIDogdG9XZWJDb3Jl
U3RyaW5nKHZhbHVlKTsKKyAgICB9CiAKLSAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IHY4VW5k
ZXRlY3RhYmxlU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyKTsKKyAgICBpbmxpbmUgdjg6OkhhbmRs
ZTx2ODo6U3RyaW5nPiB2OFVuZGV0ZWN0YWJsZVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cikKKyAg
ICB7CisgICAgICAgIHJldHVybiB2ODo6U3RyaW5nOjpOZXdVbmRldGVjdGFibGUoZnJvbVdlYkNv
cmVTdHJpbmcoc3RyKSwgc3RyLmxlbmd0aCgpKTsKKyAgICB9CiAKLSAgICB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gdjhTdHJpbmdPck51bGwoY29uc3QgU3RyaW5nJiBzdHIpOworICAgIGlubGluZSB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdjhTdHJpbmdPck51bGwoY29uc3QgU3RyaW5nJiBzdHIpCisg
ICAgeworICAgICAgICByZXR1cm4gc3RyLmlzTnVsbCgpID8gdjg6OkhhbmRsZTx2ODo6VmFsdWU+
KHY4OjpOdWxsKCkpIDogdjg6OkhhbmRsZTx2ODo6VmFsdWU+KHY4U3RyaW5nKHN0cikpOworICAg
IH0KIAotICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2OFN0cmluZ09yVW5kZWZpbmVkKGNvbnN0
IFN0cmluZyYgc3RyKTsKKyAgICBpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHY4U3RyaW5n
T3JVbmRlZmluZWQoY29uc3QgU3RyaW5nJiBzdHIpCisgICAgeworICAgICAgICByZXR1cm4gc3Ry
LmlzTnVsbCgpID8gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KHY4OjpVbmRlZmluZWQoKSkgOiB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4odjhTdHJpbmcoc3RyKSk7CisgICAgfQogCi0gICAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHY4U3RyaW5nT3JGYWxzZShjb25zdCBTdHJpbmcmIHN0cik7CisgICAgaW5s
aW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2OFN0cmluZ09yRmFsc2UoY29uc3QgU3RyaW5nJiBz
dHIpCisgICAgeworICAgICAgICByZXR1cm4gc3RyLmlzTnVsbCgpID8gdjg6OkhhbmRsZTx2ODo6
VmFsdWU+KHY4OjpGYWxzZSgpKSA6IHY4OjpIYW5kbGU8djg6OlZhbHVlPih2OFN0cmluZyhzdHIp
KTsKKyAgICB9CiAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHY4TnVtYmVyQXJyYXkoY29uc3QgVmVjdG9yPFQ+JiB2YWx1ZXMpCiAgICAgewpAQCAtMzY5LDkg
KzQwNywxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAg
ICAgfQogCi0gICAgZG91YmxlIHRvV2ViQ29yZURhdGUodjg6OkhhbmRsZTx2ODo6VmFsdWU+IG9i
amVjdCk7CisgICAgaW5saW5lIGRvdWJsZSB0b1dlYkNvcmVEYXRlKHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBvYmplY3QpCisgICAgeworICAgICAgICByZXR1cm4gKG9iamVjdC0+SXNEYXRlKCkgfHwg
b2JqZWN0LT5Jc051bWJlcigpKSA/IG9iamVjdC0+TnVtYmVyVmFsdWUoKSA6IHN0ZDo6bnVtZXJp
Y19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CisgICAgfQogCi0gICAgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IHY4RGF0ZU9yTnVsbChkb3VibGUgdmFsdWUpOworICAgIGlubGluZSB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gdjhEYXRlT3JOdWxsKGRvdWJsZSB2YWx1ZSkKKyAgICB7CisgICAgICAg
IHJldHVybiBpc2Zpbml0ZSh2YWx1ZSkgPyB2ODo6RGF0ZTo6TmV3KHZhbHVlKSA6IHY4OjpIYW5k
bGU8djg6OlZhbHVlPih2ODo6TnVsbCgpKTsKKyAgICB9CiAKICAgICB2ODo6UGVyc2lzdGVudDx2
ODo6RnVuY3Rpb25UZW1wbGF0ZT4gY3JlYXRlUmF3VGVtcGxhdGUoKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>