<?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>4419</bug_id>
          
          <creation_ts>2005-08-13 22:56:09 -0700</creation_ts>
          <short_desc>speed up JavaScript by improving KJS::List</short_desc>
          <delta_ts>2005-08-14 09:32:03 -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>420+</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>Enhancement</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>16600</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-08-13 22:56:09 -0700</bug_when>
    <thetext>I did some analysis of JavaScript iBench performance, and found some speedups. This one is additional 
inlining of KJS::List functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16601</commentid>
    <comment_count>1</comment_count>
      <attachid>3366</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-08-13 22:57:21 -0700</bug_when>
    <thetext>Created attachment 3366
patch that makes delete inline and makes list pool entries 12 bytes smaller</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16602</commentid>
    <comment_count>2</comment_count>
      <attachid>3367</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-08-13 22:57:22 -0700</bug_when>
    <thetext>Created attachment 3367
patch that makes delete inline and makes list pool entries 12 bytes smaller</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16608</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-08-13 23:05:32 -0700</bug_when>
    <thetext>I measured a 1% improvement on JavaScript iBench performance on my machine with this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16615</commentid>
    <comment_count>4</comment_count>
      <attachid>3371</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-08-13 23:38:26 -0700</bug_when>
    <thetext>Created attachment 3371
improved patch that deletes an empty function left behind before</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3366</attachid>
            <date>2005-08-13 22:57:21 -0700</date>
            <delta_ts>2005-08-13 23:04:29 -0700</delta_ts>
            <desc>patch that makes delete inline and makes list pool entries 12 bytes smaller</desc>
            <filename>ListSmallerAndInlinePatch.txt</filename>
            <type>text/plain</type>
            <size>3918</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">LS0tIGxpc3QuY3BwCTIwMDUtMDgtMDcgMjA6MTg6NDUuMDAwMDAwMDAwIC0wNzAwCisrKyAvVm9s
