<?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>21047</bug_id>
          
          <creation_ts>2008-09-23 20:38:21 -0700</creation_ts>
          <short_desc>speed up ret_activation with inlining</short_desc>
          <delta_ts>2008-09-24 10:35:18 -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>Mac</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>92459</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-09-23 20:38:21 -0700</bug_when>
    <thetext>This function is hot in any test that involves activations and can be sped up with some inlining.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92461</commentid>
    <comment_count>1</comment_count>
      <attachid>23738</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-09-23 20:44:08 -0700</bug_when>
    <thetext>Created attachment 23738
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92463</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-09-23 20:44:38 -0700</bug_when>
    <thetext>*** Bug 21028 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92546</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-09-24 10:02:35 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/36851</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92552</commentid>
    <comment_count>4</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-09-24 10:35:18 -0700</bug_when>
    <thetext>I don&apos;t think you meant to change this:

-        SunSpider says no change. SunSpider --v8 says 1% faster.
+        SunSpider says no change. SunSpider --v8 says 1% faster.v8

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23738</attachid>
            <date>2008-09-23 20:44:08 -0700</date>
            <delta_ts>2008-09-24 09:43:06 -0700</delta_ts>
            <desc>patch</desc>
            <filename>RetActPatch.txt</filename>
            <type>text/plain</type>
            <size>11542</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDM2ODQwKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDEgQEAKKzIwMDgtMDktMjMgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIC0gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxMDQ3CisgICAgICAgICAgc3BlZWQgdXAgcmV0X2FjdGl2YXRpb24gd2l0aCBpbmxpbmluZwor
