<?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>81033</bug_id>
          
          <creation_ts>2012-03-13 13:51:35 -0700</creation_ts>
          <short_desc>Web Inspector: small improvement for HeapSnapshot performance ~12%.</short_desc>
          <delta_ts>2012-03-14 07:42:32 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>0</everconfirmed>
          <reporter name="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>577785</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-03-13 13:51:35 -0700</bug_when>
    <thetext>%subj%</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577788</commentid>
    <comment_count>1</comment_count>
      <attachid>131709</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-03-13 13:55:05 -0700</bug_when>
    <thetext>Created attachment 131709
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578198</commentid>
    <comment_count>2</comment_count>
      <attachid>131709</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-14 00:04:09 -0700</bug_when>
    <thetext>Comment on attachment 131709
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=131709&amp;action=review

&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:1028
&gt; +        for (var i = 0; i &lt; this.nodeCount; ++i) {

Instead of replacing usages of the iterator can we change the iterator itself so that it works based on this.nodeIndexes array?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578359</commentid>
    <comment_count>3</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-03-14 07:08:22 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 131709 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=131709&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:1028
&gt; &gt; +        for (var i = 0; i &lt; this.nodeCount; ++i) {
&gt; 
&gt; Instead of replacing usages of the iterator can we change the iterator itself so that it works based on this.nodeIndexes array?

It is too tricky to migrate this iterator to nodeIndex.
I&apos;d like to do this in separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578376</commentid>
    <comment_count>4</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-03-14 07:42:32 -0700</bug_when>
    <thetext>Committed r110698: &lt;http://trac.webkit.org/changeset/110698&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131709</attachid>
            <date>2012-03-13 13:55:05 -0700</date>
            <delta_ts>2012-03-14 07:37:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81033-20120314005503.patch</filename>
            <type>text/plain</type>
            <size>5125</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjZlN2NiMTZmNTFmZmFh
YTliMjY4Njg4MDY2OGRiOTdhZGI2MDQzNy4uMWU5NDkzZjllNjBlNDBhNTA3OThkZjBiOGUyMDRj
ZGQ5MjA3NjBhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAzLTEzICBJbHlh
IFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBzbWFsbCBpbXByb3ZlbWVudCBmb3IgSGVhcFNuYXBzaG90IHBlcmZvcm1hbmNlIH4xMiUu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTAzMwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVh
cFNuYXBzaG90LnByb3RvdHlwZS5nZXQgbm9kZUNvdW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5IZWFwU25hcHNob3QucHJvdG90eXBlLmdldCBtYXhOb2RlSWQpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkhlYXBTbmFwc2hvdC5wcm90b3R5cGUuX2J1aWxkUmV2ZXJzZUluZGV4KToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3QucHJvdG90eXBlLmdldCBub2RlSW5kZXhlcyk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90LnByb3RvdHlwZS5fYnVpbGROb2Rl
SW5kZXgpOgorCiAyMDEyLTAzLTEzICBUb21teSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUu
Y29tPgogCiAgICAgICAgIE1lZGlhU3RyZWFtIEFQSTogUmVuYW1lIFBlZXJDb25uZWN0aW9uIHRv
IERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5qcwppbmRleCAwNTRmNDZlYjJiMjQ1NjZlNDU2MGY2
MTZjODRmZGU0MTQzYWY2MGJmLi5mZTY4NjIwZGRmMWNjNzZiYTZhY2ViODk5ZmZiMjViZTg2YmUy
YjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBT
bmFwc2hvdC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBT
bmFwc2hvdC5qcwpAQCAtODA1LDEzICs4MDUsNyBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90
LnByb3RvdHlwZSA9IHsKIAogICAgIGdldCBub2RlQ291bnQoKQogICAgIHsKLSAgICAgICAgaWYg
KHRoaXMuX25vZGVDb3VudCkKLSAgICAgICAgICAgIHJldHVybiB0aGlzLl9ub2RlQ291bnQ7Ci0K
LSAgICAgICAgdGhpcy5fbm9kZUNvdW50ID0gMDsKLSAgICAgICAgZm9yICh2YXIgaXRlciA9IHRo
aXMuX2FsbE5vZGVzOyBpdGVyLmhhc05leHQoKTsgaXRlci5uZXh0KCkpCi0gICAgICAgICAgICAr
K3RoaXMuX25vZGVDb3VudDsKLSAgICAgICAgcmV0dXJuIHRoaXMuX25vZGVDb3VudDsKKyAgICAg
ICAgcmV0dXJuIHRoaXMubm9kZUluZGV4ZXMubGVuZ3RoIC0gMTsKICAgICB9LAogCiAgICAgbm9k
ZUZpZWxkVmFsdWVzQnlJbmRleDogZnVuY3Rpb24oZmllbGROYW1lLCBpbmRleGVzKQpAQCAtODM1
LDggKzgyOSwxMCBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90LnByb3RvdHlwZSA9IHsKICAg
ICAgICAgaWYgKHR5cGVvZiB0aGlzLl9tYXhOb2RlSWQgPT09ICJudW1iZXIiKQogICAgICAgICAg
ICAgcmV0dXJuIHRoaXMuX21heE5vZGVJZDsKICAgICAgICAgdGhpcy5fbWF4Tm9kZUlkID0gMDsK
LSAgICAgICAgZm9yICh2YXIgaXRlciA9IHRoaXMuX2FsbE5vZGVzOyBpdGVyLmhhc05leHQoKTsg
aXRlci5uZXh0KCkpIHsKLSAgICAgICAgICAgIHZhciBpZCA9IGl0ZXIubm9kZS5pZDsKKyAgICAg
ICAgdmFyIG5vZGUgPSBuZXcgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdE5vZGUodGhpcywgdGhp
cy5ub2RlSW5kZXhlc1swXSk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5ub2Rl
Q291bnQ7ICsraSkgeworICAgICAgICAgICAgbm9kZS5ub2RlSW5kZXggPSB0aGlzLm5vZGVJbmRl
eGVzW2ldOworICAgICAgICAgICAgdmFyIGlkID0gbm9kZS5pZDsKICAgICAgICAgICAgIGlmICgo
aWQgJSAyKSAmJiBpZCA+IHRoaXMuX21heE5vZGVJZCkKICAgICAgICAgICAgICAgICB0aGlzLl9t
YXhOb2RlSWQgPSBpZDsKICAgICAgICAgfQpAQCAtOTIyLDEwICs5MTgsMTAgQEAgV2ViSW5zcGVj
dG9yLkhlYXBTbmFwc2hvdC5wcm90b3R5cGUgPSB7CiAgICAgICAgIC8vICAtICJpbmRleEFycmF5
IiBpcyBhbiBhcnJheSBvZiBpbmRleGVzIGluIHRoZSAiYmFja1JlZnNBcnJheSIKICAgICAgICAg
Ly8gICAgd2l0aCB0aGUgc2FtZSBwb3NpdGlvbnMgYXMgaW4gdGhlIF9ub2RlSW5kZXguCiAgICAg
ICAgIHZhciBpbmRleEFycmF5ID0gdGhpc1tpbmRleEFycmF5TmFtZV0gPSBuZXcgSW50MzJBcnJh
eSh0aGlzLl9ub2RlSW5kZXgubGVuZ3RoKTsKLSAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBp
bmRleEFycmF5Lmxlbmd0aDsgaSA8IGw7ICsraSkKLSAgICAgICAgICAgIGluZGV4QXJyYXlbaV0g
PSAwOwotICAgICAgICBmb3IgKHZhciBub2Rlc0l0ZXIgPSB0aGlzLl9hbGxOb2Rlczsgbm9kZXNJ
dGVyLmhhc05leHQoKTsgbm9kZXNJdGVyLm5leHQoKSkgewotICAgICAgICAgICAgaW5kZXhDYWxs
YmFjayhub2Rlc0l0ZXIubm9kZSwgZnVuY3Rpb24gKHBvc2l0aW9uKSB7ICsraW5kZXhBcnJheVtw
b3NpdGlvbl07IH0pOworICAgICAgICB2YXIgbm9kZSA9IG5ldyBXZWJJbnNwZWN0b3IuSGVhcFNu
YXBzaG90Tm9kZSh0aGlzLCB0aGlzLm5vZGVJbmRleGVzWzBdKTsKKyAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCB0aGlzLm5vZGVDb3VudDsgKytpKSB7CisgICAgICAgICAgICBub2RlLm5vZGVJ
bmRleCA9IHRoaXMubm9kZUluZGV4ZXNbaV07CisgICAgICAgICAgICBpbmRleENhbGxiYWNrKG5v
ZGUsIGZ1bmN0aW9uIChwb3NpdGlvbikgeyArK2luZGV4QXJyYXlbcG9zaXRpb25dOyB9KTsKICAg
ICAgICAgfQogICAgICAgICB2YXIgYmFja1JlZnNDb3VudCA9IDA7CiAgICAgICAgIGZvciAoaSA9
IDAsIGwgPSBpbmRleEFycmF5Lmxlbmd0aDsgaSA8IGw7ICsraSkKQEAgLTkzOSw4ICs5MzUsMTAg
QEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBp
bmRleEFycmF5W2ldID0gYmFja1JlZnNQb3NpdGlvbjsKICAgICAgICAgICAgIGJhY2tSZWZzUG9z
aXRpb24gKz0gYmFja1JlZnNDb3VudDsKICAgICAgICAgfQotICAgICAgICBmb3IgKG5vZGVzSXRl
ciA9IHRoaXMuX2FsbE5vZGVzOyBub2Rlc0l0ZXIuaGFzTmV4dCgpOyBub2Rlc0l0ZXIubmV4dCgp
KSB7Ci0gICAgICAgICAgICBkYXRhQ2FsbGJhY2sobm9kZXNJdGVyLm5vZGUsCisgICAgICAgIG5v
ZGUgPSBuZXcgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdE5vZGUodGhpcywgdGhpcy5ub2RlSW5k
ZXhlc1swXSk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5ub2RlQ291bnQ7ICsr
aSkgeworICAgICAgICAgICAgbm9kZS5ub2RlSW5kZXggPSB0aGlzLm5vZGVJbmRleGVzW2ldOwor
ICAgICAgICAgICAgZGF0YUNhbGxiYWNrKG5vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ZnVuY3Rpb24gKGJhY2tSZWZJbmRleCkgeyByZXR1cm4gYmFja1JlZkluZGV4ICsgKC0tYmFja1Jl
ZnNBcnJheVtiYWNrUmVmSW5kZXhdKTsgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5j
dGlvbiAoYmFja1JlZkluZGV4LCBkZXN0SW5kZXgpIHsgYmFja1JlZnNBcnJheVtiYWNrUmVmSW5k
ZXhdID0gZGVzdEluZGV4OyB9KTsKICAgICAgICAgfQpAQCAtMTAyNiw4ICsxMDI0LDkgQEAgV2Vi
SW5zcGVjdG9yLkhlYXBTbmFwc2hvdC5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KIAogICAgICAg
ICB2YXIgYWdncmVnYXRlcyA9IHt9OwotICAgICAgICBmb3IgKHZhciBpdGVyID0gdGhpcy5fYWxs
Tm9kZXM7IGl0ZXIuaGFzTmV4dCgpOyBpdGVyLm5leHQoKSkgewotICAgICAgICAgICAgdmFyIG5v
ZGUgPSBpdGVyLm5vZGU7CisgICAgICAgIHZhciBub2RlID0gbmV3IFdlYkluc3BlY3Rvci5IZWFw
U25hcHNob3ROb2RlKHRoaXMsIHRoaXMubm9kZUluZGV4ZXNbMF0pOworICAgICAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IHRoaXMubm9kZUNvdW50OyArK2kpIHsKKyAgICAgICAgICAgIG5vZGUubm9k
ZUluZGV4ID0gdGhpcy5ub2RlSW5kZXhlc1tpXTsKICAgICAgICAgICAgIGlmIChzaG91bGRTa2lw
KG5vZGUpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgdmFyIGNsYXNz
TmFtZSA9IG5vZGUuY2xhc3NOYW1lOwpAQCAtMTA4MCw5ICsxMDc5LDE3IEBAIFdlYkluc3BlY3Rv
ci5IZWFwU25hcHNob3QucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIH0pOwogICAgIH0s
CiAKKyAgICBnZXQgbm9kZUluZGV4ZXMoKQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLl9ub2Rl
SW5kZXgpCisgICAgICAgICAgICB0aGlzLl9idWlsZE5vZGVJbmRleCgpOworICAgICAgICByZXR1
cm4gdGhpcy5fbm9kZUluZGV4OworICAgIH0sCisKICAgICBfYnVpbGROb2RlSW5kZXg6IGZ1bmN0
aW9uKCkKICAgICB7Ci0gICAgICAgIHZhciBjb3VudCA9IHRoaXMubm9kZUNvdW50OworICAgICAg
ICB2YXIgY291bnQgPSAwOworICAgICAgICBmb3IgKHZhciBub2Rlc0l0ZXIgPSB0aGlzLl9hbGxO
b2Rlczsgbm9kZXNJdGVyLmhhc05leHQoKTsgbm9kZXNJdGVyLm5leHQoKSwgKytjb3VudCk7CiAg
ICAgICAgIHRoaXMuX25vZGVJbmRleCA9IG5ldyBJbnQzMkFycmF5KGNvdW50ICsgMSk7CiAgICAg
ICAgIGNvdW50ID0gMDsKICAgICAgICAgZm9yICh2YXIgbm9kZXNJdGVyID0gdGhpcy5fYWxsTm9k
ZXM7IG5vZGVzSXRlci5oYXNOZXh0KCk7IG5vZGVzSXRlci5uZXh0KCksICsrY291bnQpCg==
</data>
<flag name="review"
          id="135116"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>