<?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>86718</bug_id>
          
          <creation_ts>2012-05-17 04:23:15 -0700</creation_ts>
          <short_desc>Web Inspector: HeapSnapshot: speed-up calculateObjectToWindowDistance</short_desc>
          <delta_ts>2012-05-17 05:47:23 -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>626443</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-05-17 04:23:15 -0700</bug_when>
    <thetext>The idea is to switch from nodeIndex2distance array to nodeOrdinal2distance external array.
Due to nature of nodeIndex values the original array was sparsed.

RESULT heap-snapshot: _calculateObjectToWindowDistance= 768 ms
vs
RESULT heap-snapshot: _calculateObjectToWindowDistance= 110 ms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626445</commentid>
    <comment_count>1</comment_count>
      <attachid>142451</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-05-17 04:25:12 -0700</bug_when>
    <thetext>Created attachment 142451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626456</commentid>
    <comment_count>2</comment_count>
      <attachid>142451</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-05-17 04:48:21 -0700</bug_when>
    <thetext>Comment on attachment 142451
Patch

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

&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:942
&gt; +                         ? nodes[nodeIndex + firstEdgeIndexOffset + nodeFieldCount]

Please revert change in this line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626491</commentid>
    <comment_count>3</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-05-17 05:47:23 -0700</bug_when>
    <thetext>Committed r117437: &lt;http://trac.webkit.org/changeset/117437&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142451</attachid>
            <date>2012-05-17 04:25:12 -0700</date>
            <delta_ts>2012-05-17 04:48:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86718-20120517152510.patch</filename>
            <type>text/plain</type>
            <size>6568</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDc4ZjM0ZDVmZmMxOGQ2
