- 20 Dec, 2013 1 commit
-
-
yurys@chromium.org authored
It may occur that GetChildrenCount is called on the node which has no children and stored last in the internal nodes array. In that case HeapEntry::children_arr() would fail when taking address of the element at index children_index_ which is past the last element in the children's array. BUG=None LOG=N R=alph@chromium.org, ulan@chromium.org Review URL: https://codereview.chromium.org/112623005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Nov, 2013 1 commit
-
-
yangguo@chromium.org authored
The changes are (excluding presubmit.py) mechanical. I added the following lines after the check and iterated the presubmit script until all errors went away: f = open(name, "w"); if contents.endswith('\n\n'): f.write(contents[0:-1]) else: f.write(contents + '\n') R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/82803005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Feb, 2013 1 commit
-
-
loislo@chromium.org authored
CPU profile code and Heap Snapshot code are completely unrelated to each other. So we can extract heap snapshot part into separate file. No functional changes. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/12314027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Nov, 2012 1 commit
-
-
yangguo@chromium.org authored
BUG= Review URL: https://chromiumcodereview.appspot.com/11412125 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Jul, 2012 1 commit
-
-
sanjoy@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10807024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 May, 2012 1 commit
-
-
loislo@chromium.org authored
Eliminate dominator and retained_size fields. They are calculating on front-end side. See meta-bug https://bugs.webkit.org/show_bug.cgi?id=87089 BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10416035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 May, 2012 1 commit
-
-
alexeif@chromium.org authored
This allowed the following changes: - heap profiler now makes one pass less over the heap. - HeapEntriesMap does not allocate EntryInfo per each entry. - there's no need for an extra pass to set indexes before serialization. As a result snapshot taking time has reduced up to 2x times. Review URL: https://chromiumcodereview.appspot.com/10353010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Apr, 2012 1 commit
-
-
alexeif@chromium.org authored
Separate objects into two groups: reachable from a window (user), and unreachable (system). Then do not take into account links that come from system group to the user group when calculating dominance relation. Review URL: https://chromiumcodereview.appspot.com/10086006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Apr, 2012 2 commits
-
-
alexeif@chromium.org authored
This reverts commit 6e46549d13df2b211ea9b4fac9c09fe5013ec465. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10025014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
alexeif@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/10007009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Mar, 2012 1 commit
-
-
alexeif@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9695046 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Mar, 2012 3 commits
-
-
loislo@chromium.org authored
We have a problem with really big apps. The snapshot for such pages doesn't fit into JS heap on DevTools front-end side. I'd like to move the snapshot's nodes data into Int32Array. This will reduce the pressure. At this moment it is not possible because the snapshot uses uint64_t for ids. BUG=none TEST=profiler-generator tests Review URL: https://chromiumcodereview.appspot.com/9617006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
loislo@chromium.org authored
Revert "We have a problem with really big apps. The snapshot for such pages doesn't fit into JS heap on DevTools front-end side. I'd like to move the snapshot's nodes data into Int32Array." This reverts commit 8c08ecc2782d5a8c60eb0692ec8f13d6da3cdc58. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/9666038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
loislo@chromium.org authored
We have a problem with really big apps. The snapshot for such pages doesn't fit into JS heap on DevTools front-end side. I'd like to move the snapshot's nodes data into Int32Array. This will reduce the pressure. At this moment it is not possible because the snapshot uses uint64_t for ids. BUG=none TEST=profiler-generator tests Review URL: https://chromiumcodereview.appspot.com/9617006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Dec, 2011 2 commits
-
-
mikhail.naganov@gmail.com authored
BUG=v8:1832 TEST=none TBR=vitalyr@chromium.org Review URL: http://codereview.chromium.org/8771051 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
- 14 Sep, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
Events are still generated for tick processor on performance testing server to work, as soon as scripts will be updated, it will be safe to remove code delete events emitting code. R=erik.corry@gmail.com BUG=v8:1466 TEST=existing tests in test-profile-generator,test-cpu-profiler and mjsunit/tools Review URL: http://codereview.chromium.org/7864017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jul, 2011 1 commit
-
-
sgjesse@chromium.org authored
The preprocessor defines ENABLE_LOGGING_AND_PROFILING and ENABLE_VMSTATE_TRACKING has been removed as these where required to be turned on for Crankshaft to work. To re-enable reducing the binary size by leaving out heap and CPU profiler a new set of defines needs to be created. R=ager@chromium.org BUG=v8:1271 TEST=all Review URL: http://codereview.chromium.org//7350014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Mar, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
into heap snapshots non-HeapObjects. This is needed as a preparation for adding DOM subtrees tracking. BUG=none TEST=none Review URL: http://codereview.chromium.org/6596073 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Feb, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
The main issue was due to multiple recompilations of functions. Now code objects are grouped by function using SFI object address. JSFunction objects are no longer tracked, instead we track SFI object moves. To pick a correct code version, we now sample return addresses instead of JSFunction addresses. tools/{linux|mac|windows}-tickprocessor scripts differentiate between code optimization states for the same function (using * and ~ prefixes introduced earlier). DevTools CPU profiler treats all variants of function code as a single function. ll_prof treats each optimized variant as a separate entry, because it can disassemble each one of them. tickprocessor.py not updated -- it is deprecated and will be removed. BUG=v8/1087,b/3178160 TEST=all existing tests pass, including Chromium layout tests Review URL: http://codereview.chromium.org/6551011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6902 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
-
- 23 Nov, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
Rico noticed that V8 ARM builder also fails on HeapEntry size assertion. As MSVC-specific way of fixing the problem causes aliasing problems on G++, I re-implemented conversion using unions. And #ifdefs are gone! TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/5328001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Nov, 2010 4 commits
-
-
mikhail.naganov@gmail.com authored
TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/5216008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/5242003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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 1 commit
-
-
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
-
- 20 Sep, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
It turns out they were filtered out. But when I unfiltered them, I discovered another issue: when DevTools run, regexp literals get recompiled each time they called (looks like this is concerned with switching to full compiler), so I ended up having multiple entries for the same regexp. To fix this, I changed the way of how code entries equivalence is considered. BUG=crbug/55999 TEST=cctest/test-profile-generator/ProfileNodeFindOrAddChildForSameFunction (the test isn't for the whole issue, but rather for equivalence testing) Review URL: http://codereview.chromium.org/3426008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5492 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
-
- 10 Aug, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
BUG=51594 TEST=test-cpu-profiler/CrashIfStoppingLastNonExistentProfile Review URL: http://codereview.chromium.org/3108004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5230 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
-
- 11 Jun, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
There is no test in this patch, because the test uses V8 API, which is coming in a separate change list. Review URL: http://codereview.chromium.org/2722005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 May, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
As several pages can run in a single V8 instance, it is possible to have functions from different security contexts intermixed in a single CPU profile. To avoid exposing function names from one page to another, filtering is introduced. The basic idea is that instead of capturing return addresses from stack, we're now capturing JSFunction addresses (as we anyway work only with JS stack frames.) Each JSFunction can reach out for context's security token. When providing a profile to a page, the profile is filtered using the security token of caller page. Any functions with different security tokens are filtered out (yes, we only do fast path check for now) and their ticks are attributed to their parents. Review URL: http://codereview.chromium.org/2083005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Apr, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
The simple formula "ms = ticks * sampler_interval" doesn't work, because e.g. on Linux, the actual sampling rate can be 5 times lower than the one set up in the code. To calculate actual sampling rate, current time is periodically queried and processed along with actual sampling ticks count. Review URL: http://codereview.chromium.org/1539038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Apr, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Apr, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
In browser (DevTools) mode, only non-native JS code and callbacks are reported. Also, added "(garbage collector)" entry which accumulates samples count in GC state. Trying to display "(compiler)" and "(external)" only brings confusion, because it ends up in displaying scripts code under "(compiler)" node, and DOM event handlers under "(external)" node, which looks weird. Review URL: http://codereview.chromium.org/1523015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Apr, 2010 2 commits
-
-
mikhail.naganov@gmail.com authored
I succeeded at connecting the new implementation to Chromium, this commit includes required (although, not all) adjustments. Review URL: http://codereview.chromium.org/1547023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
If 'shell' is compiled with 'cppprofilesprocessor=on' and run with '--prof' flag, top-down and bottom-up call trees are printed on shell exit. Review URL: http://codereview.chromium.org/1582004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-