<?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>87502</bug_id>
          
          <creation_ts>2012-05-25 07:59:52 -0700</creation_ts>
          <short_desc>Web Inspector: speed-up HeapSnapshot._bfs method.</short_desc>
          <delta_ts>2012-05-25 08:41:09 -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>alph</cc>
    
    <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>633926</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-05-25 07:59:52 -0700</bug_when>
    <thetext>it had containmentEdges.length call in the loop.
 
before
RESULT heap-snapshot: _calculateObjectToWindowDistance= 117 ms
after
RESULT heap-snapshot: _calculateObjectToWindowDistance= 36 ms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633929</commentid>
    <comment_count>1</comment_count>
      <attachid>144069</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-05-25 08:01:46 -0700</bug_when>
    <thetext>Created attachment 144069
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633955</commentid>
    <comment_count>2</comment_count>
      <attachid>144069</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-05-25 08:31:20 -0700</bug_when>
    <thetext>Comment on attachment 144069
Patch

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

&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:934
&gt; +                nodesToVisit[nodesToVisitLength++] = childNodeIndex;

Please add an assert that nodesToVisitLength &lt;= this.nodeCount</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633961</commentid>
    <comment_count>3</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-05-25 08:41:09 -0700</bug_when>
    <thetext>Committed r118529: &lt;http://trac.webkit.org/changeset/118529&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144069</attachid>
            <date>2012-05-25 08:01:46 -0700</date>
            <delta_ts>2012-05-25 08:31:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87502-20120525190145.patch</filename>
            <type>text/plain</type>
            <size>4373</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2RlZjhiMTk4YmNkNmM3
