<?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>8284</bug_id>
          
          <creation_ts>2006-04-09 21:48:05 -0700</creation_ts>
          <short_desc>prevent unnecessary entries in the &quot;nodes with extra refs&quot; hash table</short_desc>
          <delta_ts>2006-04-09 22:02:55 -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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>38851</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-04-09 21:48:05 -0700</bug_when>
    <thetext>There&apos;s a unique cost to incrementing a node&apos;s ref count past one. If we use RefPtr::release instead of regular assignment, we can&apos;t keep the ref count at 1, and never pay the cost.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38852</commentid>
    <comment_count>1</comment_count>
      <attachid>7609</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-04-09 21:49:55 -0700</bug_when>
    <thetext>Created attachment 7609
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38853</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-04-09 21:50:28 -0700</bug_when>
    <thetext>s/can&apos;t/can/ in the original description</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38854</commentid>
    <comment_count>3</comment_count>
      <attachid>7609</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-04-09 21:51:48 -0700</bug_when>
    <thetext>Comment on attachment 7609
Fix

Looks great.  r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38855</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-04-09 22:02:55 -0700</bug_when>
    <thetext>Landed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>7609</attachid>
            <date>2006-04-09 21:49:55 -0700</date>
            <delta_ts>2006-04-09 21:51:48 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>patch-refs.txt</filename>
            <type>text/plain</type>
            <size>6238</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IGtqcy9ub2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2pzL25vZGVzLmNwcAkocmV2aXNp