dW1lcy9Ib21lL2RhcmluL0Rlc2t0b3AvUGF0Y2hlcy9zYXZlZCBzcGVlZHVwcy9saXN0LmNwcAky
MDA1LTA3LTI1IDIzOjMzOjM4LjAwMDAwMDAwMCAtMDcwMApAQCAtMzEsMTkgKzMxLDE4IEBACiBj
b25zdCBpbnQgcG9vbFNpemUgPSA1MTI7CiBjb25zdCBpbnQgaW5saW5lVmFsdWVzU2l6ZSA9IDQ7
CiAKLQogZW51bSBMaXN0SW1wU3RhdGUgeyB1bnVzZWRJblBvb2wgPSAwLCB1c2VkSW5Qb29sLCB1
c2VkT25IZWFwLCBpbW1vcnRhbCB9OwogCiBzdHJ1Y3QgTGlzdEltcCA6IExpc3RJbXBCYXNlCiB7
CiAgICAgTGlzdEltcFN0YXRlIHN0YXRlOwotICAgIFZhbHVlSW1wICp2YWx1ZXNbaW5saW5lVmFs
dWVzU2l6ZV07CiAgICAgaW50IGNhcGFjaXR5OwogICAgIFZhbHVlSW1wICoqb3ZlcmZsb3c7CiAK
LSAgICBMaXN0SW1wICpuZXh0SW5GcmVlTGlzdDsKLSAgICBMaXN0SW1wICpuZXh0SW5PdXRzaWRl
TGlzdDsKLSAgICBMaXN0SW1wICpwcmV2SW5PdXRzaWRlTGlzdDsKKyAgICB1bmlvbiB7CisgICAg
ICAgIFZhbHVlSW1wICp2YWx1ZXNbaW5saW5lVmFsdWVzU2l6ZV07CisgICAgICAgIExpc3RJbXAg
Km5leHRJbkZyZWVMaXN0OworICAgIH07CiAKICNpZiBEVU1QX1NUQVRJU1RJQ1MKICAgICBpbnQg
c2l6ZUhpZ2hXYXRlck1hcms7CkBAIC01Miw5ICs1MSwxNSBAQAogICAgIHZvaWQgbWFya1ZhbHVl
cygpOwogfTsKIAorc3RydWN0IEhlYXBMaXN0SW1wIDogTGlzdEltcAoreworICAgIEhlYXBMaXN0
SW1wICpuZXh0SW5IZWFwTGlzdDsKKyAgICBIZWFwTGlzdEltcCAqcHJldkluSGVhcExpc3Q7Cit9
OworCiBzdGF0aWMgTGlzdEltcCBwb29sW3Bvb2xTaXplXTsKIHN0YXRpYyBMaXN0SW1wICpwb29s
RnJlZUxpc3Q7Ci1zdGF0aWMgTGlzdEltcCAqb3V0c2lkZVBvb2xMaXN0Oworc3RhdGljIEhlYXBM
aXN0SW1wICpoZWFwTGlzdDsKIHN0YXRpYyBpbnQgcG9vbFVzZWQ7CiAKICNpZiBEVU1QX1NUQVRJ
U1RJQ1MKQEAgLTExMiwxMCArMTE3LDkgQEAKIHZvaWQgTGlzdDo6bWFya1Byb3RlY3RlZExpc3Rz
KCkKIHsKICAgICBpbnQgc2VlbiA9IDA7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBwb29sU2l6
ZTsgaSsrKSB7Ci0gICAgICAgIGlmIChzZWVuID49IHBvb2xVc2VkKQotICAgICAgICAgICAgYnJl
YWs7CisgICAgaW50IHVzZWQgPSBwb29sVXNlZDsKIAorICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
cG9vbFNpemUgJiYgc2VlbiA8IHVzZWQ7IGkrKykgewogICAgICAgICBpZiAocG9vbFtpXS5zdGF0
ZSA9PSB1c2VkSW5Qb29sKSB7CiAgICAgICAgICAgICBzZWVuKys7CiAgICAgICAgICAgICBpZiAo
cG9vbFtpXS52YWx1ZVJlZkNvdW50ID4gMCkgewpAQCAtMTI0LDcgKzEyOCw3IEBACiAgICAgICAg
IH0KICAgICB9CiAKLSAgICBmb3IgKExpc3RJbXAgKmwgPSBvdXRzaWRlUG9vbExpc3Q7IGw7IGwg
PSBsLT5uZXh0SW5PdXRzaWRlTGlzdCkgeworICAgIGZvciAoSGVhcExpc3RJbXAgKmwgPSBoZWFw
TGlzdDsgbDsgbCA9IGwtPm5leHRJbkhlYXBMaXN0KSB7CiAgICAgICAgIGlmIChsLT52YWx1ZVJl
ZkNvdW50ID4gMCkgewogICAgICAgICAgICAgbC0+bWFya1ZhbHVlcygpOwogICAgICAgICB9CkBA
IC0xNDMsNDIgKzE0NywyMSBAQAogCXJldHVybiBpbXA7CiAgICAgfQogICAgIAotICAgIExpc3RJ
bXAgKmltcCA9IG5ldyBMaXN0SW1wOworICAgIEhlYXBMaXN0SW1wICppbXAgPSBuZXcgSGVhcExp
c3RJbXA7CiAgICAgaW1wLT5zdGF0ZSA9IHVzZWRPbkhlYXA7CiAgICAgLy8gbGluayBpbnRvIG91
dHNpZGUgcG9vbCBsaXN0Ci0gICAgaWYgKG91dHNpZGVQb29sTGlzdCkgewotICAgICAgICBvdXRz
aWRlUG9vbExpc3QtPnByZXZJbk91dHNpZGVMaXN0ID0gaW1wOworICAgIGlmIChoZWFwTGlzdCkg
eworICAgICAgICBoZWFwTGlzdC0+cHJldkluSGVhcExpc3QgPSBpbXA7CiAgICAgfQotICAgIGlt
cC0+bmV4dEluT3V0c2lkZUxpc3QgPSBvdXRzaWRlUG9vbExpc3Q7Ci0gICAgaW1wLT5wcmV2SW5P
dXRzaWRlTGlzdCA9IE5VTEw7Ci0gICAgb3V0c2lkZVBvb2xMaXN0ID0gaW1wOworICAgIGltcC0+
bmV4dEluSGVhcExpc3QgPSBoZWFwTGlzdDsKKyAgICBpbXAtPnByZXZJbkhlYXBMaXN0ID0gTlVM
TDsKKyAgICBoZWFwTGlzdCA9IGltcDsKIAogICAgIHJldHVybiBpbXA7CiB9CiAKIHN0YXRpYyBp
bmxpbmUgdm9pZCBkZWFsbG9jYXRlTGlzdEltcChMaXN0SW1wICppbXApCiB7Ci0gICAgaWYgKGlt
cC0+c3RhdGUgPT0gdXNlZEluUG9vbCkgewotICAgICAgICBpbXAtPnN0YXRlID0gdW51c2VkSW5Q
b29sOwotCWltcC0+bmV4dEluRnJlZUxpc3QgPSBwb29sRnJlZUxpc3Q7Ci0JcG9vbEZyZWVMaXN0
ID0gaW1wOwotCXBvb2xVc2VkLS07Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgLy8gdW5saW5rIGZy
b20gb3V0c2lkZSBwb29sIGxpc3QKLSAgICAgICAgaWYgKCFpbXAtPnByZXZJbk91dHNpZGVMaXN0
KSB7Ci0gICAgICAgICAgICBvdXRzaWRlUG9vbExpc3QgPSBpbXAtPm5leHRJbk91dHNpZGVMaXN0
OwotICAgICAgICAgICAgaWYgKG91dHNpZGVQb29sTGlzdCkgewotICAgICAgICAgICAgICAgIG91
dHNpZGVQb29sTGlzdC0+cHJldkluT3V0c2lkZUxpc3QgPSBOVUxMOwotICAgICAgICAgICAgfQot
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaW1wLT5wcmV2SW5PdXRzaWRlTGlzdC0+bmV4
dEluT3V0c2lkZUxpc3QgPSBpbXAtPm5leHRJbk91dHNpZGVMaXN0OwotICAgICAgICAgICAgaWYg
KGltcC0+bmV4dEluT3V0c2lkZUxpc3QpIHsKLSAgICAgICAgICAgICAgICBpbXAtPm5leHRJbk91
dHNpZGVMaXN0LT5wcmV2SW5PdXRzaWRlTGlzdCA9IGltcC0+cHJldkluT3V0c2lkZUxpc3Q7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICBkZWxldGUgaW1wOwotICAgIH0KIH0K
IAogTGlzdDo6TGlzdCgpIDogX2ltcEJhc2UoYWxsb2NhdGVMaXN0SW1wKCkpLCBfbmVlZHNNYXJr
aW5nKGZhbHNlKQpAQCAtMjMwLDcgKzIxMywzMSBAQAogI2VuZGlmCiAKICAgICBkZWxldGUgW10g
aW1wLT5vdmVyZmxvdzsKLSAgICBkZWFsbG9jYXRlTGlzdEltcChpbXApOworCisgICAgaWYgKGlt
cC0+c3RhdGUgPT0gdXNlZEluUG9vbCkgeworICAgICAgICBpbXAtPnN0YXRlID0gdW51c2VkSW5Q
b29sOworCWltcC0+bmV4dEluRnJlZUxpc3QgPSBwb29sRnJlZUxpc3Q7CisJcG9vbEZyZWVMaXN0
ID0gaW1wOworCXBvb2xVc2VkLS07CisgICAgfSBlbHNlIHsKKyAgICAgICAgYXNzZXJ0KGltcC0+
c3RhdGUgPT0gdXNlZE9uSGVhcCk7CisgICAgICAgIEhlYXBMaXN0SW1wICpsaXN0ID0gc3RhdGlj
X2Nhc3Q8SGVhcExpc3RJbXAgKj4oaW1wKTsKKworICAgICAgICAvLyB1bmxpbmsgZnJvbSBvdXRz
aWRlIHBvb2wgbGlzdAorICAgICAgICBpZiAoIWxpc3QtPnByZXZJbkhlYXBMaXN0KSB7CisgICAg
ICAgICAgICBoZWFwTGlzdCA9IGxpc3QtPm5leHRJbkhlYXBMaXN0OworICAgICAgICAgICAgaWYg
KGhlYXBMaXN0KSB7CisgICAgICAgICAgICAgICAgaGVhcExpc3QtPnByZXZJbkhlYXBMaXN0ID0g
TlVMTDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGxpc3Qt
PnByZXZJbkhlYXBMaXN0LT5uZXh0SW5IZWFwTGlzdCA9IGxpc3QtPm5leHRJbkhlYXBMaXN0Owor
ICAgICAgICAgICAgaWYgKGxpc3QtPm5leHRJbkhlYXBMaXN0KSB7CisgICAgICAgICAgICAgICAg
bGlzdC0+bmV4dEluSGVhcExpc3QtPnByZXZJbkhlYXBMaXN0ID0gbGlzdC0+cHJldkluSGVhcExp
c3Q7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBkZWxldGUgbGlzdDsKKyAg
ICB9CiB9CiAKIFZhbHVlSW1wICpMaXN0OjphdChpbnQgaSkgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3367</attachid>
            <date>2005-08-13 22:57:22 -0700</date>
            <delta_ts>2005-08-13 23:38:35 -0700</delta_ts>
            <desc>patch that makes delete inline and makes list pool entries 12 bytes smaller</desc>
            <filename>ListSmallerAndInlinePatch.txt</filename>
            <type>text/plain</type>
            <size>3918</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">LS0tIGxpc3QuY3BwCTIwMDUtMDgtMDcgMjA6MTg6NDUuMDAwMDAwMDAwIC0wNzAwCisrKyAvVm9s
