- 23 Aug, 2013 1 commit
-
-
jkummerow@chromium.org authored
Added a console parameter for source map to the tick processor. The tickprocesspor reads in the source maps and uses it to output the original filename, line number and column in the profile. Modified d8 to output column numbers into the log, since this is needed to do source mapping. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/22897021 Patch from Daniel Kurka <dankurka@google.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Aug, 2013 1 commit
-
-
yurys@chromium.org authored
This change provides an API for the embedder to tell CPU profiler if it is idle or busy with some task. This way we can discriminate between idle time and some native code execution. BUG=268947 R=alph@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/22412003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jul, 2013 1 commit
-
-
yurys@chromium.org authored
Their values are not used neither by the tick processor nor by CpuProfiler so it is just a waste of space. TickSample used to be a transport for grabbed register values to TickSample::Trace, now they are passed in a special structure RegisterState which is allocated on the stack for the sampling period. Some common pieces were moved from platform-dependent code into Sampler::SampleStack and TickSample::Init. BUG=None R=jkummerow@chromium.org, loislo@chromium.org Review URL: https://codereview.chromium.org/18620002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Jul, 2013 1 commit
-
-
yangguo@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/17620008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Apr, 2013 1 commit
-
-
yangguo@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/14139033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Apr, 2013 1 commit
-
-
yurys@chromium.org authored
R=jkummerow BUG=v8:2642 Review URL: https://codereview.chromium.org/14367020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Apr, 2013 1 commit
-
-
yurys@chromium.org authored
Assuming that the value on top of stack is return address for a frameless invocation is error-prone. Corresponding logic was removed from profile-generator.cc in r14205 (see https://code.google.com/p/v8/source/diff?spec=svn14205&r=14205&format=side&path=/branches/bleeding_edge/src/profile-generator.cc) and now it is time to remove it from the tick processor. Since the tos is not used anymore by profiler it is also removed from TickSample. BUG=None Review URL: https://codereview.chromium.org/13873009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Jan, 2013 1 commit
-
-
yangguo@chromium.org authored
R=jkummerow@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/12077043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Nov, 2012 1 commit
-
-
yangguo@chromium.org authored
Main changes: - include timestamps in profile ticks - include code kind in code create events - time execution in external code - changed plot-timer-events.js to show the code kind being executed R=jkummerow@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/11428025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13074 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
-
- 31 Oct, 2012 1 commit
-
-
yangguo@chromium.org authored
BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/11347043 Patch from Rajeev Krithivasan <rkrithiv@codeaurora.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Jul, 2012 1 commit
-
-
jkummerow@chromium.org authored
This is usefull when generating a profile on one architecture and analyzing it on another architecture or system version. Review URL: https://chromiumcodereview.appspot.com/10704128 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Feb, 2012 1 commit
-
-
yangguo@chromium.org authored
BUG=v8:1937 Review URL: https://chromiumcodereview.appspot.com/9386007 Patch from Ben Noordhuis <info@bnoordhuis.nl>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Sep, 2011 2 commits
-
-
mikhail.naganov@gmail.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9229 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
-
- 30 Mar, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
It looks like we initialize TickSample values twice in some situations, but I will fix this in a separate change list. R=sgjesse@chromium.org BUG=1292 TEST=none Review URL: http://codereview.chromium.org/6756031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Mar, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
This should fix test-profile-generator/RecordStackTraceAtStartProfiling flakinness. R=vitalyr@chromium.org BUG=1261 TEST=test-profile-generator/RecordStackTraceAtStartProfiling Review URL: http://codereview.chromium.org/6708056 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7294 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
-
- 10 Feb, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
As they are no more used in DevTools profiler, there is no need to prefix them with "devtools.profiler" namespace. Review URL: http://codereview.chromium.org/6456025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Dec, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
This is no longer used in Chromium, and only pollutes code. BUG=859 Review URL: http://codereview.chromium.org/5575006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Feb, 2010 2 commits
-
-
mikhail.naganov@gmail.com authored
TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/574027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
entire file prior to parsing it. This allows processing of huge log files (over 200 MB.) Review URL: http://codereview.chromium.org/574015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Feb, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
After this fix, profiles of non-snapshotted VMs are now equivalent to profiles of snapshotted VMs (having that --log-snapshot-positions is used, and mksnapshot's log is given to the tick processor script.) BUG=597 Review URL: http://codereview.chromium.org/574005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Jan, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
The problem appeared due to a fact that stubs doesn't create a stack frame, reusing the stack frame of the caller function. When building stack traces, the current function is retrieved from PC, and its callees are retrieved by traversing the stack backwards. Thus, for stubs, the stub itself was discovered via PC, and then stub's caller's caller was retrieved from stack. To fix this problem, a pointer to JSFunction object is now captured from the topmost stack frame, and is saved into stack trace log record. Then a simple heuristics is applied whether a referred function should be added to decoded stack, or not, to avoid reporting the same function twice (from PC and from the pointer.) BUG=553 TEST=added to mjsunit/tools/tickprocessor Review URL: http://codereview.chromium.org/546089 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Jan, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
As this is only needed for internal profiling (not for DevTools), the following approach had been chosen: - during snapshot creation, positions of serialized objects inside a snapshot are logged; - then during V8 initialization, positions of deserealized objects are logged; - those positions are used for retrieving code objects names from snapshot creation log, which needs to be supplied to tick processor script. Positions logging is controlled with the new flag: --log_snapshot_positions. This flag is turned off by default, and this adds no startup penalty. To plug this fix to Golem, the following actions are needed: - logs created using 'mksnapshot' need to be stored along with VM images; - tick processor script needs to be run with '--snapshot-log=...' cmdline argument. BUG=571 Review URL: http://codereview.chromium.org/551062 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Oct, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
Turned on with '--log-producers' flag, also needs '--noinline-new' (this is temporarily), '--log-code', '--log-gc'. Not all allocations are traced (I'm investigating.) Stacks are stored using weak handles. Thus, when an object is collected, its allocation stack is deleted. Review URL: http://codereview.chromium.org/267077 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Sep, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
Also, enable tick processor to process 64-bit profiler logs on Mac. BUG=http://code.google.com/p/v8/issues/detail?id=434 Review URL: http://codereview.chromium.org/180063 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Aug, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
MSVS names '.map' file using only module's name, so both 'a.exe' and 'a.dll' will have 'a.map' file. To distinguish an originating module, we're now checking for image base which is always 00400000 for .exe files, and not 00400000 for .dlls. Verified that windows-tick-processor can now process logs from Chromium using .map file generated for 'chrome.dll', an that it still works for V8's 'shell.exe'. Review URL: http://codereview.chromium.org/172044 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Jul, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
- rewrote Linux version of LogSharedLibraryAddresses to work correctly with 64-bit libs; - fixed address length restriction in JS tickprofiler script. Review URL: http://codereview.chromium.org/160273 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Jul, 2009 2 commits
-
-
mikhail.naganov@gmail.com authored
'nm' is now called with an option to report function code sizes. Static code entries are restricted to the sizes reported, and the remaining unnamed code is attributed to a library as a whole. This makes reports more accurate, as some functions are tiny, but has chunks of unnamed code behind them. This change doesn't affect reporting on Windows, as in .map files function code sizes aren't specified. Review URL: http://codereview.chromium.org/149513 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
Review URL: http://codereview.chromium.org/155437 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Jul, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
Now tests can be run from any directory. Location of test data is now determined using test file location provided by 'testcfg.py' script. Tested under Linux, Mac, and Windows. Review URL: http://codereview.chromium.org/155161 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jul, 2009 2 commits
-
-
kasperl@chromium.org authored
TBR=mikhail.naganov@gmail.com Review URL: http://codereview.chromium.org/155137 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
Added tests for cmdline args parsing, symbols processing, and the whole process. Tick Processor code was refactored to make it testable. Review URL: http://codereview.chromium.org/149195 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2373 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jun, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
1. If D8_PATH isn't specified, first try to locate 'd8' shell in path, and if not found, fallback to the one in tools_path/.. 2. Add '--nm=<nm_exec>' parameter to specify 'nm' executable to use. Review URL: http://codereview.chromium.org/132021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Jun, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
Without an explicit check if a function belongs to shared library address space, "finishing" a library symbols processing with 'addPrevEntry(libEnd);' can cause emission of code entries which cover almost the entire address space, shadowing other code. Review URL: http://codereview.chromium.org/131033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Jun, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
- fixed address delta calculation; - code creations are also compressed to be in sync with other events; - factored out a base class from TickProcessor to reuse code in DevTools profiler. Review URL: http://codereview.chromium.org/125256 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Jun, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
Review URL: http://codereview.chromium.org/125243 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Jun, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
The main problem was due to the following: after Erik had fixed the logger to report library addresses, tickprocessor started to add to the code map entries that covered almost entire memory. This happened because tickprocessor contains a heuristic to bias addresses of functions from dynamic libraries: if (funcInfo.start < libStart && funcInfo.start < libEnd - libStart) { funcInfo.start += libStart; } And, as tickprocessor tried to process all symbols from the library, including data entries, which can be outside reported library addresses range, the second condition failed, and funcInfo.start remained unbiased. Review URL: http://codereview.chromium.org/125192 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-