CisgICAgICAgIEFib3V0IDElIG9uIHY4LXJheXRyYWNlLgorCisgICAgICAgICogSmF2YVNjcmlw
dENvcmUuZXhwOiBSZW1vdmVkIEpTVmFyaWFibGVPYmplY3Q6OnNldFJlZ2lzdGVycy4KKworICAg
ICAgICAqIGtqcy9KU0FjdGl2YXRpb24uY3BwOiBNb3ZlZCBjb3B5UmVnaXN0ZXJzIHRvIHRoZSBo
ZWFkZXIgdG8gbWFrZSBpdCBpbmxpbmUuCisgICAgICAgICoga2pzL0pTQWN0aXZhdGlvbi5oOgor
ICAgICAgICAoSlNDOjpKU0FjdGl2YXRpb246OmNvcHlSZWdpc3RlcnMpOiBNb3ZlZCBoZXJlLiBB
bHNvIHJlbW92ZWQgdGhlIHJlZ2lzdGVyQXJyYXlTaXplCisgICAgICAgIGFyZ3VtZW50IHRvIHNl
dFJlZ2lzdGVycywgc2luY2UgdGhlIG9iamVjdCBkb2Vzbid0IG5lZWQgdG8gc3RvcmUgdGhlIG51
bWJlciBvZgorICAgICAgICByZWdpc3RlcnMuCisKKyAgICAgICAgKiBranMvSlNHbG9iYWxPYmpl
Y3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6cmVzZXQpOiBSZW1vdmVkIHVu
bmVjZXNzYXJ5IGNsZWFyaW5nIGxlZnQgb3ZlciBmcm9tIHdoZW4gd2UKKyAgICAgICAgdXNlZCB0
aGlzIG9uIG9iamVjdHMgdGhhdCB3ZXJlbid0IGJyYW5kIG5ldy4gVGhlc2UgZGF5cywgdGhpcyBm
dW5jdGlvbiBpcyByZWFsbHkKKyAgICAgICAganVzdCBwYXJ0IG9mIHRoZSBjb25zdHJ1Y3Rvci4K
KworICAgICAgICAqIGtqcy9KU0dsb2JhbE9iamVjdC5oOiBBZGRlZCByZWdpc3RlckFycmF5U2l6
ZSB0byBKU0dsb2JhbE9iamVjdERhdGEsIHNpbmNlCisgICAgICAgIEpTVmFyaWFibGVPYmplY3RE
YXRhIG5vIGxvbmdlciBuZWVkcyBpdC4gQWRkZWQgYSBzZXRSZWdpc3RlcnMgb3ZlcnJpZGUgaGVy
ZQorICAgICAgICB0aGF0IGhhbmRsZXMgc3RvcmluZyB0aGUgc2l6ZS4KKworICAgICAgICAqIGtq
cy9KU1N0YXRpY1Njb3BlT2JqZWN0Lmg6IFJlbW92ZWQgY29kZSB0byBzZXQgcmVnaXN0ZXJBcnJh
eVNpemUsIHNpbmNlIGl0CisgICAgICAgIG5vIGxvbmdlciBleGlzdHMuCisKKyAgICAgICAgKiBr
anMvSlNWYXJpYWJsZU9iamVjdC5jcHA6IE1vdmVkIGNvcHlSZWdpc3RlckFycmF5IGFuZCBzZXRS
ZWdpc3RlcnMgdG8gdGhlCisgICAgICAgIGhlYWRlciB0byBtYWtlIHRoZW0gaW5saW5lLgorICAg
ICAgICAqIGtqcy9KU1ZhcmlhYmxlT2JqZWN0Lmg6IFJlbW92ZWQgcmVnaXN0ZXJBcnJheVNpemUg
ZnJvbSBKU1ZhcmlhYmxlT2JqZWN0RGF0YSwKKyAgICAgICAgc2luY2UgaXQgd2FzIG9ubHkgdXNl
ZCBmb3IgdGhlIGdsb2JhbCBvYmplY3QuCisgICAgICAgIChKU0M6OkpTVmFyaWFibGVPYmplY3Q6
OmNvcHlSZWdpc3RlckFycmF5KTogTW92ZWQgaGVyZSBvdCBtYWtlIGl0IGlubGluZS4KKyAgICAg
ICAgKEpTQzo6SlNWYXJpYWJsZU9iamVjdDo6c2V0UmVnaXN0ZXJzKTogTW92ZWQgaGVyZSB0byBt
YWtlIGl0IGlubGluZS4gQWxzbworICAgICAgICByZW1vdmVkIHRoZSBjb2RlIHRvIHNldCByZWdp
c3RlckFycmF5U2l6ZSBhbmQgY2hhbmdlZCBhbiBpZiBzdGF0ZW1lbnQgaW50bworICAgICAgICBh
biBhc3NlcnQgdG8gc2F2ZSBhbiB1bm5uZWNlc3NhcnkgYnJhbmNoLgorCiAyMDA4LTA5LTIzICBB
bHAgVG9rZXIgIDxhbHBAbnVhbnRpLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXguCkBAIC0yOCw3
ICs2Niw3IEBACiAgICAgICAgIDEzLjUlIHNwZWVkdXAgb24gZW1wdHkgY2FsbCBiZW5jaG1hcmsg
Zm9yIGJ5dGVjb2RlOyAyMy42JSBzcGVlZHVwIG9uCiAgICAgICAgIGVtcHR5IGNhbGwgYmVuY2ht
YXJrIGZvciBDVEkuCiAgICAgICAgIAotICAgICAgICBTdW5TcGlkZXIgc2F5cyBubyBjaGFuZ2Uu
IFN1blNwaWRlciAtLXY4IHNheXMgMSUgZmFzdGVyLgorICAgICAgICBTdW5TcGlkZXIgc2F5cyBu
byBjaGFuZ2UuIFN1blNwaWRlciAtLXY4IHNheXMgMSUgZmFzdGVyLnY4CiAKICAgICAgICAgKiBW
TS9DVEkuY3BwOgogICAgICAgICAKSW5kZXg6IEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LmV4cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAJKHJl
dmlzaW9uIDM2ODIzKQorKysgSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNTMsNyArMTUzLDYgQEAgX19aTjNKU0MxNGNvbnN0cnVjdEFycmF5RVBO
U185RXhlY1N0YXRlRQogX19aTjNKU0MxNUpTV3JhcHBlck9iamVjdDRtYXJrRXYKIF9fWk4zSlND
MTZJbnRlcm5hbEZ1bmN0aW9uNGluZm9FCiBfX1pOM0pTQzE2SW50ZXJuYWxGdW5jdGlvbkMyRVBO
U185RXhlY1N0YXRlRU4zV1RGMTBQYXNzUmVmUHRySU5TXzExU3RydWN0dXJlSURFRUVSS05TXzEw
SWRlbnRpZmllckUKLV9fWk4zSlNDMTZKU1ZhcmlhYmxlT2JqZWN0MTJzZXRSZWdpc3RlcnNFUE5T
XzhSZWdpc3RlckVTMl9tCiBfX1pOM0pTQzE2SlNWYXJpYWJsZU9iamVjdDE0ZGVsZXRlUHJvcGVy
dHlFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFCiBfX1pOM0pTQzE2SlNWYXJpYWJs
ZU9iamVjdDE2Z2V0UHJvcGVydHlOYW1lc0VQTlNfOUV4ZWNTdGF0ZUVSTlNfMTdQcm9wZXJ0eU5h
bWVBcnJheUUKIF9fWk4zSlNDMTZQYXJzZXJSZWZDb3VudGVkM3JlZkV2CkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS9ranMvSlNBY3RpdmF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29y
ZS9ranMvSlNBY3RpdmF0aW9uLmNwcAkocmV2aXNpb24gMzY4MjMpCisrKyBKYXZhU2NyaXB0Q29y
ZS9ranMvSlNBY3RpdmF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsOSArMzAsNyBAQAog
I2luY2x1ZGUgIkpTQWN0aXZhdGlvbi5oIgogCiAjaW5jbHVkZSAiQXJndW1lbnRzLmgiCi0jaW5j
bHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiTWFjaGluZS5oIgotI2luY2x1ZGUgIlJlZ2lz
dGVyLmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTg1
LDI1ICs4Myw2IEBAIHZvaWQgSlNBY3RpdmF0aW9uOjptYXJrKCkKICAgICB9CiB9CiAKLXZvaWQg
SlNBY3RpdmF0aW9uOjpjb3B5UmVnaXN0ZXJzKCkKLXsKLSAgICBBU1NFUlQoIWQoKS0+cmVnaXN0
ZXJBcnJheSk7Ci0gICAgQVNTRVJUKCFkKCktPnJlZ2lzdGVyQXJyYXlTaXplKTsKLQotICAgIHNp
emVfdCBudW1QYXJhbWV0ZXJzTWludXNUaGlzID0gZCgpLT5mdW5jdGlvbkJvZHktPmdlbmVyYXRl
ZEJ5dGVDb2RlKCkubnVtUGFyYW1ldGVycyAtIDE7Ci0gICAgc2l6ZV90IG51bVZhcnMgPSBkKCkt
PmZ1bmN0aW9uQm9keS0+Z2VuZXJhdGVkQnl0ZUNvZGUoKS5udW1WYXJzOwotICAgIHNpemVfdCBu
dW1Mb2NhbHMgPSBudW1WYXJzICsgbnVtUGFyYW1ldGVyc01pbnVzVGhpczsKLQotICAgIGlmICgh
bnVtTG9jYWxzKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpbnQgcmVnaXN0ZXJPZmZzZXQgPSBu
dW1QYXJhbWV0ZXJzTWludXNUaGlzICsgUmVnaXN0ZXJGaWxlOjpDYWxsRnJhbWVIZWFkZXJTaXpl
OwotICAgIHNpemVfdCByZWdpc3RlckFycmF5U2l6ZSA9IG51bUxvY2FscyArIFJlZ2lzdGVyRmls
ZTo6Q2FsbEZyYW1lSGVhZGVyU2l6ZTsKLQotICAgIFJlZ2lzdGVyKiByZWdpc3RlckFycmF5ID0g
Y29weVJlZ2lzdGVyQXJyYXkoZCgpLT5yZWdpc3RlcnMgLSByZWdpc3Rlck9mZnNldCwgcmVnaXN0
ZXJBcnJheVNpemUpOwotICAgIHNldFJlZ2lzdGVycyhyZWdpc3RlckFycmF5ICsgcmVnaXN0ZXJP
ZmZzZXQsIHJlZ2lzdGVyQXJyYXksIHJlZ2lzdGVyQXJyYXlTaXplKTsKLX0KLQogYm9vbCBKU0Fj
dGl2YXRpb246OmdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50
aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAgIGlmIChzeW1i
b2xUYWJsZUdldChwcm9wZXJ0eU5hbWUsIHNsb3QpKQpJbmRleDogSmF2YVNjcmlwdENvcmUva2pz
L0pTQWN0aXZhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2tqcy9KU0FjdGl2
YXRpb24uaAkocmV2aXNpb24gMzY4MjMpCisrKyBKYXZhU2NyaXB0Q29yZS9ranMvSlNBY3RpdmF0
aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDkgQEAKICNpZm5kZWYgSlNBY3RpdmF0
aW9uX2gKICNkZWZpbmUgSlNBY3RpdmF0aW9uX2gKIAorI2luY2x1ZGUgIkNvZGVCbG9jay5oIgog
I2luY2x1ZGUgIkpTVmFyaWFibGVPYmplY3QuaCIKKyNpbmNsdWRlICJSZWdpc3RlckZpbGUuaCIK
ICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2luY2x1ZGUgIm5vZGVzLmgiCiAKQEAgLTk4LDYg
KzEwMCwyNCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgSlNBY3RpdmF0aW9uRGF0YSogZCgp
IGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEpTQWN0aXZhdGlvbkRhdGEqPihKU1ZhcmlhYmxl
T2JqZWN0OjpkKTsgfQogICAgIH07CiAgICAgCisgICAgaW5saW5lIHZvaWQgSlNBY3RpdmF0aW9u
Ojpjb3B5UmVnaXN0ZXJzKCkKKyAgICB7CisgICAgICAgIEFTU0VSVCghZCgpLT5yZWdpc3RlckFy
cmF5KTsKKworICAgICAgICBzaXplX3QgbnVtUGFyYW1ldGVyc01pbnVzVGhpcyA9IGQoKS0+ZnVu
Y3Rpb25Cb2R5LT5nZW5lcmF0ZWRCeXRlQ29kZSgpLm51bVBhcmFtZXRlcnMgLSAxOworICAgICAg
ICBzaXplX3QgbnVtVmFycyA9IGQoKS0+ZnVuY3Rpb25Cb2R5LT5nZW5lcmF0ZWRCeXRlQ29kZSgp
Lm51bVZhcnM7CisgICAgICAgIHNpemVfdCBudW1Mb2NhbHMgPSBudW1WYXJzICsgbnVtUGFyYW1l
dGVyc01pbnVzVGhpczsKKworICAgICAgICBpZiAoIW51bUxvY2FscykKKyAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICBpbnQgcmVnaXN0ZXJPZmZzZXQgPSBudW1QYXJhbWV0ZXJzTWludXNU
aGlzICsgUmVnaXN0ZXJGaWxlOjpDYWxsRnJhbWVIZWFkZXJTaXplOworICAgICAgICBzaXplX3Qg
cmVnaXN0ZXJBcnJheVNpemUgPSBudW1Mb2NhbHMgKyBSZWdpc3RlckZpbGU6OkNhbGxGcmFtZUhl
YWRlclNpemU7CisKKyAgICAgICAgUmVnaXN0ZXIqIHJlZ2lzdGVyQXJyYXkgPSBjb3B5UmVnaXN0
ZXJBcnJheShkKCktPnJlZ2lzdGVycyAtIHJlZ2lzdGVyT2Zmc2V0LCByZWdpc3RlckFycmF5U2l6
ZSk7CisgICAgICAgIHNldFJlZ2lzdGVycyhyZWdpc3RlckFycmF5ICsgcmVnaXN0ZXJPZmZzZXQs
IHJlZ2lzdGVyQXJyYXkpOworICAgIH0KKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAv
LyBKU0FjdGl2YXRpb25faApJbmRleDogSmF2YVNjcmlwdENvcmUva2pzL0pTR2xvYmFsT2JqZWN0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMvSlNHbG9iYWxPYmplY3QuY3Bw
CShyZXZpc2lvbiAzNjgyMykKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9KU0dsb2JhbE9iamVjdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE5NiwxNCArMTk2LDYgQEAgc3RhdGljIGlubGluZSBKU09i
amVjdCogbGFzdEluUHJvdG90eXBlQwogCiB2b2lkIEpTR2xvYmFsT2JqZWN0OjpyZXNldChKU1Zh
bHVlKiBwcm90b3R5cGUpCiB7Ci0gICAgLy8gQ2xlYXIgYmVmb3JlIGluaXRpdGFsaXppbmcsIHRv
IGF2b2lkIGNhbGxpbmcgbWFyaygpIG9uIHN0YWxlIHBvaW50ZXJzIC0tCi0gICAgLy8gd2hpY2gg
d291bGQgYmUgd2FzdGVmdWwgLS0gb3IgdW5pbml0aWFsaXplZCBwb2ludGVycyAtLSB3aGljaCB3
b3VsZCBiZQotICAgIC8vIGRhbmdlcm91cy4gKFRoZSBhbGxvY2F0aW9ucyBiZWxvdyBtYXkgY2F1
c2UgYSBHQy4pCi0KLSAgICBBU1NFUlQoIWhhc0N1c3RvbVByb3BlcnRpZXMoKSk7Ci0gICAgc3lt
Ym9sVGFibGUoKS5jbGVhcigpOwotICAgIHNldFJlZ2lzdGVycygwLCAwLCAwKTsKLQogICAgIEV4
ZWNTdGF0ZSogZXhlYyA9IGQoKS0+Z2xvYmFsRXhlYy5nZXQoKTsKIAogICAgIC8vIFByb3RvdHlw
ZXMKSW5kZXg6IEphdmFTY3JpcHRDb3JlL2tqcy9KU0dsb2JhbE9iamVjdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEphdmFTY3JpcHRDb3JlL2tqcy9KU0dsb2JhbE9iamVjdC5oCShyZXZpc2lvbiAzNjgyMykK
KysrIEphdmFTY3JpcHRDb3JlL2tqcy9KU0dsb2JhbE9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBA
IC01Niw2ICs1Niw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBzdHJ1Y3QgSlNHbG9iYWxP
YmplY3REYXRhIDogcHVibGljIEpTVmFyaWFibGVPYmplY3REYXRhIHsKICAgICAgICAgICAgIEpT
R2xvYmFsT2JqZWN0RGF0YShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCog
dGhpc1ZhbHVlKQogICAgICAgICAgICAgICAgIDogSlNWYXJpYWJsZU9iamVjdERhdGEoJnN5bWJv
bFRhYmxlLCAwKQorICAgICAgICAgICAgICAgICwgcmVnaXN0ZXJBcnJheVNpemUoMCkKICAgICAg
ICAgICAgICAgICAsIGdsb2JhbFNjb3BlQ2hhaW4oZ2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUpCiAg
ICAgICAgICAgICAgICAgLCByZWdFeHBDb25zdHJ1Y3RvcigwKQogICAgICAgICAgICAgICAgICwg
ZXJyb3JDb25zdHJ1Y3RvcigwKQpAQCAtODEsNiArODIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgIH0KIAorICAgICAgICAgICAgc2l6ZV90IHJlZ2lzdGVy
QXJyYXlTaXplOworCiAgICAgICAgICAgICBKU0dsb2JhbE9iamVjdCogbmV4dDsKICAgICAgICAg
ICAgIEpTR2xvYmFsT2JqZWN0KiBwcmV2OwogCkBAIC0yNjksOSArMjcyLDE3IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICB2b2lkIGluaXQoSlNPYmplY3QqIHRoaXNWYWx1ZSk7CiAgICAgICAg
IHZvaWQgcmVzZXQoSlNWYWx1ZSogcHJvdG90eXBlKTsKIAorICAgICAgICB2b2lkIHNldFJlZ2lz
dGVycyhSZWdpc3RlciogcmVnaXN0ZXJzLCBSZWdpc3RlciogcmVnaXN0ZXJBcnJheSwgc2l6ZV90
IGNvdW50KTsKKwogICAgICAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90KTsgLy8gY2FuIG9u
bHkgYmUgYWxsb2NhdGVkIHdpdGggSlNHbG9iYWxEYXRhCiAgICAgfTsKIAorICAgIGlubGluZSB2
b2lkIEpTR2xvYmFsT2JqZWN0OjpzZXRSZWdpc3RlcnMoUmVnaXN0ZXIqIHJlZ2lzdGVycywgUmVn
aXN0ZXIqIHJlZ2lzdGVyQXJyYXksIHNpemVfdCBjb3VudCkKKyAgICB7CisgICAgICAgIEpTVmFy
aWFibGVPYmplY3Q6OnNldFJlZ2lzdGVycyhyZWdpc3RlcnMsIHJlZ2lzdGVyQXJyYXkpOworICAg
ICAgICBkKCktPnJlZ2lzdGVyQXJyYXlTaXplID0gY291bnQ7CisgICAgfQorCiAgICAgaW5saW5l
IHZvaWQgSlNHbG9iYWxPYmplY3Q6OmFkZFN0YXRpY0dsb2JhbHMoR2xvYmFsUHJvcGVydHlJbmZv
KiBnbG9iYWxzLCBpbnQgY291bnQpCiAgICAgewogICAgICAgICBzaXplX3Qgb2xkU2l6ZSA9IGQo
KS0+cmVnaXN0ZXJBcnJheVNpemU7CkBAIC0zMjMsNiArMzM0LDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIHJldHVybiBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPm51bWJlclByb3Rv
dHlwZSgpOwogICAgIH0KIAorCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogI2VuZGlmIC8vIEpTR2xv
YmFsT2JqZWN0X2gKSW5kZXg6IEphdmFTY3JpcHRDb3JlL2tqcy9KU1N0YXRpY1Njb3BlT2JqZWN0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUva2pzL0pTU3RhdGljU2NvcGVPYmplY3Qu
aAkocmV2aXNpb24gMzY4MjMpCisrKyBKYXZhU2NyaXB0Q29yZS9ranMvSlNTdGF0aWNTY29wZU9i
amVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw2IEBAIG5hbWVzcGFjZSBKU0N7CiAg
ICAgICAgICAgICBKU1N0YXRpY1Njb3BlT2JqZWN0RGF0YSgpCiAgICAgICAgICAgICAgICAgOiBK
U1ZhcmlhYmxlT2JqZWN0RGF0YSgmc3ltYm9sVGFibGUsICZyZWdpc3RlclN0b3JlICsgMSkKICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZWdpc3RlckFycmF5U2l6ZSA9IDE7CiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICBTeW1ib2xUYWJsZSBzeW1ib2xUYWJsZTsKICAgICAgICAg
ICAgIFJlZ2lzdGVyIHJlZ2lzdGVyU3RvcmU7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ranMvSlNW
YXJpYWJsZU9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUva2pzL0pTVmFy
aWFibGVPYmplY3QuY3BwCShyZXZpc2lvbiAzNjgyMykKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9K
U1ZhcmlhYmxlT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjgsMjAgKzY4LDQgQEAgYm9v
bCBKU1ZhcmlhYmxlT2JqZWN0Ojppc1ZhcmlhYmxlT2JqZWN0KAogICAgIHJldHVybiB0cnVlOwog
fQogCi1SZWdpc3RlciogSlNWYXJpYWJsZU9iamVjdDo6Y29weVJlZ2lzdGVyQXJyYXkoUmVnaXN0
ZXIqIHNyYywgc2l6ZV90IGNvdW50KQotewotICAgIFJlZ2lzdGVyKiByZWdpc3RlckFycmF5ID0g
bmV3IFJlZ2lzdGVyW2NvdW50XTsKLSAgICBtZW1jcHkocmVnaXN0ZXJBcnJheSwgc3JjLCBjb3Vu
dCAqIHNpemVvZihSZWdpc3RlcikpOwotCi0gICAgcmV0dXJuIHJlZ2lzdGVyQXJyYXk7Ci19Ci0K
LXZvaWQgSlNWYXJpYWJsZU9iamVjdDo6c2V0UmVnaXN0ZXJzKFJlZ2lzdGVyKiByLCBSZWdpc3Rl
ciogcmVnaXN0ZXJBcnJheSwgc2l6ZV90IGNvdW50KQotewotICAgIGlmIChyZWdpc3RlckFycmF5
ICE9IGQtPnJlZ2lzdGVyQXJyYXkuZ2V0KCkpCi0gICAgICAgIGQtPnJlZ2lzdGVyQXJyYXkuc2V0
KHJlZ2lzdGVyQXJyYXkpOwotICAgIGQtPnJlZ2lzdGVyQXJyYXlTaXplID0gY291bnQ7Ci0gICAg
ZC0+cmVnaXN0ZXJzID0gcjsKLX0KLQogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS9ranMvSlNWYXJpYWJsZU9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRD
b3JlL2tqcy9KU1ZhcmlhYmxlT2JqZWN0LmgJKHJldmlzaW9uIDM2ODIzKQorKysgSmF2YVNjcmlw
dENvcmUva2pzL0pTVmFyaWFibGVPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQs
NiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIEpTVmFyaWFibGVPYmplY3REYXRhKFN5
bWJvbFRhYmxlKiBzeW1ib2xUYWJsZV8sIFJlZ2lzdGVyKiByZWdpc3RlcnNfKQogICAgICAgICAg
ICAgICAgIDogc3ltYm9sVGFibGUoc3ltYm9sVGFibGVfKQogICAgICAgICAgICAgICAgICwgcmVn
aXN0ZXJzKHJlZ2lzdGVyc18pCi0gICAgICAgICAgICAgICAgLCByZWdpc3RlckFycmF5U2l6ZSgw
KQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIEFTU0VSVChzeW1ib2xUYWJsZV8pOwog
ICAgICAgICAgICAgfQpAQCAtNzIsNyArNzEsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
ICAgIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZTsgLy8gTWFwcyBuYW1lIC0+IG9mZnNldCBmcm9t
ICJyIiBpbiByZWdpc3RlciBmaWxlLgogICAgICAgICAgICAgUmVnaXN0ZXIqIHJlZ2lzdGVyczsg
Ly8gInIiIGluIHRoZSByZWdpc3RlciBmaWxlLgogICAgICAgICAgICAgT3duQXJyYXlQdHI8UmVn
aXN0ZXI+IHJlZ2lzdGVyQXJyYXk7IC8vIEluZGVwZW5kZW50IGNvcHkgb2YgcmVnaXN0ZXJzLCB1
c2VkIHdoZW4gYSB2YXJpYWJsZSBvYmplY3QgY29waWVzIGl0cyByZWdpc3RlcnMgb3V0IG9mIHRo
ZSByZWdpc3RlciBmaWxlLgotICAgICAgICAgICAgc2l6ZV90IHJlZ2lzdGVyQXJyYXlTaXplOwog
CiAgICAgICAgICAgICBzdGF0aWMgaW5saW5lIHB0cmRpZmZfdCBvZmZzZXRPZl9yZWdpc3RlcnMo
KQogICAgICAgICAgICAgewpAQCAtOTEsNyArODksNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgfQogCiAgICAgICAgIFJlZ2lzdGVyKiBjb3B5UmVnaXN0ZXJBcnJheShSZWdpc3Rlciogc3Jj
LCBzaXplX3QgY291bnQpOwotICAgICAgICB2b2lkIHNldFJlZ2lzdGVycyhSZWdpc3Rlciogciwg
UmVnaXN0ZXIqIHJlZ2lzdGVyQXJyYXksIHNpemVfdCBjb3VudCk7CisgICAgICAgIHZvaWQgc2V0
UmVnaXN0ZXJzKFJlZ2lzdGVyKiByLCBSZWdpc3RlciogcmVnaXN0ZXJBcnJheSk7CiAKICAgICAg
ICAgYm9vbCBzeW1ib2xUYWJsZUdldChjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlTbG90Jik7
CiAgICAgICAgIGJvb2wgc3ltYm9sVGFibGVHZXQoY29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5
U2xvdCYsIGJvb2wmIHNsb3RJc1dyaXRlYWJsZSk7CkBAIC0xNjAsNiArMTU4LDIxIEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKKyAgICBpbmxpbmUgUmVn
aXN0ZXIqIEpTVmFyaWFibGVPYmplY3Q6OmNvcHlSZWdpc3RlckFycmF5KFJlZ2lzdGVyKiBzcmMs
IHNpemVfdCBjb3VudCkKKyAgICB7CisgICAgICAgIFJlZ2lzdGVyKiByZWdpc3RlckFycmF5ID0g
bmV3IFJlZ2lzdGVyW2NvdW50XTsKKyAgICAgICAgbWVtY3B5KHJlZ2lzdGVyQXJyYXksIHNyYywg
Y291bnQgKiBzaXplb2YoUmVnaXN0ZXIpKTsKKworICAgICAgICByZXR1cm4gcmVnaXN0ZXJBcnJh
eTsKKyAgICB9CisKKyAgICBpbmxpbmUgdm9pZCBKU1ZhcmlhYmxlT2JqZWN0OjpzZXRSZWdpc3Rl
cnMoUmVnaXN0ZXIqIHJlZ2lzdGVycywgUmVnaXN0ZXIqIHJlZ2lzdGVyQXJyYXkpCisgICAgewor
ICAgICAgICBBU1NFUlQocmVnaXN0ZXJBcnJheSAhPSBkLT5yZWdpc3RlckFycmF5LmdldCgpKTsK
KyAgICAgICAgZC0+cmVnaXN0ZXJBcnJheS5zZXQocmVnaXN0ZXJBcnJheSk7CisgICAgICAgIGQt
PnJlZ2lzdGVycyA9IHJlZ2lzdGVyczsKKyAgICB9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwogCiAj
ZW5kaWYgLy8gSlNWYXJpYWJsZU9iamVjdF9oCg==
</data>
<flag name="review"
          id="10668"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>