dW1lcy9Ib21lL2RhcmluL0Rlc2t0b3AvUGF0Y2hlcy9zYXZlZCBzcGVlZHVwcy9saXN0LmNwcAky
MDA1LTA3LTI1IDIzOjMzOjM4LjAwMDAwMDAwMCAtMDcwMApAQCAtMzEsMTkgKzMxLDE4IEBACiBj
b25zdCBpbnQgcG9vbFNpemUgPSA1MTI7CiBjb25zdCBpbnQgaW5saW5lVmFsdWVzU2l6ZSA9IDQ7
CiAKLQogZW51bSBMaXN0SW1wU3RhdGUgeyB1bnVzZWRJblBvb2wgPSAwLCB1c2VkSW5Qb29sLCB1
c2VkT25IZWFwLCBpbW1vcnRhbCB9OwogCiBzdHJ1Y3QgTGlzdEltcCA6IExpc3RJbXBCYXNlCiB7
CiAgICAgTGlzdEltcFN0YXRlIHN0YXRlOwotICAgIFZhbHVlSW1wICp2YWx1ZXNbaW5saW5lVmFs
dWVzU2l6ZV07CiAgICAgaW50IGNhcGFjaXR5OwogICAgIFZhbHVlSW1wICoqb3ZlcmZsb3c7CiAK
LSAgICBMaXN0SW1wICpuZXh0SW5GcmVlTGlzdDsKLSAgICBMaXN0SW1wICpuZXh0SW5PdXRzaWRl
TGlzdDsKLSAgICBMaXN0SW1wICpwcmV2SW5PdXRzaWRlTGlzdDsKKyAgICB1bmlvbiB7CisgICAg
ICAgIFZhbHVlSW1wICp2YWx1ZXNbaW5saW5lVmFsdWVzU2l6ZV07CisgICAgICAgIExpc3RJbXAg
Km5leHRJbkZyZWVMaXN0OworICAgIH07CiAKICNpZiBEVU1QX1NUQVRJU1RJQ1MKICAgICBpbnQg
c2l6ZUhpZ2hXYXRlck1hcms7CkBAIC01Miw5ICs1MSwxNSBAQAogICAgIHZvaWQgbWFya1ZhbHVl
cygpOwogfTsKIAorc3RydWN0IEhlYXBMaXN0SW1wIDogTGlzdEltcAoreworICAgIEhlYXBMaXN0
SW1wICpuZXh0SW5IZWFwTGlzdDsKKyAgICBIZWFwTGlzdEltcCAqcHJldkluSGVhcExpc3Q7Cit9
OworCiBzdGF0aWMgTGlzdEltcCBwb29sW3Bvb2xTaXplXTsKIHN0YXRpYyBMaXN0SW1wICpwb29s
RnJlZUxpc3Q7Ci1zdGF0aWMgTGlzdEltcCAqb3V0c2lkZVBvb2xMaXN0Oworc3RhdGljIEhlYXBM
aXN0SW1wICpoZWFwTGlzdDsKIHN0YXRpYyBpbnQgcG9vbFVzZWQ7CiAKICNpZiBEVU1QX1NUQVRJ
U1RJQ1MKQEAgLTExMiwxMCArMTE3LDkgQEAKIHZvaWQgTGlzdDo6bWFya1Byb3RlY3RlZExpc3Rz
KCkKIHsKICAgICBpbnQgc2VlbiA9IDA7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBwb29sU2l6
ZTsgaSsrKSB7Ci0gICAgICAgIGlmIChzZWVuID49IHBvb2xVc2VkKQotICAgICAgICAgICAgYnJl
YWs7CisgICAgaW50IHVzZWQgPSBwb29sVXNlZDsKIAorICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
cG9vbFNpemUgJiYgc2VlbiA8IHVzZWQ7IGkrKykgewogICAgICAgICBpZiAocG9vbFtpXS5zdGF0
ZSA9PSB1c2VkSW5Qb29sKSB7CiAgICAgICAgICAgICBzZWVuKys7CiAgICAgICAgICAgICBpZiAo
cG9vbFtpXS52YWx1ZVJlZkNvdW50ID4gMCkgewpAQCAtMTI0LDcgKzEyOCw3IEBACiAgICAgICAg
IH0KICAgICB9CiAKLSAgICBmb3IgKExpc3RJbXAgKmwgPSBvdXRzaWRlUG9vbExpc3Q7IGw7IGwg
PSBsLT5uZXh0SW5PdXRzaWRlTGlzdCkgeworICAgIGZvciAoSGVhcExpc3RJbXAgKmwgPSBoZWFw
TGlzdDsgbDsgbCA9IGwtPm5leHRJbkhlYXBMaXN0KSB7CiAgICAgICAgIGlmIChsLT52YWx1ZVJl
ZkNvdW50ID4gMCkgewogICAgICAgICAgICAgbC0+bWFya1ZhbHVlcygpOwogICAgICAgICB9CkBA
IC0xNDMsNDIgKzE0NywyMSBAQAogCXJldHVybiBpbXA7CiAgICAgfQogICAgIAotICAgIExpc3RJ
bXAgKmltcCA9IG5ldyBMaXN0SW1wOworICAgIEhlYXBMaXN0SW1wICppbXAgPSBuZXcgSGVhcExp
c3RJbXA7CiAgICAgaW1wLT5zdGF0ZSA9IHVzZWRPbkhlYXA7CiAgICAgLy8gbGluayBpbnRvIG91
dHNpZGUgcG9vbCBsaXN0Ci0gICAgaWYgKG91dHNpZGVQb29sTGlzdCkgewotICAgICAgICBvdXRz
aWRlUG9vbExpc3QtPnByZXZJbk91dHNpZGVMaXN0ID0gaW1wOworICAgIGlmIChoZWFwTGlzdCkg
eworICAgICAgICBoZWFwTGlzdC0+cHJldkluSGVhcExpc3QgPSBpbXA7CiAgICAgfQotICAgIGlt
cC0+bmV4dEluT3V0c2lkZUxpc3QgPSBvdXRzaWRlUG9vbExpc3Q7Ci0gICAgaW1wLT5wcmV2SW5P
dXRzaWRlTGlzdCA9IE5VTEw7Ci0gICAgb3V0c2lkZVBvb2xMaXN0ID0gaW1wOworICAgIGltcC0+
bmV4dEluSGVhcExpc3QgPSBoZWFwTGlzdDsKKyAgICBpbXAtPnByZXZJbkhlYXBMaXN0ID0gTlVM
TDsKKyAgICBoZWFwTGlzdCA9IGltcDsKIAogICAgIHJldHVybiBpbXA7CiB9CiAKIHN0YXRpYyBp
bmxpbmUgdm9pZCBkZWFsbG9jYXRlTGlzdEltcChMaXN0SW1wICppbXApCiB7Ci0gICAgaWYgKGlt
cC0+c3RhdGUgPT0gdXNlZEluUG9vbCkgewotICAgICAgICBpbXAtPnN0YXRlID0gdW51c2VkSW5Q
b29sOwotCWltcC0+bmV4dEluRnJlZUxpc3QgPSBwb29sRnJlZUxpc3Q7Ci0JcG9vbEZyZWVMaXN0
ID0gaW1wOwotCXBvb2xVc2VkLS07Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgLy8gdW5saW5rIGZy
b20gb3V0c2lkZSBwb29sIGxpc3QKLSAgICAgICAgaWYgKCFpbXAtPnByZXZJbk91dHNpZGVMaXN0
KSB7Ci0gICAgICAgICAgICBvdXRzaWRlUG9vbExpc3QgPSBpbXAtPm5leHRJbk91dHNpZGVMaXN0
OwotICAgICAgICAgICAgaWYgKG91dHNpZGVQb29sTGlzdCkgewotICAgICAgICAgICAgICAgIG91
dHNpZGVQb29sTGlzdC0+cHJldkluT3V0c2lkZUxpc3QgPSBOVUxMOwotICAgICAgICAgICAgfQot
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaW1wLT5wcmV2SW5PdXRzaWRlTGlzdC0+bmV4
dEluT3V0c2lkZUxpc3QgPSBpbXAtPm5leHRJbk91dHNpZGVMaXN0OwotICAgICAgICAgICAgaWYg
KGltcC0+bmV4dEluT3V0c2lkZUxpc3QpIHsKLSAgICAgICAgICAgICAgICBpbXAtPm5leHRJbk91
dHNpZGVMaXN0LT5wcmV2SW5PdXRzaWRlTGlzdCA9IGltcC0+cHJldkluT3V0c2lkZUxpc3Q7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICBkZWxldGUgaW1wOwotICAgIH0KIH0K
IAogTGlzdDo6TGlzdCgpIDogX2ltcEJhc2UoYWxsb2NhdGVMaXN0SW1wKCkpLCBfbmVlZHNNYXJr
aW5nKGZhbHNlKQpAQCAtMjMwLDcgKzIxMywzMSBAQAogI2VuZGlmCiAKICAgICBkZWxldGUgW10g
aW1wLT5vdmVyZmxvdzsKLSAgICBkZWFsbG9jYXRlTGlzdEltcChpbXApOworCisgICAgaWYgKGlt
cC0+c3RhdGUgPT0gdXNlZEluUG9vbCkgeworICAgICAgICBpbXAtPnN0YXRlID0gdW51c2VkSW5Q
b29sOworCWltcC0+bmV4dEluRnJlZUxpc3QgPSBwb29sRnJlZUxpc3Q7CisJcG9vbEZyZWVMaXN0
ID0gaW1wOworCXBvb2xVc2VkLS07CisgICAgfSBlbHNlIHsKKyAgICAgICAgYXNzZXJ0KGltcC0+
c3RhdGUgPT0gdXNlZE9uSGVhcCk7CisgICAgICAgIEhlYXBMaXN0SW1wICpsaXN0ID0gc3RhdGlj
X2Nhc3Q8SGVhcExpc3RJbXAgKj4oaW1wKTsKKworICAgICAgICAvLyB1bmxpbmsgZnJvbSBvdXRz
aWRlIHBvb2wgbGlzdAorICAgICAgICBpZiAoIWxpc3QtPnByZXZJbkhlYXBMaXN0KSB7CisgICAg
ICAgICAgICBoZWFwTGlzdCA9IGxpc3QtPm5leHRJbkhlYXBMaXN0OworICAgICAgICAgICAgaWYg
KGhlYXBMaXN0KSB7CisgICAgICAgICAgICAgICAgaGVhcExpc3QtPnByZXZJbkhlYXBMaXN0ID0g
TlVMTDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGxpc3Qt
PnByZXZJbkhlYXBMaXN0LT5uZXh0SW5IZWFwTGlzdCA9IGxpc3QtPm5leHRJbkhlYXBMaXN0Owor
ICAgICAgICAgICAgaWYgKGxpc3QtPm5leHRJbkhlYXBMaXN0KSB7CisgICAgICAgICAgICAgICAg
bGlzdC0+bmV4dEluSGVhcExpc3QtPnByZXZJbkhlYXBMaXN0ID0gbGlzdC0+cHJldkluSGVhcExp
c3Q7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBkZWxldGUgbGlzdDsKKyAg
ICB9CiB9CiAKIFZhbHVlSW1wICpMaXN0OjphdChpbnQgaSkgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3371</attachid>
            <date>2005-08-13 23:38:26 -0700</date>
            <delta_ts>2005-08-14 01:35:42 -0700</delta_ts>
            <desc>improved patch that deletes an empty function left behind before</desc>
            <filename>ListImprovementsPatch.txt</filename>
            <type>text/plain</type>
            <size>4285</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IGtqcy9saXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNj
cmlwdENvcmUva2pzL2xpc3QuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE0CmRpZmYgLXAg
LXUgLXIxLjE0IGtqcy9saXN0LmNwcAotLS0ga2pzL2xpc3QuY3BwCTggQXVnIDIwMDUgMDQ6MDc6
MjggLTAwMDAJMS4xNAorKysga2pzL2xpc3QuY3BwCTE0IEF1ZyAyMDA1IDA2OjM5OjIwIC0wMDAw
CkBAIC0zMSwxOSArMzEsMTggQEAgbmFtZXNwYWNlIEtKUyB7CiBjb25zdCBpbnQgcG9vbFNpemUg
PSA1MTI7CiBjb25zdCBpbnQgaW5saW5lVmFsdWVzU2l6ZSA9IDQ7CiAKLQogZW51bSBMaXN0SW1w
U3RhdGUgeyB1bnVzZWRJblBvb2wgPSAwLCB1c2VkSW5Qb29sLCB1c2VkT25IZWFwLCBpbW1vcnRh
bCB9OwogCiBzdHJ1Y3QgTGlzdEltcCA6IExpc3RJbXBCYXNlCiB7CiAgICAgTGlzdEltcFN0YXRl
IHN0YXRlOwotICAgIFZhbHVlSW1wICp2YWx1ZXNbaW5saW5lVmFsdWVzU2l6ZV07CiAgICAgaW50
IGNhcGFjaXR5OwogICAgIFZhbHVlSW1wICoqb3ZlcmZsb3c7CiAKLSAgICBMaXN0SW1wICpuZXh0
SW5GcmVlTGlzdDsKLSAgICBMaXN0SW1wICpuZXh0SW5PdXRzaWRlTGlzdDsKLSAgICBMaXN0SW1w
ICpwcmV2SW5PdXRzaWRlTGlzdDsKKyAgICB1bmlvbiB7CisgICAgICAgIFZhbHVlSW1wICp2YWx1
ZXNbaW5saW5lVmFsdWVzU2l6ZV07CisgICAgICAgIExpc3RJbXAgKm5leHRJbkZyZWVMaXN0Owor
ICAgIH07CiAKICNpZiBEVU1QX1NUQVRJU1RJQ1MKICAgICBpbnQgc2l6ZUhpZ2hXYXRlck1hcms7
CkBAIC01Miw5ICs1MSwxNSBAQCBzdHJ1Y3QgTGlzdEltcCA6IExpc3RJbXBCYXNlCiAgICAgdm9p
ZCBtYXJrVmFsdWVzKCk7CiB9OwogCitzdHJ1Y3QgSGVhcExpc3RJbXAgOiBMaXN0SW1wCit7Cisg
ICAgSGVhcExpc3RJbXAgKm5leHRJbkhlYXBMaXN0OworICAgIEhlYXBMaXN0SW1wICpwcmV2SW5I
ZWFwTGlzdDsKK307CisKIHN0YXRpYyBMaXN0SW1wIHBvb2xbcG9vbFNpemVdOwogc3RhdGljIExp
c3RJbXAgKnBvb2xGcmVlTGlzdDsKLXN0YXRpYyBMaXN0SW1wICpvdXRzaWRlUG9vbExpc3Q7Citz
dGF0aWMgSGVhcExpc3RJbXAgKmhlYXBMaXN0Owogc3RhdGljIGludCBwb29sVXNlZDsKIAogI2lm
IERVTVBfU1RBVElTVElDUwpAQCAtMTEyLDEwICsxMTcsOSBAQCBpbmxpbmUgdm9pZCBMaXN0SW1w
OjptYXJrVmFsdWVzKCkKIHZvaWQgTGlzdDo6bWFya1Byb3RlY3RlZExpc3RzKCkKIHsKICAgICBp
bnQgc2VlbiA9IDA7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBwb29sU2l6ZTsgaSsrKSB7Ci0g
ICAgICAgIGlmIChzZWVuID49IHBvb2xVc2VkKQotICAgICAgICAgICAgYnJlYWs7CisgICAgaW50
IHVzZWQgPSBwb29sVXNlZDsKIAorICAgIGZvciAoaW50IGkgPSAwOyBpIDwgcG9vbFNpemUgJiYg
c2VlbiA8IHVzZWQ7IGkrKykgewogICAgICAgICBpZiAocG9vbFtpXS5zdGF0ZSA9PSB1c2VkSW5Q
b29sKSB7CiAgICAgICAgICAgICBzZWVuKys7CiAgICAgICAgICAgICBpZiAocG9vbFtpXS52YWx1
ZVJlZkNvdW50ID4gMCkgewpAQCAtMTI0LDcgKzEyOCw3IEBAIHZvaWQgTGlzdDo6bWFya1Byb3Rl
Y3RlZExpc3RzKCkKICAgICAgICAgfQogICAgIH0KIAotICAgIGZvciAoTGlzdEltcCAqbCA9IG91
dHNpZGVQb29sTGlzdDsgbDsgbCA9IGwtPm5leHRJbk91dHNpZGVMaXN0KSB7CisgICAgZm9yIChI
ZWFwTGlzdEltcCAqbCA9IGhlYXBMaXN0OyBsOyBsID0gbC0+bmV4dEluSGVhcExpc3QpIHsKICAg
ICAgICAgaWYgKGwtPnZhbHVlUmVmQ291bnQgPiAwKSB7CiAgICAgICAgICAgICBsLT5tYXJrVmFs
dWVzKCk7CiAgICAgICAgIH0KQEAgLTE0Myw0NCArMTQ3LDE5IEBAIHN0YXRpYyBpbmxpbmUgTGlz
dEltcCAqYWxsb2NhdGVMaXN0SW1wKCkKIAlyZXR1cm4gaW1wOwogICAgIH0KICAgICAKLSAgICBM
aXN0SW1wICppbXAgPSBuZXcgTGlzdEltcDsKKyAgICBIZWFwTGlzdEltcCAqaW1wID0gbmV3IEhl
YXBMaXN0SW1wOwogICAgIGltcC0+c3RhdGUgPSB1c2VkT25IZWFwOwogICAgIC8vIGxpbmsgaW50
byBvdXRzaWRlIHBvb2wgbGlzdAotICAgIGlmIChvdXRzaWRlUG9vbExpc3QpIHsKLSAgICAgICAg
b3V0c2lkZVBvb2xMaXN0LT5wcmV2SW5PdXRzaWRlTGlzdCA9IGltcDsKKyAgICBpZiAoaGVhcExp
c3QpIHsKKyAgICAgICAgaGVhcExpc3QtPnByZXZJbkhlYXBMaXN0ID0gaW1wOwogICAgIH0KLSAg
ICBpbXAtPm5leHRJbk91dHNpZGVMaXN0ID0gb3V0c2lkZVBvb2xMaXN0OwotICAgIGltcC0+cHJl
dkluT3V0c2lkZUxpc3QgPSBOVUxMOwotICAgIG91dHNpZGVQb29sTGlzdCA9IGltcDsKKyAgICBp
bXAtPm5leHRJbkhlYXBMaXN0ID0gaGVhcExpc3Q7CisgICAgaW1wLT5wcmV2SW5IZWFwTGlzdCA9
IE5VTEw7CisgICAgaGVhcExpc3QgPSBpbXA7CiAKICAgICByZXR1cm4gaW1wOwogfQogCi1zdGF0
aWMgaW5saW5lIHZvaWQgZGVhbGxvY2F0ZUxpc3RJbXAoTGlzdEltcCAqaW1wKQotewotICAgIGlm
IChpbXAtPnN0YXRlID09IHVzZWRJblBvb2wpIHsKLSAgICAgICAgaW1wLT5zdGF0ZSA9IHVudXNl
ZEluUG9vbDsKLQlpbXAtPm5leHRJbkZyZWVMaXN0ID0gcG9vbEZyZWVMaXN0OwotCXBvb2xGcmVl
TGlzdCA9IGltcDsKLQlwb29sVXNlZC0tOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIC8vIHVubGlu
ayBmcm9tIG91dHNpZGUgcG9vbCBsaXN0Ci0gICAgICAgIGlmICghaW1wLT5wcmV2SW5PdXRzaWRl
TGlzdCkgewotICAgICAgICAgICAgb3V0c2lkZVBvb2xMaXN0ID0gaW1wLT5uZXh0SW5PdXRzaWRl
TGlzdDsKLSAgICAgICAgICAgIGlmIChvdXRzaWRlUG9vbExpc3QpIHsKLSAgICAgICAgICAgICAg
ICBvdXRzaWRlUG9vbExpc3QtPnByZXZJbk91dHNpZGVMaXN0ID0gTlVMTDsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGltcC0+cHJldkluT3V0c2lkZUxpc3Qt
Pm5leHRJbk91dHNpZGVMaXN0ID0gaW1wLT5uZXh0SW5PdXRzaWRlTGlzdDsKLSAgICAgICAgICAg
IGlmIChpbXAtPm5leHRJbk91dHNpZGVMaXN0KSB7Ci0gICAgICAgICAgICAgICAgaW1wLT5uZXh0
SW5PdXRzaWRlTGlzdC0+cHJldkluT3V0c2lkZUxpc3QgPSBpbXAtPnByZXZJbk91dHNpZGVMaXN0
OwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgZGVsZXRlIGltcDsKLSAgICB9
Ci19Ci0KIExpc3Q6Okxpc3QoKSA6IF9pbXBCYXNlKGFsbG9jYXRlTGlzdEltcCgpKSwgX25lZWRz
TWFya2luZyhmYWxzZSkKIHsKICAgICBMaXN0SW1wICppbXAgPSBzdGF0aWNfY2FzdDxMaXN0SW1w
ICo+KF9pbXBCYXNlKTsKQEAgLTIzMCw3ICsyMDksMzEgQEAgdm9pZCBMaXN0OjpyZWxlYXNlKCkK
ICNlbmRpZgogCiAgICAgZGVsZXRlIFtdIGltcC0+b3ZlcmZsb3c7Ci0gICAgZGVhbGxvY2F0ZUxp
c3RJbXAoaW1wKTsKKworICAgIGlmIChpbXAtPnN0YXRlID09IHVzZWRJblBvb2wpIHsKKyAgICAg
ICAgaW1wLT5zdGF0ZSA9IHVudXNlZEluUG9vbDsKKwlpbXAtPm5leHRJbkZyZWVMaXN0ID0gcG9v
bEZyZWVMaXN0OworCXBvb2xGcmVlTGlzdCA9IGltcDsKKwlwb29sVXNlZC0tOworICAgIH0gZWxz
ZSB7CisgICAgICAgIGFzc2VydChpbXAtPnN0YXRlID09IHVzZWRPbkhlYXApOworICAgICAgICBI
ZWFwTGlzdEltcCAqbGlzdCA9IHN0YXRpY19jYXN0PEhlYXBMaXN0SW1wICo+KGltcCk7CisKKyAg
ICAgICAgLy8gdW5saW5rIGZyb20gb3V0c2lkZSBwb29sIGxpc3QKKyAgICAgICAgaWYgKCFsaXN0
LT5wcmV2SW5IZWFwTGlzdCkgeworICAgICAgICAgICAgaGVhcExpc3QgPSBsaXN0LT5uZXh0SW5I
ZWFwTGlzdDsKKyAgICAgICAgICAgIGlmIChoZWFwTGlzdCkgeworICAgICAgICAgICAgICAgIGhl
YXBMaXN0LT5wcmV2SW5IZWFwTGlzdCA9IE5VTEw7CisgICAgICAgICAgICB9CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICBsaXN0LT5wcmV2SW5IZWFwTGlzdC0+bmV4dEluSGVhcExpc3Qg
PSBsaXN0LT5uZXh0SW5IZWFwTGlzdDsKKyAgICAgICAgICAgIGlmIChsaXN0LT5uZXh0SW5IZWFw
TGlzdCkgeworICAgICAgICAgICAgICAgIGxpc3QtPm5leHRJbkhlYXBMaXN0LT5wcmV2SW5IZWFw
TGlzdCA9IGxpc3QtPnByZXZJbkhlYXBMaXN0OworICAgICAgICAgICAgfQorICAgICAgICB9CisK
KyAgICAgICAgZGVsZXRlIGxpc3Q7CisgICAgfQogfQogCiBWYWx1ZUltcCAqTGlzdDo6YXQoaW50
IGkpIGNvbnN0Cg==
</data>
<flag name="review"
          id="364"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>