b24gNDUpCisrKyBranMvbm9kZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzIsOSArNDMyLDgg
QEAgdm9pZCBWYXJTdGF0ZW1lbnROb2RlOjpwcm9jZXNzVmFyRGVjbHMoRQogQmxvY2tOb2RlOjpC
bG9ja05vZGUoU291cmNlRWxlbWVudHNOb2RlICpzKSA6IFN0YXRlbWVudE5vZGUoQmxvY2tOb2Rl
RXhlY3V0ZVN0YXRlKQogewogICBpZiAocykgewotICAgIHNvdXJjZSA9IHMtPm5leHQ7CisgICAg
c291cmNlID0gcy0+bmV4dC5yZWxlYXNlKCk7CiAgICAgUGFyc2VyOjpyZW1vdmVOb2RlQ3ljbGUo
c291cmNlLmdldCgpKTsKLSAgICBzLT5uZXh0ID0gMDsKICAgICBzZXRMb2Mocy0+Zmlyc3RMaW5l
KCksIHMtPmxhc3RMaW5lKCkpOwogICB9IGVsc2UgewogICAgIHNvdXJjZSA9IDA7CkBAIC01Mzks
MTggKzUzOCwxNiBAQCBDYXNlQmxvY2tOb2RlOjpDYXNlQmxvY2tOb2RlKENsYXVzZUxpc3ROCiAg
ICAgOiBOb2RlKENhc2VCbG9ja05vZGVFeGVjdXRlQmxvY2tXaXRoSW5wdXRWYWx1ZSkKIHsKICAg
aWYgKGwxKSB7Ci0gICAgbGlzdDEgPSBsMS0+bmV4dDsKKyAgICBsaXN0MSA9IGwxLT5uZXh0LnJl
bGVhc2UoKTsKICAgICBQYXJzZXI6OnJlbW92ZU5vZGVDeWNsZShsaXN0MS5nZXQoKSk7Ci0gICAg
bDEtPm5leHQgPSAwOwogICB9IGVsc2UKICAgICBsaXN0MSA9IDA7CiAKICAgZGVmID0gZDsKIAog
ICBpZiAobDIpIHsKLSAgICBsaXN0MiA9IGwyLT5uZXh0OworICAgIGxpc3QyID0gbDItPm5leHQu
cmVsZWFzZSgpOwogICAgIFBhcnNlcjo6cmVtb3ZlTm9kZUN5Y2xlKGxpc3QyLmdldCgpKTsKLSAg
ICBsMi0+bmV4dCA9IDA7CiAgIH0gZWxzZQogICAgIGxpc3QyID0gMDsKIH0KQEAgLTY2Miw3ICs2
NTksNyBAQCBTb3VyY2VFbGVtZW50c05vZGU6OlNvdXJjZUVsZW1lbnRzTm9kZShTCiB9CiAKIFNv
dXJjZUVsZW1lbnRzTm9kZTo6U291cmNlRWxlbWVudHNOb2RlKFNvdXJjZUVsZW1lbnRzTm9kZSAq
czEsIFN0YXRlbWVudE5vZGUgKnMyKQotICAgIDogU3RhdGVtZW50Tm9kZShTb3VyY2VFbGVtZW50
c05vZGVFeGVjdXRlU3RhdGUpLCBub2RlKHMyKSwgbmV4dChzMS0+bmV4dCkKKyAgICA6IFN0YXRl
bWVudE5vZGUoU291cmNlRWxlbWVudHNOb2RlRXhlY3V0ZVN0YXRlKSwgbm9kZShzMiksIG5leHQo
czEtPm5leHQucmVsZWFzZSgpKQogewogICAgIHMxLT5uZXh0ID0gdGhpczsKICAgICBzZXRMb2Mo
czEtPmZpcnN0TGluZSgpLCBzMi0+bGFzdExpbmUoKSk7CkluZGV4OiBranMvbm9kZXMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBranMvbm9kZXMuaAkocmV2aXNpb24gNDUpCisrKyBranMvbm9kZXMuaAkod29y
a2luZyBjb3B5KQpAQCAtMjA2LDkgKzIwNiw5IEBAIG5hbWVzcGFjZSBLSlMgewogICBzdHJ1Y3Qg
QXJyYXlOb2RlIDogcHVibGljIE5vZGUgewogICAgIEFycmF5Tm9kZShpbnQgZSkgOiBOb2RlKEFy
cmF5Tm9kZUV2YWx1YXRlU3RhdGUpLCBlbGlzaW9uKGUpLCBvcHQodHJ1ZSkgeyB9CiAgICAgQXJy
YXlOb2RlKEVsZW1lbnROb2RlKiBlbGUpCi0gICAgICA6IE5vZGUoQXJyYXlOb2RlRXZhbHVhdGVT
dGF0ZSksIGVsZW1lbnQoZWxlLT5uZXh0KSwgZWxpc2lvbigwKSwgb3B0KGZhbHNlKSB7IFBhcnNl
cjo6cmVtb3ZlTm9kZUN5Y2xlKGVsZW1lbnQuZ2V0KCkpOyBlbGUtPm5leHQgPSAwOyB9CisgICAg
ICA6IE5vZGUoQXJyYXlOb2RlRXZhbHVhdGVTdGF0ZSksIGVsZW1lbnQoZWxlLT5uZXh0LnJlbGVh
c2UoKSksIGVsaXNpb24oMCksIG9wdChmYWxzZSkgeyBQYXJzZXI6OnJlbW92ZU5vZGVDeWNsZShl
bGVtZW50LmdldCgpKTsgfQogICAgIEFycmF5Tm9kZShpbnQgZWxpLCBFbGVtZW50Tm9kZSogZWxl
KQotICAgICAgOiBOb2RlKEFycmF5Tm9kZUV2YWx1YXRlU3RhdGUpLCBlbGVtZW50KGVsZS0+bmV4
dCksIGVsaXNpb24oZWxpKSwgb3B0KHRydWUpIHsgUGFyc2VyOjpyZW1vdmVOb2RlQ3ljbGUoZWxl
bWVudC5nZXQoKSk7IGVsZS0+bmV4dCA9IDA7IH0KKyAgICAgIDogTm9kZShBcnJheU5vZGVFdmFs
dWF0ZVN0YXRlKSwgZWxlbWVudChlbGUtPm5leHQucmVsZWFzZSgpKSwgZWxpc2lvbihlbGkpLCBv
cHQodHJ1ZSkgeyBQYXJzZXI6OnJlbW92ZU5vZGVDeWNsZShlbGVtZW50LmdldCgpKTsgfQogICAg
IHZpcnR1YWwgdm9pZCBzdHJlYW1UbyhTb3VyY2VTdHJlYW0mKSBjb25zdDsKICAgICBSZWZQdHI8
RWxlbWVudE5vZGU+IGVsZW1lbnQ7CiAgICAgaW50IGVsaXNpb247CkBAIC0yNDgsNyArMjQ4LDcg
QEAgbmFtZXNwYWNlIEtKUyB7CiAKICAgc3RydWN0IE9iamVjdExpdGVyYWxOb2RlIDogcHVibGlj
IE5vZGUgewogICAgIE9iamVjdExpdGVyYWxOb2RlKCkgOiBOb2RlKE9iamVjdExpdGVyYWxOb2Rl
RXZhbHVhdGVTdGF0ZSkgeyB9Ci0gICAgT2JqZWN0TGl0ZXJhbE5vZGUoUHJvcGVydHlMaXN0Tm9k
ZSAqbCkgOiBOb2RlKE9iamVjdExpdGVyYWxOb2RlRXZhbHVhdGVTdGF0ZSksIGxpc3QobC0+bmV4
dCkgeyBQYXJzZXI6OnJlbW92ZU5vZGVDeWNsZShsaXN0LmdldCgpKTsgbC0+bmV4dCA9IDA7IH0K
KyAgICBPYmplY3RMaXRlcmFsTm9kZShQcm9wZXJ0eUxpc3ROb2RlICpsKSA6IE5vZGUoT2JqZWN0
TGl0ZXJhbE5vZGVFdmFsdWF0ZVN0YXRlKSwgbGlzdChsLT5uZXh0LnJlbGVhc2UoKSkgeyBQYXJz
ZXI6OnJlbW92ZU5vZGVDeWNsZShsaXN0LmdldCgpKTsgfQogICAgIHZpcnR1YWwgdm9pZCBzdHJl
YW1UbyhTb3VyY2VTdHJlYW0mKSBjb25zdDsKICAgICBSZWZQdHI8UHJvcGVydHlMaXN0Tm9kZT4g
bGlzdDsKICAgfTsKQEAgLTI5NCw3ICsyOTQsNyBAQCBuYW1lc3BhY2UgS0pTIHsKICAgc3RydWN0
IEFyZ3VtZW50c05vZGUgOiBwdWJsaWMgTm9kZSB7CiAgICAgQXJndW1lbnRzTm9kZSgpIDogTm9k
ZShBcmd1bWVudHNOb2RlRXZhbHVhdGVMaXN0U3RhdGUpIHsgfQogICAgIEFyZ3VtZW50c05vZGUo
QXJndW1lbnRMaXN0Tm9kZSAqbCkKLSAgICAgIDogTm9kZShBcmd1bWVudHNOb2RlRXZhbHVhdGVM
aXN0U3RhdGUpLCBsaXN0KGwtPm5leHQpIHsgUGFyc2VyOjpyZW1vdmVOb2RlQ3ljbGUobGlzdC5n
ZXQoKSk7IGwtPm5leHQgPSAwOyB9CisgICAgICA6IE5vZGUoQXJndW1lbnRzTm9kZUV2YWx1YXRl
TGlzdFN0YXRlKSwgbGlzdChsLT5uZXh0LnJlbGVhc2UoKSkgeyBQYXJzZXI6OnJlbW92ZU5vZGVD
eWNsZShsaXN0LmdldCgpKTsgfQogICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1UbyhTb3VyY2VTdHJl
YW0mKSBjb25zdDsKICAgICBSZWZQdHI8QXJndW1lbnRMaXN0Tm9kZT4gbGlzdDsKICAgfTsKQEAg
LTYxNyw5ICs2MTcsOSBAQCBuYW1lc3BhY2UgS0pTIHsKIAogICBzdHJ1Y3QgVmFyU3RhdGVtZW50
Tm9kZSA6IHB1YmxpYyBTdGF0ZW1lbnROb2RlIHsKICAgICBWYXJTdGF0ZW1lbnROb2RlKFZhckRl
Y2xMaXN0Tm9kZSAqbCkgCi0gICAgICAgIDogU3RhdGVtZW50Tm9kZShWYXJTdGF0ZW1lbnROb2Rl
RXhlY3V0ZVN0YXRlKSwgbmV4dChsLT5uZXh0KSAKKyAgICAgICAgOiBTdGF0ZW1lbnROb2RlKFZh
clN0YXRlbWVudE5vZGVFeGVjdXRlU3RhdGUpLCBuZXh0KGwtPm5leHQucmVsZWFzZSgpKSAKICAg
ICB7Ci0gICAgICAgIFBhcnNlcjo6cmVtb3ZlTm9kZUN5Y2xlKG5leHQuZ2V0KCkpOyBsLT5uZXh0
ID0gMDsgCisgICAgICAgIFBhcnNlcjo6cmVtb3ZlTm9kZUN5Y2xlKG5leHQuZ2V0KCkpOwogICAg
IH0KICAgICB2aXJ0dWFsIHZvaWQgcHJvY2Vzc1ZhckRlY2xzKEV4ZWNTdGF0ZSopOwogICAgIHZp
cnR1YWwgdm9pZCBzdHJlYW1UbyhTb3VyY2VTdHJlYW0mKSBjb25zdDsKQEAgLTY3Niw5ICs2NzYs
OCBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICBGb3JOb2RlKE5vZGUqIGUxLCBOb2RlKiBlMiwgTm9k
ZSogZTMsIFN0YXRlbWVudE5vZGUgKnMpCiAgICAgICAgIDogU3RhdGVtZW50Tm9kZShGb3JOb2Rl
RXhlY3V0ZVN0YXRlKSwgZXhwcjEoZTEpLCBleHByMihlMiksIGV4cHIzKGUzKSwgc3RhdGVtZW50
KHMpIHsgfQogICAgIEZvck5vZGUoVmFyRGVjbExpc3ROb2RlKiBlMSwgTm9kZSogZTIsIE5vZGUq
IGUzLCBTdGF0ZW1lbnROb2RlICpzKSAKLSAgICAgICAgOiBTdGF0ZW1lbnROb2RlKEZvck5vZGVF
eGVjdXRlU3RhdGUpLCBleHByMShlMS0+bmV4dCksIGV4cHIyKGUyKSwgZXhwcjMoZTMpLCBzdGF0
ZW1lbnQocykgCisgICAgICAgIDogU3RhdGVtZW50Tm9kZShGb3JOb2RlRXhlY3V0ZVN0YXRlKSwg
ZXhwcjEoZTEtPm5leHQucmVsZWFzZSgpKSwgZXhwcjIoZTIpLCBleHByMyhlMyksIHN0YXRlbWVu
dChzKSAKICAgICB7IAotICAgICAgICBlMS0+bmV4dCA9IDA7CiAgICAgICAgIFBhcnNlcjo6cmVt
b3ZlTm9kZUN5Y2xlKGV4cHIxLmdldCgpKTsgCiAgICAgfQogICAgIHZpcnR1YWwgdm9pZCBwcm9j
ZXNzVmFyRGVjbHMoRXhlY1N0YXRlKik7CkBAIC03MzIsNyArNzMxLDcgQEAgbmFtZXNwYWNlIEtK
UyB7CiAKICAgc3RydWN0IENhc2VDbGF1c2VOb2RlIDogcHVibGljIE5vZGUgewogICAgIENhc2VD
bGF1c2VOb2RlKE5vZGUqIGUpIDogTm9kZShDYXNlQ2xhdXNlTm9kZUV2YWx1YXRlU3RhdGUpLCBl
eHByKGUpIHt9IAotICAgIENhc2VDbGF1c2VOb2RlKE5vZGUqIGUsIFN0YXRMaXN0Tm9kZSAqbCkg
OiBOb2RlKENhc2VDbGF1c2VOb2RlRXZhbHVhdGVTdGF0ZSksIGV4cHIoZSksIG5leHQobC0+bmV4
dCkgeyBQYXJzZXI6OnJlbW92ZU5vZGVDeWNsZShuZXh0LmdldCgpKTsgbC0+bmV4dCA9IDA7IH0K
KyAgICBDYXNlQ2xhdXNlTm9kZShOb2RlKiBlLCBTdGF0TGlzdE5vZGUgKmwpIDogTm9kZShDYXNl
Q2xhdXNlTm9kZUV2YWx1YXRlU3RhdGUpLCBleHByKGUpLCBuZXh0KGwtPm5leHQucmVsZWFzZSgp
KSB7IFBhcnNlcjo6cmVtb3ZlTm9kZUN5Y2xlKG5leHQuZ2V0KCkpO30KICAgICB2aXJ0dWFsIHZv
aWQgcHJvY2Vzc1ZhckRlY2xzKEV4ZWNTdGF0ZSopOwogICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1U
byhTb3VyY2VTdHJlYW0mKSBjb25zdDsKICAgICBSZWZQdHI8Tm9kZT4gZXhwcjsKQEAgLTgyNSw3
ICs4MjQsNyBAQCBuYW1lc3BhY2UgS0pTIHsKIAogICBzdHJ1Y3QgRnVuY0V4cHJOb2RlIDogcHVi
bGljIE5vZGUgewogICAgIEZ1bmNFeHByTm9kZShjb25zdCBJZGVudGlmaWVyICZpLCBGdW5jdGlv
bkJvZHlOb2RlICpiLCBQYXJhbWV0ZXJOb2RlICpwID0gMCkKLSAgICAgIDogTm9kZShGdW5jRXhw
ck5vZGVFdmFsdWF0ZVN0YXRlKSwgaWRlbnQoaSksIHBhcmFtKHAgPyBwLT5uZXh0IDogMCksIGJv
ZHkoYikgeyBpZiAocCkgeyBQYXJzZXI6OnJlbW92ZU5vZGVDeWNsZShwYXJhbS5nZXQoKSk7IHAt
Pm5leHQgPSAwOyB9IH0KKyAgICAgIDogTm9kZShGdW5jRXhwck5vZGVFdmFsdWF0ZVN0YXRlKSwg
aWRlbnQoaSksIHBhcmFtKHAgPyBwLT5uZXh0LnJlbGVhc2UoKSA6IDApLCBib2R5KGIpIHsgaWYg
KHApIHsgUGFyc2VyOjpyZW1vdmVOb2RlQ3ljbGUocGFyYW0uZ2V0KCkpOyB9IH0KICAgICB2aXJ0
dWFsIHZvaWQgc3RyZWFtVG8oU291cmNlU3RyZWFtJikgY29uc3Q7CiAgICAgLy8gVXNlZCBmb3Ig
c3RyZWFtVG8KICAgICBJZGVudGlmaWVyIGlkZW50OwpAQCAtODM3LDkgKzgzNiw4IEBAIG5hbWVz
cGFjZSBLSlMgewogICAgIEZ1bmNEZWNsTm9kZShjb25zdCBJZGVudGlmaWVyICZpLCBGdW5jdGlv
bkJvZHlOb2RlICpiKQogICAgICAgICA6IFN0YXRlbWVudE5vZGUoRnVuY0RlY2xOb2RlRXhlY3V0
ZVN0YXRlKSwgaWRlbnQoaSksIGJvZHkoYikgeyB9CiAgICAgRnVuY0RlY2xOb2RlKGNvbnN0IElk
ZW50aWZpZXIgJmksIFBhcmFtZXRlck5vZGUgKnAsIEZ1bmN0aW9uQm9keU5vZGUgKmIpCi0gICAg
ICAgIDogU3RhdGVtZW50Tm9kZShGdW5jRGVjbE5vZGVFeGVjdXRlU3RhdGUpLCBpZGVudChpKSwg
cGFyYW0ocC0+bmV4dCksIGJvZHkoYikgCisgICAgICAgIDogU3RhdGVtZW50Tm9kZShGdW5jRGVj
bE5vZGVFeGVjdXRlU3RhdGUpLCBpZGVudChpKSwgcGFyYW0ocC0+bmV4dC5yZWxlYXNlKCkpLCBi
b2R5KGIpIAogICAgIHsgCi0gICAgICAgIHAtPm5leHQgPSAwOwogICAgICAgICBQYXJzZXI6OnJl
bW92ZU5vZGVDeWNsZShwYXJhbS5nZXQoKSk7CiAgICAgfQogICAgIHZpcnR1YWwgdm9pZCBwcm9j
ZXNzRnVuY0RlY2woRXhlY1N0YXRlKik7Cg==
</data>
<flag name="review"
          id="2080"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>