<?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>13385</bug_id>
          
          <creation_ts>2007-04-18 00:12:12 -0700</creation_ts>
          <short_desc>[js-collector-tweaks] Shrink List (and therefore ActivationImp), discard arguments List when no longer needed</short_desc>
          <delta_ts>2007-04-22 21:36:04 -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>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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>13389</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Maciej Stachowiak">mjs</reporter>
          <assigned_to name="Maciej Stachowiak">mjs</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>14372</commentid>
    <comment_count>0</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-04-18 00:12:12 -0700</bug_when>
    <thetext>Discard the arguments List for an ActivationImp when the corresponding Context is destroyed (1.7% speedup, and this will enable further optimizations).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14373</commentid>
    <comment_count>1</comment_count>
      <attachid>14066</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-04-18 00:12:43 -0700</bug_when>
    <thetext>Created attachment 14066
05-js-gc-arguments-discard+list-shrink.patch.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14253</commentid>
    <comment_count>2</comment_count>
      <attachid>14066</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-04-18 11:15:10 -0700</bug_when>
    <thetext>Comment on attachment 14066
05-js-gc-arguments-discard+list-shrink.patch.txt

+    if (activation)
+      activation-&gt;_arguments.reset();

This is 2-space indented in a 4-space-indented function.

+    friend class Context;

I&apos;d really prefer to see this done with a public function instead of making Context a friend.

I think we can make additional simplifications to List if we don&apos;t need the !_needsMarking version.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14213</commentid>
    <comment_count>3</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-04-18 15:01:27 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 14066 [edit])
&gt; +    if (activation)
&gt; +      activation-&gt;_arguments.reset();
&gt; 
&gt; This is 2-space indented in a 4-space-indented function.
&gt; 
&gt; +    friend class Context;
&gt; 
&gt; I&apos;d really prefer to see this done with a public function instead of making
&gt; Context a friend.

I&apos;ll fix that.

&gt; I think we can make additional simplifications to List if we don&apos;t need the
&gt; !_needsMarking version. 

It&apos;s actually the _needsMarking version that was removed - now no Lists need explicit marking. I&apos;m not sure if there are other easy simplifications to be made.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14066</attachid>
            <date>2007-04-18 00:12:43 -0700</date>
            <delta_ts>2007-04-18 11:15:10 -0700</delta_ts>
            <desc>05-js-gc-arguments-discard+list-shrink.patch.txt</desc>
            <filename>05-js-gc-arguments-discard+list-shrink.patch.txt</filename>
            <type>text/plain</type>
            <size>7447</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwOTMxKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzcgQEAKKzIwMDctMDQtMTcgIE1hY2llaiBT
dGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIC0gZGlzY2FyZCB0aGUgYXJndW1lbnRzIExpc3Qg
Zm9yIGFuIEFjdGl2YXRpb25JbXAgd2hlbiB0aGUgY29ycmVzcG9uZGluZyBDb250ZXh0IGlzIGRl
c3Ryb3llZCAoMS43JSBzcGVlZHVwKQorCisgICAgICAgIEJhc2VkIGFuIGlkZWEgYnkgQ2hyaXN0
b3BoZXIgRS4gSHlkZSA8Qy5IeWRlQHBhcmFibGV1ay5mb3JjZTkuY28udWs+LiBIaXMgcGF0Y2gg
dG8gZG8gCisgICAgICAgIHRoaXMgYWxzbyBoYWQgbWFueSBvdGhlciBMaXN0IGNoYW5nZXMgYW5k
IEkgZm91bmQgdGhpcyBtdWNoIHNpbXBsZXIgc3Vic2V0IG9mIHRoZSBjaGFuZ2VzCisgICAgICAg
IHdhcyBhY3R1YWxseSBhIGhhaXIgZmFzdGVyLgorICAgICAgICAKKyAgICAgICAgVGhpcyBvcHRp
bWl6YXRpb24gaXMgdmFsaWQgYmVjYXVzZSB0aGUgYXJndW1lbnRzIGxpc3QgaXMgb25seSBrZXB0
IGFyb3VuZCB0bworICAgICAgICBsYXppbHkgbWFrZSB0aGUgYXJndW1lbnRzIG9iamVjdC4gSWYg
aXQncyBub3QgbWFkZSBieSB0aGUgdGltZSB0aGUgZnVuY3Rpb24KKyAgICAgICAgZXhpdHMsIGl0
IG5ldmVyIHdpbGwgYmUsIHNpbmNlIGFueSBmdW5jdGlvbiB0aGF0IGNhcHR1cmVzIHRoZSBjb250
aW51YXRpb24gd2lsbAorICAgICAgICBoYXZlIGl0cyBvd24gbG9jYWwgYXJndW1lbnRzIHZhcmlh
YmxlIGluIHNjb3BlLgorICAgICAgICAKKyAgICAgICAgQmVzaWRlcyB0aGUgMS43JSBzcGVlZCBp
bXByb3ZlbWVudCwgaXQgc2hyaW5rcyBMaXN0IGJ5IDQgYnl0ZXMKKyAgICAgICAgKHdoaWNoIGlu
IHR1cm4gc2hyaW5rcyBBY3RpdmF0aW9uSW1wIGJ5IDQgYnl0ZXMpLgorICAgICAgICAKKyAgICAg
ICAgKiBranMvQ29udGV4dC5jcHA6CisgICAgICAgIChLSlM6OkNvbnRleHQ6On5Db250ZXh0KTog
Q2xlYXIgdGhlIGFjdGl2YXRpb24ncyBhcmd1bWVudHMgbGlzdC4KKyAgICAgICAgKiBranMvZnVu
Y3Rpb24uY3BwOgorICAgICAgICAoS0pTOjpBY3RpdmF0aW9uSW1wOjpBY3RpdmF0aW9uSW1wKTog
QWRqdXN0ZWQgZm9yIGxpc3QgY2hhbmdlcy4KKyAgICAgICAgKEtKUzo6QWN0aXZhdGlvbkltcDo6
bWFyayk6IE5vIG5lZWQgdG8gbWFyaywgbGlzdHMgYXJlIGFsd2F5cyBwcm90ZWN0ZWQgKHRoaXMg
ZG9lc24ndAorICAgICAgICBjYXVzZSBhIHJlZi1jeWNsZSBmb3IgcmVhc29ucyBzdGF0ZWQgYWJv
dmUpLgorICAgICAgICAoS0pTOjpBY3RpdmF0aW9uSW1wOjpjcmVhdGVBcmd1bWVudHNPYmplY3Qp
OiBDbGVhciBhcmd1bWVudHMgbGlzdC4KKyAgICAgICAgKiBranMvZnVuY3Rpb24uaDoKKyAgICAg
ICAgKiBranMvbGlzdC5jcHA6CisgICAgICAgIChLSlM6Okxpc3Q6Okxpc3QpOiBObyBtb3JlIG5l
ZWRzTWFya2luZyBib29sZWFuCisgICAgICAgIChLSlM6Okxpc3Q6Om9wZXJhdG9yPSk6IGRpdHRv
CisgICAgICAgICoga2pzL2xpc3QuaDoKKyAgICAgICAgKEtKUzo6TGlzdDo6TGlzdCk6IGRpdHRv
CisgICAgICAgIChLSlM6Okxpc3Q6OnJlc2V0KTogZGl0dG8KKyAgICAgICAgKEtKUzo6TGlzdDo6
ZGVyZWYpOiBkaXR0bworCiAyMDA3LTA0LTEyICBEZW5lYiBNZWtldGEgIDxkbWVrZXRhQGFkb2Jl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IEphdmFTY3Jp
cHRDb3JlL2tqcy9Db250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMv
Q29udGV4dC5jcHAJKHJldmlzaW9uIDIwOTMxKQorKysgSmF2YVNjcmlwdENvcmUva2pzL0NvbnRl
eHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NCw2ICs4NCwxNCBAQCBDb250ZXh0OjpDb250ZXh0
KEpTT2JqZWN0KiBnbG9iLCBJbnRlcnByCiBDb250ZXh0Ojp+Q29udGV4dCgpCiB7CiAgICAgbV9p
bnRlcnByZXRlci0+c2V0Q29udGV4dChtX2NhbGxpbmdDb250ZXh0KTsKKworICAgIC8vIFRoZSBh
cmd1bWVudHMgbGlzdCBpcyBvbmx5IG5lZWRlZCB0byBwb3RlbnRpYWxseSBjcmVhdGUgdGhlICBh
cmd1bWVudHMgb2JqZWN0LCAKKyAgICAvLyB3aGljaCBpc24ndCBhY2Nlc3NpYmxlIGZyb20gbmVz
dGVkIHNjb3BlcyBzbyB3ZSBjYW4gZGlzY2FyZCB0aGUgbGlzdCBhcyBzb29uIAorICAgIC8vIGFz
IHRoZSBmdW5jdGlvbiBpcyBkb25lIHJ1bm5pbmcuCisgICAgLy8gVGhpcyBwcmV2ZW50cyBsaXN0
cyBvZiBMaXN0cyBmcm9tIGJ1aWxkaW5nIHVwLCB3YWl0aW5nIHRvIGJlIGdhcmJhZ2UgY29sbGVj
dGVkCisgICAgQWN0aXZhdGlvbkltcCogYWN0aXZhdGlvbiA9IHN0YXRpY19jYXN0PEFjdGl2YXRp
b25JbXAqPihtX2FjdGl2YXRpb24pOworICAgIGlmIChhY3RpdmF0aW9uKQorICAgICAgYWN0aXZh
dGlvbi0+X2FyZ3VtZW50cy5yZXNldCgpOwogfQogCiB2b2lkIENvbnRleHQ6Om1hcmsoKQpJbmRl
eDogSmF2YVNjcmlwdENvcmUva2pzL2Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2Ny
aXB0Q29yZS9ranMvZnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMDkzMSkKKysrIEphdmFTY3JpcHRD
b3JlL2tqcy9mdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwOSw5ICs1MDksOCBAQCBj
b25zdCBDbGFzc0luZm8gQWN0aXZhdGlvbkltcDo6aW5mbyA9IHsiCiAKIC8vIEVDTUEgMTAuMS42
CiBBY3RpdmF0aW9uSW1wOjpBY3RpdmF0aW9uSW1wKEZ1bmN0aW9uSW1wKiBmdW5jdGlvbiwgY29u
c3QgTGlzdCYgYXJndW1lbnRzKQotICAgIDogX2Z1bmN0aW9uKGZ1bmN0aW9uKSwgX2FyZ3VtZW50
cyh0cnVlKSwgX2FyZ3VtZW50c09iamVjdCgwKQorICAgIDogX2Z1bmN0aW9uKGZ1bmN0aW9uKSwg
X2FyZ3VtZW50cyhhcmd1bWVudHMpLCBfYXJndW1lbnRzT2JqZWN0KDApCiB7Ci0gIF9hcmd1bWVu
dHMuY29weUZyb20oYXJndW1lbnRzKTsKICAgLy8gRklYTUU6IERvIHdlIG5lZWQgdG8gc3VwcG9y
dCBlbnVtZXJhdGluZyB0aGUgYXJndW1lbnRzIHByb3BlcnR5PwogfQogCkBAIC01NzAsMTUgKzU2
OSwxNiBAQCB2b2lkIEFjdGl2YXRpb25JbXA6Om1hcmsoKQogewogICAgIGlmIChfZnVuY3Rpb24g
JiYgIV9mdW5jdGlvbi0+bWFya2VkKCkpIAogICAgICAgICBfZnVuY3Rpb24tPm1hcmsoKTsKLSAg
ICBfYXJndW1lbnRzLm1hcmsoKTsKICAgICBpZiAoX2FyZ3VtZW50c09iamVjdCAmJiAhX2FyZ3Vt
ZW50c09iamVjdC0+bWFya2VkKCkpCiAgICAgICAgIF9hcmd1bWVudHNPYmplY3QtPm1hcmsoKTsK
ICAgICBKU09iamVjdDo6bWFyaygpOwogfQogCi12b2lkIEFjdGl2YXRpb25JbXA6OmNyZWF0ZUFy
Z3VtZW50c09iamVjdChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit2b2lkIEFjdGl2YXRpb25JbXA6
OmNyZWF0ZUFyZ3VtZW50c09iamVjdChFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgIF9hcmd1bWVudHNP
YmplY3QgPSBuZXcgQXJndW1lbnRzKGV4ZWMsIF9mdW5jdGlvbiwgX2FyZ3VtZW50cywgY29uc3Rf
Y2FzdDxBY3RpdmF0aW9uSW1wKj4odGhpcykpOworICAvLyBUaGUgYXJndW1lbnRzIGxpc3QgaXMg
b25seSBuZWVkZWQgdG8gY3JlYXRlIHRoZSBhcmd1bWVudHMgb2JqZWN0LCBzbyBkaXNjYXJkIGl0
IG5vdworICBfYXJndW1lbnRzLnJlc2V0KCk7CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSBHbG9iYWxGdW5jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ranMvZnVuY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZh
U2NyaXB0Q29yZS9ranMvZnVuY3Rpb24uaAkocmV2aXNpb24gMjA5MzEpCisrKyBKYXZhU2NyaXB0
Q29yZS9ranMvZnVuY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTczLDExICsxNzMsMTMgQEAg
bmFtZXNwYWNlIEtKUyB7CiAgIHByaXZhdGU6CiAgICAgc3RhdGljIFByb3BlcnR5U2xvdDo6R2V0
VmFsdWVGdW5jIGdldEFyZ3VtZW50c0dldHRlcigpOwogICAgIHN0YXRpYyBKU1ZhbHVlKiBhcmd1
bWVudHNHZXR0ZXIoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBjb25zdCBJZGVudGlmaWVyJiwgY29u
c3QgUHJvcGVydHlTbG90JiBzbG90KTsKLSAgICB2b2lkIGNyZWF0ZUFyZ3VtZW50c09iamVjdChF
eGVjU3RhdGUqKSBjb25zdDsKKyAgICB2b2lkIGNyZWF0ZUFyZ3VtZW50c09iamVjdChFeGVjU3Rh
dGUqKTsKICAgICAKICAgICBGdW5jdGlvbkltcCogX2Z1bmN0aW9uOwogICAgIExpc3QgX2FyZ3Vt
ZW50czsKICAgICBtdXRhYmxlIEFyZ3VtZW50cyogX2FyZ3VtZW50c09iamVjdDsKKworICAgIGZy
aWVuZCBjbGFzcyBDb250ZXh0OwogICB9OwogCiAgIGNsYXNzIEdsb2JhbEZ1bmNJbXAgOiBwdWJs
aWMgSW50ZXJuYWxGdW5jdGlvbkltcCB7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ranMvbGlzdC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUva2pzL2xpc3QuY3BwCShyZXZpc2lvbiAy
MDkzMSkKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9saXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTY0LDcgKzE2NCw3IEBAIHN0YXRpYyBpbmxpbmUgTGlzdEltcCAqYWxsb2NhdGVMaXN0SW1wKCkK
ICAgICByZXR1cm4gaW1wOwogfQogCi1MaXN0OjpMaXN0KCkgOiBfaW1wQmFzZShhbGxvY2F0ZUxp
c3RJbXAoKSksIF9uZWVkc01hcmtpbmcoZmFsc2UpCitMaXN0OjpMaXN0KCkgOiBfaW1wQmFzZShh
bGxvY2F0ZUxpc3RJbXAoKSkKIHsKICAgICBMaXN0SW1wICppbXAgPSBzdGF0aWNfY2FzdDxMaXN0
SW1wICo+KF9pbXBCYXNlKTsKICAgICBpbXAtPnNpemUgPSAwOwpAQCAtMTgwLDIyICsxODAsNiBA
QCBMaXN0OjpMaXN0KCkgOiBfaW1wQmFzZShhbGxvY2F0ZUxpc3RJbXAoCiAjZW5kaWYKIH0KIAot
TGlzdDo6TGlzdChib29sIG5lZWRzTWFya2luZykgOiBfaW1wQmFzZShhbGxvY2F0ZUxpc3RJbXAo
KSksIF9uZWVkc01hcmtpbmcobmVlZHNNYXJraW5nKQotewotICAgIExpc3RJbXAgKmltcCA9IHN0
YXRpY19jYXN0PExpc3RJbXAgKj4oX2ltcEJhc2UpOwotICAgIGltcC0+c2l6ZSA9IDA7Ci0gICAg
aW1wLT5yZWZDb3VudCA9IDE7Ci0gICAgaW1wLT52YWx1ZVJlZkNvdW50ID0gIW5lZWRzTWFya2lu
ZzsKLSAgICBpbXAtPmNhcGFjaXR5ID0gMDsKLSAgICBpbXAtPm92ZXJmbG93ID0gMDsKLQotI2lm
IERVTVBfU1RBVElTVElDUwotICAgIGlmICgrK251bUxpc3RzID4gbnVtTGlzdHNIaWdoV2F0ZXJN
YXJrKQotICAgICAgICBudW1MaXN0c0hpZ2hXYXRlck1hcmsgPSBudW1MaXN0czsKLSAgICBpbXAt
PnNpemVIaWdoV2F0ZXJNYXJrID0gMDsKLSNlbmRpZgotfQotCiB2b2lkIExpc3Q6Om1hcmtWYWx1
ZXMoKQogewogICAgIHN0YXRpY19jYXN0PExpc3RJbXAgKj4oX2ltcEJhc2UpLT5tYXJrVmFsdWVz
KCk7CkBAIC0zNDYsOCArMzMwLDcgQEAgTGlzdCAmTGlzdDo6b3BlcmF0b3I9KGNvbnN0IExpc3Qg
JmIpCiB7CiAgICAgTGlzdEltcEJhc2UgKmJJbXBCYXNlID0gYi5faW1wQmFzZTsKICAgICArK2JJ
bXBCYXNlLT5yZWZDb3VudDsKLSAgICBpZiAoIV9uZWVkc01hcmtpbmcpCi0gICAgICAgICsrYklt
cEJhc2UtPnZhbHVlUmVmQ291bnQ7CisgICAgKytiSW1wQmFzZS0+dmFsdWVSZWZDb3VudDsKICAg
ICBkZXJlZigpOwogICAgIF9pbXBCYXNlID0gYkltcEJhc2U7CiAgICAgcmV0dXJuICp0aGlzOwpJ
bmRleDogSmF2YVNjcmlwdENvcmUva2pzL2xpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9ranMvbGlzdC5oCShyZXZpc2lvbiAyMDkzMSkKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9s
aXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDEwICs0OCw5IEBAIG5hbWVzcGFjZSBLSlMgewog
ICAgIGNsYXNzIExpc3QgewogICAgIHB1YmxpYzoKICAgICAgICAgTGlzdCgpOwotICAgICAgICBl
eHBsaWNpdCBMaXN0KGJvb2wgbmVlZHNNYXJraW5nKTsKICAgICAgICAgfkxpc3QoKSB7IGRlcmVm
KCk7IH0KIAotICAgICAgICBMaXN0KGNvbnN0IExpc3QgJmIpIDogX2ltcEJhc2UoYi5faW1wQmFz
ZSksIF9uZWVkc01hcmtpbmcoZmFsc2UpIHsKKyAgICAgICAgTGlzdChjb25zdCBMaXN0ICZiKSA6
IF9pbXBCYXNlKGIuX2ltcEJhc2UpIHsKICAgICAgICAgICAgICsrX2ltcEJhc2UtPnJlZkNvdW50
OyAKICAgICAgICAgICAgICsrX2ltcEJhc2UtPnZhbHVlUmVmQ291bnQ7IAogICAgICAgICB9CkBA
IC02OCw2ICs2Nyw4IEBAIG5hbWVzcGFjZSBLSlMgewogICAgICAgICAgKi8KICAgICAgICAgdm9p
ZCBjbGVhcigpOwogCisgICAgICAgIHZvaWQgcmVzZXQoKSB7IGRlcmVmKCk7ICsrKF9pbXBCYXNl
ID0gZW1wdHkoKS5faW1wQmFzZSktPnJlZkNvdW50OyB9CisKICAgICAgICAgLyoqCiAgICAgICAg
ICAqIE1ha2UgYSBjb3B5IG9mIHRoZSBsaXN0CiAgICAgICAgICAqLwpAQCAtMTIwLDE0ICsxMjEs
MTEgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgICAgICAqLwogICAgICAgICBzdGF0aWMgY29uc3Qg
TGlzdCAmZW1wdHkoKTsKICAgICAgICAgCi0gICAgICAgIHZvaWQgbWFyaygpIHsgaWYgKF9pbXBC
YXNlLT52YWx1ZVJlZkNvdW50ID09IDApIG1hcmtWYWx1ZXMoKTsgfQotCiAgICAgICAgIHN0YXRp
YyB2b2lkIG1hcmtQcm90ZWN0ZWRMaXN0cygpOwogICAgIHByaXZhdGU6CiAgICAgICAgIExpc3RJ
bXBCYXNlICpfaW1wQmFzZTsKLSAgICAgICAgYm9vbCBfbmVlZHNNYXJraW5nOwogICAgICAgICAK
LSAgICAgICAgdm9pZCBkZXJlZigpIHsgaWYgKCFfbmVlZHNNYXJraW5nKSAtLV9pbXBCYXNlLT52
YWx1ZVJlZkNvdW50OyBpZiAoLS1faW1wQmFzZS0+cmVmQ291bnQgPT0gMCkgcmVsZWFzZSgpOyB9
CisgICAgICAgIHZvaWQgZGVyZWYoKSB7IC0tX2ltcEJhc2UtPnZhbHVlUmVmQ291bnQ7IGlmICgt
LV9pbXBCYXNlLT5yZWZDb3VudCA9PSAwKSByZWxlYXNlKCk7IH0KIAogICAgICAgICB2b2lkIHJl
bGVhc2UoKTsKICAgICAgICAgdm9pZCBtYXJrVmFsdWVzKCk7Cg==
</data>
<flag name="review"
          id="5681"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>