YjAwNmYyODQ4Y2Q1OTNjNWJjOGVlYzk5ZS4uM2RjNjY3YTc4Yjk5NjE0MzBlOWUyNWRmMTQ3Mjk1
YTllYjEzMjI0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA1LTE3ICBJbHlh
IFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBIZWFwU25hcHNob3Q6IHNwZWVkLXVwIGNhbGN1bGF0ZU9iamVjdFRvV2luZG93RGlzdGFu
Y2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2NzE4
CisKKyAgICAgICAgVGhlIGlkZWEgaXMgdG8gc3dpdGNoIGZyb20gbm9kZUluZGV4MmRpc3RhbmNl
IGFycmF5IHRvIG5vZGVPcmRpbmFsMmRpc3RhbmNlIGV4dGVybmFsIGFycmF5LgorICAgICAgICBE
dWUgdG8gbmF0dXJlIG9mIG5vZGVJbmRleCB2YWx1ZXMgdGhlIG9yaWdpbmFsIGFycmF5IHdhcyBz
cGFyc2VkLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuSGVhcFNuYXBzaG90Tm9kZS5wcm90b3R5cGUuZ2V0IGRpc3RhbmNlVG9XaW5kb3cpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdC5wcm90b3R5cGUuX2NhbGN1bGF0ZU9i
amVjdFRvV2luZG93RGlzdGFuY2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hv
dC5wcm90b3R5cGUuX2Jmcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90LnBy
b3RvdHlwZS5fYnVpbGRBZ2dyZWdhdGVzKToKKwogMjAxMi0wNS0xNyAgUHJhdmluIEQgIDxwcmF2
aW5kLjJrNEBnbWFpbC5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjExNjMzMSk6IFJTUyBI
ZWFkbGluZXMvbGlua3MgYXJlIG1pc3NpbmcgKC13ZWJraXQtYm94LWZsZXggYnJva2VuPykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMK
aW5kZXggZTMyMjYwNDczNTg3NTA5MmEwMzA3N2I0NTk4ODgxNTI1NjIxYTYyNC4uYTBkNjU0OWQx
MDU5Y2NmMDE3ZGJmNmYzYWRmMzA4MmEwNmE2YjJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKQEAgLTQyNiw3ICs0MjYsNyBA
QCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Tm9kZS5wcm90b3R5cGUgPSB7CiAKICAgICBnZXQg
ZGlzdGFuY2VUb1dpbmRvdygpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fc25hcHNob3Qu
X2Rpc3RhbmNlc1RvV2luZG93W3RoaXMubm9kZUluZGV4XTsKKyAgICAgICAgcmV0dXJuIHRoaXMu
X3NuYXBzaG90Ll9kaXN0YW5jZXNUb1dpbmRvd1t0aGlzLm5vZGVJbmRleCAvIHRoaXMuX3NuYXBz
aG90Ll9ub2RlRmllbGRDb3VudF07CiAgICAgfSwKIAogICAgIGdldCBjbGFzc05hbWUoKQpAQCAt
ODk1LDI5ICs4OTUsMjkgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdC5wcm90b3R5cGUgPSB7
CiAKICAgICBfY2FsY3VsYXRlT2JqZWN0VG9XaW5kb3dEaXN0YW5jZTogZnVuY3Rpb24oKQogICAg
IHsKLSAgICAgICAgdGhpcy5fZGlzdGFuY2VzVG9XaW5kb3cgPSBuZXcgQXJyYXkodGhpcy5ub2Rl
Q291bnQpOworICAgICAgICB2YXIgbm9kZUZpZWxkQ291bnQgPSB0aGlzLl9ub2RlRmllbGRDb3Vu
dDsKKyAgICAgICAgdmFyIGRpc3RhbmNlcyA9IG5ldyBVaW50MzJBcnJheSh0aGlzLm5vZGVDb3Vu
dCk7CiAKICAgICAgICAgLy8gYmZzIGZvciBXaW5kb3cgcm9vdHMKICAgICAgICAgdmFyIGxpc3Qg
PSBbXTsKICAgICAgICAgZm9yICh2YXIgaXRlciA9IHRoaXMucm9vdE5vZGUuZWRnZXM7IGl0ZXIu
aGFzTmV4dCgpOyBpdGVyLm5leHQoKSkgewogICAgICAgICAgICAgdmFyIG5vZGUgPSBpdGVyLmVk
Z2Uubm9kZTsKICAgICAgICAgICAgIGlmIChub2RlLmlzV2luZG93KSB7Ci0gICAgICAgICAgICAg
ICAgaWYgKG5vZGUubm9kZUluZGV4ICUgdGhpcy5fbm9kZUZpZWxkQ291bnQpCi0gICAgICAgICAg
ICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiSW52YWxpZCBub2RlSW5kZXg6ICIgKyBub2RlLm5v
ZGVJbmRleCk7CiAgICAgICAgICAgICAgICAgbGlzdC5wdXNoKG5vZGUubm9kZUluZGV4KTsKLSAg
ICAgICAgICAgICAgICB0aGlzLl9kaXN0YW5jZXNUb1dpbmRvd1tub2RlLm5vZGVJbmRleF0gPSAw
OworICAgICAgICAgICAgICAgIGRpc3RhbmNlc1tub2RlLm5vZGVJbmRleCAvIG5vZGVGaWVsZENv
dW50XSA9IDA7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgdGhpcy5fYmZzKGxp
c3QpOworICAgICAgICB0aGlzLl9iZnMobGlzdCwgZGlzdGFuY2VzKTsKIAogICAgICAgICAvLyBi
ZnMgZm9yIHJvb3QKICAgICAgICAgbGlzdCA9IFtdOwogICAgICAgICBsaXN0LnB1c2godGhpcy5f
cm9vdE5vZGVJbmRleCk7Ci0gICAgICAgIHRoaXMuX2Rpc3RhbmNlc1RvV2luZG93W3RoaXMuX3Jv
b3ROb2RlSW5kZXhdID0gMDsKLSAgICAgICAgdGhpcy5fYmZzKGxpc3QpOworICAgICAgICBkaXN0
YW5jZXNbdGhpcy5fcm9vdE5vZGVJbmRleCAvIG5vZGVGaWVsZENvdW50XSA9IDA7CisgICAgICAg
IHRoaXMuX2JmcyhsaXN0LCBkaXN0YW5jZXMpOworICAgICAgICB0aGlzLl9kaXN0YW5jZXNUb1dp
bmRvdyA9IGRpc3RhbmNlczsKICAgICB9LAogCi0gICAgX2JmczogZnVuY3Rpb24obGlzdCkKKyAg
ICBfYmZzOiBmdW5jdGlvbihsaXN0LCBkaXN0YW5jZXMpCiAgICAgewogICAgICAgICAvLyBQZWxv
YWQgZmllbGRzIGludG8gbG9jYWwgdmFyaWFibGVzIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UuCiAg
ICAgICAgIHZhciBlZGdlRmllbGRzQ291bnQgPSB0aGlzLl9lZGdlRmllbGRzQ291bnQ7CkBAIC05
MjUsMjkgKzkyNSwyOCBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90LnByb3RvdHlwZSA9IHsK
ICAgICAgICAgdmFyIG5vZGVGaWVsZENvdW50ID0gdGhpcy5fbm9kZUZpZWxkQ291bnQ7CiAgICAg
ICAgIHZhciBmaXJzdEVkZ2VJbmRleE9mZnNldCA9IHRoaXMuX2ZpcnN0RWRnZUluZGV4T2Zmc2V0
OwogICAgICAgICB2YXIgZWRnZVRvTm9kZU9mZnNldCA9IHRoaXMuX2VkZ2VUb05vZGVPZmZzZXQ7
Ci0gICAgICAgIHZhciBkaXN0YW5jZXNUb1dpbmRvdyA9IHRoaXMuX2Rpc3RhbmNlc1RvV2luZG93
OwogICAgICAgICB2YXIgbm9kZXMgPSB0aGlzLl9ub2RlczsKKyAgICAgICAgdmFyIG5vZGVDb3Vu
dCA9IHRoaXMubm9kZUNvdW50OwogCiAgICAgICAgIHZhciBpbmRleCA9IDA7CiAgICAgICAgIHdo
aWxlIChpbmRleCA8IGxpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICB2YXIgbm9kZUluZGV4ID0g
bGlzdFtpbmRleCsrXTsgLy8gc2hpZnQgZ2VuZXJhdGVzIHRvbyBtdWNoIGdhcmJhZ2UuCisgICAg
ICAgICAgICB2YXIgbm9kZU9yZGluYWwgPSBub2RlSW5kZXggLyBub2RlRmllbGRDb3VudDsKICAg
ICAgICAgICAgIGlmIChpbmRleCA+IDEwMDAwMCkgewogICAgICAgICAgICAgICAgIGxpc3QgPSBs
aXN0LnNsaWNlKGluZGV4KTsKICAgICAgICAgICAgICAgICBpbmRleCA9IDA7CiAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICB2YXIgZGlzdGFuY2UgPSBkaXN0YW5jZXNUb1dpbmRvd1tub2RlSW5k
ZXhdICsgMTsKLQorICAgICAgICAgICAgdmFyIGRpc3RhbmNlID0gZGlzdGFuY2VzW25vZGVPcmRp
bmFsXSArIDE7CiAgICAgICAgICAgICB2YXIgZmlyc3RFZGdlSW5kZXggPSBub2Rlc1tub2RlSW5k
ZXggKyBmaXJzdEVkZ2VJbmRleE9mZnNldF07Ci0gICAgICAgICAgICB2YXIgZWRnZXNFbmQgPSBu
b2RlSW5kZXggPCBub2Rlcy5sZW5ndGgKLSAgICAgICAgICAgICAgICAgICAgICAgICA/IG5vZGVz
W25vZGVJbmRleCArIG5vZGVGaWVsZENvdW50ICsgZmlyc3RFZGdlSW5kZXhPZmZzZXRdCisgICAg
ICAgICAgICB2YXIgZWRnZXNFbmQgPSBub2RlT3JkaW5hbCA8IG5vZGVDb3VudCAtIDEKKyAgICAg
ICAgICAgICAgICAgICAgICAgICA/IG5vZGVzW25vZGVJbmRleCArIGZpcnN0RWRnZUluZGV4T2Zm
c2V0ICsgbm9kZUZpZWxkQ291bnRdCiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250YWlu
bWVudEVkZ2VzLmxlbmd0aDsKICAgICAgICAgICAgIGZvciAodmFyIGVkZ2VUb05vZGVJbmRleCA9
IGZpcnN0RWRnZUluZGV4ICsgZWRnZVRvTm9kZU9mZnNldDsgZWRnZVRvTm9kZUluZGV4IDwgZWRn
ZXNFbmQ7IGVkZ2VUb05vZGVJbmRleCArPSBlZGdlRmllbGRzQ291bnQpIHsKICAgICAgICAgICAg
ICAgICB2YXIgY2hpbGROb2RlSW5kZXggPSBjb250YWlubWVudEVkZ2VzW2VkZ2VUb05vZGVJbmRl
eF07Ci0gICAgICAgICAgICAgICAgaWYgKGNoaWxkTm9kZUluZGV4ICUgbm9kZUZpZWxkQ291bnQp
Ci0gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiSW52YWxpZCBjaGlsZE5vZGVJ
bmRleDogIiArIGNoaWxkTm9kZUluZGV4KTsKLSAgICAgICAgICAgICAgICBpZiAoY2hpbGROb2Rl
SW5kZXggaW4gZGlzdGFuY2VzVG9XaW5kb3cpCisgICAgICAgICAgICAgICAgdmFyIGNoaWxkTm9k
ZU9yZGluYWwgPSBjaGlsZE5vZGVJbmRleCAvIG5vZGVGaWVsZENvdW50OworICAgICAgICAgICAg
ICAgIGlmIChkaXN0YW5jZXNbY2hpbGROb2RlT3JkaW5hbF0pCiAgICAgICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIGRpc3RhbmNlc1RvV2luZG93W2NoaWxkTm9kZUlu
ZGV4XSA9IGRpc3RhbmNlOworICAgICAgICAgICAgICAgIGRpc3RhbmNlc1tjaGlsZE5vZGVPcmRp
bmFsXSA9IGRpc3RhbmNlOwogICAgICAgICAgICAgICAgIGxpc3QucHVzaChjaGlsZE5vZGVJbmRl
eCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTk2Nyw2ICs5NjYsNyBAQCBXZWJJbnNw
ZWN0b3IuSGVhcFNuYXBzaG90LnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGRpc3RhbmNlc1Rv
V2luZG93ID0gdGhpcy5fZGlzdGFuY2VzVG9XaW5kb3c7CiAKICAgICAgICAgZm9yICh2YXIgbm9k
ZUluZGV4ID0gdGhpcy5fcm9vdE5vZGVJbmRleDsgbm9kZUluZGV4IDwgbm9kZXNMZW5ndGg7IG5v
ZGVJbmRleCArPSBub2RlRmllbGRzQ291bnQpIHsKKyAgICAgICAgICAgIHZhciBub2RlT3JkaW5h
bCA9IG5vZGVJbmRleCAvIG5vZGVGaWVsZHNDb3VudDsKICAgICAgICAgICAgIG5vZGUubm9kZUlu
ZGV4ID0gbm9kZUluZGV4OwogICAgICAgICAgICAgdmFyIHNlbGZTaXplID0gbm9kZXNbbm9kZUlu
ZGV4ICsgc2VsZlNpemVPZmZzZXRdOwogICAgICAgICAgICAgaWYgKGZpbHRlciAmJiAhZmlsdGVy
KG5vZGUpKQpAQCAtOTc5LDcgKzk3OSw3IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3QucHJv
dG90eXBlID0gewogICAgICAgICAgICAgICAgIHZhciBuYW1lTWF0dGVycyA9IG5vZGVUeXBlID09
PSAib2JqZWN0IiB8fCBub2RlVHlwZSA9PT0gIm5hdGl2ZSI7CiAgICAgICAgICAgICAgICAgdmFy
IHZhbHVlID0gewogICAgICAgICAgICAgICAgICAgICBjb3VudDogMSwKLSAgICAgICAgICAgICAg
ICAgICAgZGlzdGFuY2VUb1dpbmRvdzogZGlzdGFuY2VzVG9XaW5kb3dbbm9kZUluZGV4XSwKKyAg
ICAgICAgICAgICAgICAgICAgZGlzdGFuY2VUb1dpbmRvdzogZGlzdGFuY2VzVG9XaW5kb3dbbm9k
ZU9yZGluYWxdLAogICAgICAgICAgICAgICAgICAgICBzZWxmOiBzZWxmU2l6ZSwKICAgICAgICAg
ICAgICAgICAgICAgbWF4UmV0OiAwLAogICAgICAgICAgICAgICAgICAgICB0eXBlOiBub2RlVHlw
ZSwKQEAgLTk5MCw3ICs5OTAsNyBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90LnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgICAgICBhZ2dyZWdhdGVzQnlDbGFzc05hbWVbbm9kZS5jbGFzc05h
bWVdID0gdmFsdWU7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIHZhciBj
bHNzID0gYWdncmVnYXRlc1tjbGFzc0luZGV4XTsKLSAgICAgICAgICAgICAgICBjbHNzLmRpc3Rh
bmNlVG9XaW5kb3cgPSBNYXRoLm1pbihjbHNzLmRpc3RhbmNlVG9XaW5kb3csIGRpc3RhbmNlc1Rv
V2luZG93W25vZGVJbmRleF0pOworICAgICAgICAgICAgICAgIGNsc3MuZGlzdGFuY2VUb1dpbmRv
dyA9IE1hdGgubWluKGNsc3MuZGlzdGFuY2VUb1dpbmRvdywgZGlzdGFuY2VzVG9XaW5kb3dbbm9k
ZU9yZGluYWxdKTsKICAgICAgICAgICAgICAgICArK2Nsc3MuY291bnQ7CiAgICAgICAgICAgICAg
ICAgY2xzcy5zZWxmICs9IHNlbGZTaXplOwogICAgICAgICAgICAgICAgIGNsc3MuaWR4cy5wdXNo
KG5vZGVJbmRleCk7Cg==
</data>
<flag name="review"
          id="148793"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>