- 04 Dec, 2012 1 commit
-
-
yurys@chromium.org authored
Heap profiler currently gets "document" of global objects while taking snapshot (to later retrieve its "URL"). This is unsafe as there may be no current v8 context when the property is requested while corresponding property accessor may make some assumptions about the context stack during its invokation. Several crashes were reported due to this problem: https://bugs.webkit.org/show_bug.cgi?id=103076 https://crbug.com/162121 https://crbug.com/132727 This patch adds a callback for resolving global object names and avoid the crashes. Review URL: https://codereview.chromium.org/11415203 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Aug, 2012 1 commit
-
-
loislo@chromium.org authored
BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10892033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Jul, 2012 1 commit
-
-
yangguo@chromium.org authored
R=yangguo@chromium.org BUG=v8:2016, v8:2017 TEST= Review URL: https://chromiumcodereview.appspot.com/10823034 Patch from James Pike <g00gle@chilon.net>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jun, 2012 1 commit
-
-
alexeif@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/10535096 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Jun, 2012 1 commit
-
-
loislo@chromium.org authored
BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10444137 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Apr, 2012 1 commit
-
-
loislo@chromium.org authored
We are pushing stats data as a raw array of uint32_t values at the moment. It makes tricky the process of updating the API between v8 and WebKit. BUG=none TEST=HeapSnapshotObjectsStats Review URL: https://chromiumcodereview.appspot.com/10110001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Apr, 2012 2 commits
-
-
yurys@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/10094011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
loislo@chromium.org authored
The stats data have only count field at the moment. A constantly growing array of integers also can be a reason of a leak. Ans we have to have a way to detect such kind of leaks. Drive by fix: FindObject and AddEntry were replaced with FindEntry/FindOrAddEntry pair. BUG=none TEST=HeapSnapshotObjectsStats Review URL: https://chromiumcodereview.appspot.com/10086004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Apr, 2012 2 commits
-
-
alexeif@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/10037004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
loislo@chromium.org authored
The idea is to monitor the heap regulary and track each object in the heap. With this data we will be able do draw heap usage diagram. Where X is time and Y is the number of objects. BUG=none TEST=HeapSnapshotObjectsStats Review URL: https://chromiumcodereview.appspot.com/10049002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Mar, 2012 3 commits
-
-
loislo@chromium.org authored
At the moment it is evaluating on the front-end side and this is cost us 2 * (load time + parse time + traverse via snapshot) because I need this value for two previous snapshots. BUG=none TEST=test-heap-profiler Review URL: https://chromiumcodereview.appspot.com/9858016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
loislo@chromium.org authored
Revert "This value is required for showing the heap snapshot delta in Summary view of DevTools.Profiler." This reverts commit 634864d65ebe820a967f6162d8e226cf4a73e51a. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9861018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
loislo@chromium.org authored
At the moment it is evaluating on the front-end side and this is cost us 2 * (load time + parse time + traverse via snapshot) because I need this value for two previous snapshots. BUG=none TEST=test-heap-profiler Review URL: https://chromiumcodereview.appspot.com/9858016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Mar, 2012 1 commit
-
-
loislo@chromium.org authored
BUG=none TEST=test-heap-profiler Review URL: https://chromiumcodereview.appspot.com/9858010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Mar, 2012 1 commit
-
-
vegorov@chromium.org authored
It turns out that an increasing number of persistent handles is a good signal for bugs in the bindings layer BUG=none TEST=cctest/test-heap-profiler/PersistentHandleCount Review URL: https://chromiumcodereview.appspot.com/9620007 Patch from Jochen Eisinger <jochen@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Feb, 2012 1 commit
-
-
mikhail.naganov@gmail.com authored
This patch changes the signature of the v8::HeapGraphNode::GetRetainedSize method, but it's not used in Chromium, and it should be easy for other clients (if any) to adjust to this change. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/9466014 Patch from Alexei Filippov <alexeif@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Feb, 2012 1 commit
-
-
loislo@chromium.org authored
As example there are 'Detached DOM Tree' nodes in WebKit. It is very useful to be able to see all such nodes grouped together. It can be done with help of some post processing but I did this explicitly on v8 side because it is much faster. At the moment this kind of nodes has kNative type. I'd like to hide these nodes from the Retainment View but I can filter them only by name. BUG=none TEST=HeapSnapshotRetainedObjectInfo Review URL: https://chromiumcodereview.appspot.com/9323064 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Jan, 2012 1 commit
-
-
loislo@chromium.org authored
The detailed heap snapshot has two groups of nodes. The first one is the group for v8 heap nodes and the second one is the group for native objects. At the moment we have two different sets of native objects. There are 'Detached DOM trees' and 'Document DOM trees' type of objects. I think it'd be nice to replace one group containing all native objects with separate groups for different types of native objects. BUG=none TEST=HeapSnapshotRetainedObjectInfo Review URL: https://chromiumcodereview.appspot.com/9223009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Dec, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
[Fixed the bug revealed by the Win32 bot] Several changes to better organize snapshot data: 1. Provide information about weak references. 2. Group (GC roots) children. 3. Prettify debug snapshot printing. BUG=v8:1832 TEST=cctest/test-heap-profiler/*Weak* TBR=vitalyr@chromium.org Initial CL: http://codereview.chromium.org/8716009 Review URL: http://codereview.chromium.org/8822019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Dec, 2011 2 commits
-
-
mikhail.naganov@gmail.com authored
Heap profiler tests fail on Win32, need to investigate. This reverts commit b5374ebd92c11ac4aae16b4e31e54166d406e490. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
Several changes to better organize snapshot data: 1. Provide information about weak references. 2. Group (GC roots) children. 3. Prettify debug snapshot printing. BUG=v8:1832 TEST=cctest/test-heap-profiler/*Weak* Review URL: http://codereview.chromium.org/8716009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Sep, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
This allows getting a heap object by a heap snapshot node for further inspection. Very useful for objects from bindings that mostly have getter-provided fields. R=vegorov@google.com BUG=webkit/61179 TEST=test-heap-profiler/GetHeapValue,GetHeapValueForDeletedObject Review URL: http://codereview.chromium.org/8046006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Jun, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
2000 LOC are gone! R=sgjesse@chromium.org BUG=1481 Review URL: http://codereview.chromium.org/7247018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Jun, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
This is a preparation for removing aggregated heap snapshots. W/o this API, counting object instances in a snapshot is very hard. R=sgjesse@chromium.org BUG=1481 TEST=cctest/test-heap-profiler/NodesIteration Review URL: http://codereview.chromium.org/7204040 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 May, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
Patch by Nicolas Kaiser <nikai@nikai.net> R=sgjesse@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/7030008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Mar, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
Diffs and retaining paths are implemented on JS side. There is no need to maintain native implementation. R=vitalyr@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/6770009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Mar, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
R=vitalyr@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/6685084 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Mar, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
objects retained by object groups and global handles. This information is then used during heap snapshot generation to provide a more complete memory picture. This patch will be needed to fix https://bugs.webkit.org/show_bug.cgi?id=53659. Review URL: http://codereview.chromium.org/6626043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Dec, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
As taking a snapshot of a large heap takes noticeable time, it's good to be able to monitor and control it. The change itself is small, big code deletes and additions are in fact moves. The only significant change is simplification of approximated retained sizes calculation algorithm. Review URL: http://codereview.chromium.org/5687003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Dec, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
TEST=cctest/test-heap-profiler/HeapSnapshotGetNodeById Review URL: http://codereview.chromium.org/5537001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Nov, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
Approximation is done by building a dominators tree for the heap graph. Dominator nodes and retained sizes are serialized into JSON. Removed: - reachable size (it is useless, after all); - HeapEntryCalculatedData (size is now stored in the node, retaining paths in a hash map); Review URL: http://codereview.chromium.org/5154007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Nov, 2010 2 commits
-
-
mikhail.naganov@gmail.com authored
TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/5198003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
Otherwise, retaned memory sizes are not precise. This increases size of heap snapshot, I will deal with this later. Heap objects and references previously missing in snapshot are now marked as 'hidden'. That means, they not shown to user, but participate in sizes calculation. Other small changes: - added 'shortcut' graph edges: e.g. to pin global objects on top level; - meta-information in JSON snapshot is no more double encoded. Review URL: http://codereview.chromium.org/5139002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Oct, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
HeapNumbers do consume memory, so it's worth dumping them. However, we don't dump their values, as they are not as self-descriptive as values of strings, and they will increase snapshot size. Storing heap numbers values can be added if we will feel a sufficient demand for that. InternalFields are used, e.g. for storing references to DOM nodes event handlers. Review URL: http://codereview.chromium.org/3769007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Oct, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
I created a heap snapshot in Chromium, and then started comparing it side-by-side with representations of objects provided by the debugger, fixing discrepancies. Review URL: http://codereview.chromium.org/3590029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Sep, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
to avoid storing serialized snapshot on VM, instead it is emitted using output stream interface. The size of JSON emitted is roughly equal to used heap size (when stored as an ASCII string). Now a whole heap snapshot can be serialized and transmitted outside VM. This makes possible: - implementing non-async UI for heap snapshots inspection; - storing heap snapshots for further inspection; - remote profiling (we can even implement a snapshotting mode where a snapshot isn't even stored in VM, only transmitted -- good for mobile devices); - creating tools for outside heap snapshots processing, e.g. converting to HPROF. Review URL: http://codereview.chromium.org/3311028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Aug, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
This is intended for smoother migration to the new API in Chromium. Also, aggregated heap snapshots can be used for cheaply obtaining heap statistics, e.g. in tests. Review URL: http://codereview.chromium.org/3124024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Aug, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
The size of a snapshot is now 65-80% of the JS heap size (tested on GMail and Wave), previously it was >200%. BUG=783 Review URL: http://codereview.chromium.org/3060008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Jul, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
To trace objects between snapshots, an external map of object tags is maintained. After the first heap snapshot has been taken, the map is updated by reporting object moves from the GC. If no snapshots were taken, there is no overhead (except for flag checking). I considered graph comparison algorithms that doesn't require using object tags, but they are all of a high computational complexity, and will still fail to detect object moves properly, even for trivial cases, so using tags looks like unavoidable. Review URL: http://codereview.chromium.org/3020002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Jun, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
Review URL: http://codereview.chromium.org/2846012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-