NWI0NzU5ODM1ZGY1Yjc5OTE4NGMwNWQxMi4uNDk4ZDZmNmJmNjZmZTAwNTczODY2MThlZWI3ODUz
ZTcxOGVkYWYyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDEyLTA1LTI1ICBJbHlh
IFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAorICAgICAgICBXZWIgSW5zcGVj
dG9yOiBzcGVlZC11cCBIZWFwU25hcHNob3QuX2JmcyBtZXRob2QuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzUwMgorCisgICAgICAgIEl0IGhhZCBj
b250YWlubWVudEVkZ2VzLmxlbmd0aCBjYWxsIGluIHRoZSBsb29wIHRoYXQgZm9yY2VkIGRlb3B0
aW1pemF0aW9uLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuSGVhcFNuYXBzaG90LnByb3RvdHlwZS5fY2FsY3VsYXRlT2JqZWN0VG9XaW5kb3dE
aXN0YW5jZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90LnByb3RvdHlwZS5f
YmZzKToKKworMjAxMi0wNS0yNSAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5v
cmc+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogSGVhcFNuYXBzaG90OiBpbnRyb2R1Y2UgcGVy
Zm9ybWFuY2UgY291bnRlciBmb3IgSGVhcFNuYXBzaG90Q29uc3RydWN0b3JzRGF0YUdyaWQuX2Fn
Z3JlZ2F0ZXNSZWNlaXZlZCBtZXRob2QuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04NzM5MwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvSGVhcFNuYXBzaG90LmpzCmluZGV4IDM3NTFkZmVhODJkMTUyMDhkMGUzY2Vk
YTM2MzcxYTlmNmE4ZWRlZWIuLjYyMzY0NWE3MDgxNGIyOTU0YzE4ZTVmYjgyNWJjMjg1NjM3MzZl
OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNu
YXBzaG90LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNu
YXBzaG90LmpzCkBAIC04ODUsMjUgKzg4NSwyNiBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGRpc3RhbmNlcyA9IG5ldyBVaW50MzJBcnJheSh0
aGlzLm5vZGVDb3VudCk7CiAKICAgICAgICAgLy8gYmZzIGZvciBXaW5kb3cgcm9vdHMKLSAgICAg
ICAgdmFyIGxpc3QgPSBbXTsKKyAgICAgICAgdmFyIG5vZGVzVG9WaXNpdCA9IG5ldyBVaW50MzJB
cnJheSh0aGlzLm5vZGVDb3VudCk7CisgICAgICAgIHZhciBub2Rlc1RvVmlzaXRMZW5ndGggPSAw
OwogICAgICAgICBmb3IgKHZhciBpdGVyID0gdGhpcy5yb290Tm9kZSgpLmVkZ2VzKCk7IGl0ZXIu
aGFzTmV4dCgpOyBpdGVyLm5leHQoKSkgewogICAgICAgICAgICAgdmFyIG5vZGUgPSBpdGVyLmVk
Z2Uubm9kZSgpOwogICAgICAgICAgICAgaWYgKG5vZGUuaXNXaW5kb3coKSkgewotICAgICAgICAg
ICAgICAgIGxpc3QucHVzaChub2RlLm5vZGVJbmRleCk7CisgICAgICAgICAgICAgICAgbm9kZXNU
b1Zpc2l0W25vZGVzVG9WaXNpdExlbmd0aCsrXSA9IG5vZGUubm9kZUluZGV4OwogICAgICAgICAg
ICAgICAgIGRpc3RhbmNlc1tub2RlLm5vZGVJbmRleCAvIG5vZGVGaWVsZENvdW50XSA9IDA7CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgdGhpcy5fYmZzKGxpc3QsIGRpc3RhbmNl
cyk7CisgICAgICAgIHRoaXMuX2Jmcyhub2Rlc1RvVmlzaXQsIG5vZGVzVG9WaXNpdExlbmd0aCwg
ZGlzdGFuY2VzKTsKIAogICAgICAgICAvLyBiZnMgZm9yIHJvb3QKLSAgICAgICAgbGlzdCA9IFtd
OwotICAgICAgICBsaXN0LnB1c2godGhpcy5fcm9vdE5vZGVJbmRleCk7CisgICAgICAgIG5vZGVz
VG9WaXNpdExlbmd0aCA9IDA7CisgICAgICAgIG5vZGVzVG9WaXNpdFtub2Rlc1RvVmlzaXRMZW5n
dGgrK10gPSB0aGlzLl9yb290Tm9kZUluZGV4OwogICAgICAgICBkaXN0YW5jZXNbdGhpcy5fcm9v
dE5vZGVJbmRleCAvIG5vZGVGaWVsZENvdW50XSA9IDA7Ci0gICAgICAgIHRoaXMuX2JmcyhsaXN0
LCBkaXN0YW5jZXMpOworICAgICAgICB0aGlzLl9iZnMobm9kZXNUb1Zpc2l0LCBub2Rlc1RvVmlz
aXRMZW5ndGgsIGRpc3RhbmNlcyk7CiAgICAgICAgIHRoaXMuX2Rpc3RhbmNlc1RvV2luZG93ID0g
ZGlzdGFuY2VzOwogICAgIH0sCiAKLSAgICBfYmZzOiBmdW5jdGlvbihsaXN0LCBkaXN0YW5jZXMp
CisgICAgX2JmczogZnVuY3Rpb24obm9kZXNUb1Zpc2l0LCBub2Rlc1RvVmlzaXRMZW5ndGgsIGRp
c3RhbmNlcykKICAgICB7CiAgICAgICAgIC8vIFBlbG9hZCBmaWVsZHMgaW50byBsb2NhbCB2YXJp
YWJsZXMgZm9yIGJldHRlciBwZXJmb3JtYW5jZS4KICAgICAgICAgdmFyIGVkZ2VGaWVsZHNDb3Vu
dCA9IHRoaXMuX2VkZ2VGaWVsZHNDb3VudDsKQEAgLTkxMywyNyArOTE0LDI0IEBAIFdlYkluc3Bl
Y3Rvci5IZWFwU25hcHNob3QucHJvdG90eXBlID0gewogICAgICAgICB2YXIgZWRnZVRvTm9kZU9m
ZnNldCA9IHRoaXMuX2VkZ2VUb05vZGVPZmZzZXQ7CiAgICAgICAgIHZhciBub2RlcyA9IHRoaXMu
X25vZGVzOwogICAgICAgICB2YXIgbm9kZUNvdW50ID0gdGhpcy5ub2RlQ291bnQ7CisgICAgICAg
IHZhciBjb250YWlubWVudEVkZ2VzTGVuZ3RoID0gY29udGFpbm1lbnRFZGdlcy5sZW5ndGg7CiAK
ICAgICAgICAgdmFyIGluZGV4ID0gMDsKLSAgICAgICAgd2hpbGUgKGluZGV4IDwgbGlzdC5sZW5n
dGgpIHsKLSAgICAgICAgICAgIHZhciBub2RlSW5kZXggPSBsaXN0W2luZGV4KytdOyAvLyBzaGlm
dCBnZW5lcmF0ZXMgdG9vIG11Y2ggZ2FyYmFnZS4KKyAgICAgICAgd2hpbGUgKGluZGV4IDwgbm9k
ZXNUb1Zpc2l0TGVuZ3RoKSB7CisgICAgICAgICAgICB2YXIgbm9kZUluZGV4ID0gbm9kZXNUb1Zp
c2l0W2luZGV4KytdOyAvLyBzaGlmdCBnZW5lcmF0ZXMgdG9vIG11Y2ggZ2FyYmFnZS4KICAgICAg
ICAgICAgIHZhciBub2RlT3JkaW5hbCA9IG5vZGVJbmRleCAvIG5vZGVGaWVsZENvdW50OwotICAg
ICAgICAgICAgaWYgKGluZGV4ID4gMTAwMDAwKSB7Ci0gICAgICAgICAgICAgICAgbGlzdCA9IGxp
c3Quc2xpY2UoaW5kZXgpOwotICAgICAgICAgICAgICAgIGluZGV4ID0gMDsKLSAgICAgICAgICAg
IH0KICAgICAgICAgICAgIHZhciBkaXN0YW5jZSA9IGRpc3RhbmNlc1tub2RlT3JkaW5hbF0gKyAx
OwogICAgICAgICAgICAgdmFyIGZpcnN0RWRnZUluZGV4ID0gbm9kZXNbbm9kZUluZGV4ICsgZmly
c3RFZGdlSW5kZXhPZmZzZXRdOwogICAgICAgICAgICAgdmFyIGVkZ2VzRW5kID0gbm9kZU9yZGlu
YWwgPCBub2RlQ291bnQgLSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgPyBub2Rlc1tub2Rl
SW5kZXggKyBmaXJzdEVkZ2VJbmRleE9mZnNldCArIG5vZGVGaWVsZENvdW50XQotICAgICAgICAg
ICAgICAgICAgICAgICAgIDogY29udGFpbm1lbnRFZGdlcy5sZW5ndGg7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgOiBjb250YWlubWVudEVkZ2VzTGVuZ3RoOwogICAgICAgICAgICAgZm9yICh2
YXIgZWRnZVRvTm9kZUluZGV4ID0gZmlyc3RFZGdlSW5kZXggKyBlZGdlVG9Ob2RlT2Zmc2V0OyBl
ZGdlVG9Ob2RlSW5kZXggPCBlZGdlc0VuZDsgZWRnZVRvTm9kZUluZGV4ICs9IGVkZ2VGaWVsZHND
b3VudCkgewogICAgICAgICAgICAgICAgIHZhciBjaGlsZE5vZGVJbmRleCA9IGNvbnRhaW5tZW50
RWRnZXNbZWRnZVRvTm9kZUluZGV4XTsKICAgICAgICAgICAgICAgICB2YXIgY2hpbGROb2RlT3Jk
aW5hbCA9IGNoaWxkTm9kZUluZGV4IC8gbm9kZUZpZWxkQ291bnQ7CiAgICAgICAgICAgICAgICAg
aWYgKGRpc3RhbmNlc1tjaGlsZE5vZGVPcmRpbmFsXSkKICAgICAgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICAgICAgZGlzdGFuY2VzW2NoaWxkTm9kZU9yZGluYWxdID0gZGlz
dGFuY2U7Ci0gICAgICAgICAgICAgICAgbGlzdC5wdXNoKGNoaWxkTm9kZUluZGV4KTsKKyAgICAg
ICAgICAgICAgICBub2Rlc1RvVmlzaXRbbm9kZXNUb1Zpc2l0TGVuZ3RoKytdID0gY2hpbGROb2Rl
SW5kZXg7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9LAo=
</data>
<flag name="review"
          id="150796"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>