- 27 Sep, 2018 1 commit
-
-
Jaroslav Sevcik authored
Instead attribute them properly as Bultin or BytecodeHandler. Bug: v8:6240 Change-Id: I773a533b318afe52d63152edf5b16463801db8e9 Reviewed-on: https://chromium-review.googlesource.com/1249202Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#56262}
-
- 31 Aug, 2018 1 commit
-
-
Bret Sepulveda authored
If profiling is done with --log-source-code profview will now display a "View source" link for each function in the tree view. Clicking this will show a new source viewer, with sampled lines highlighted. See the associated bug for screenshots. This patch also fixes a bug in the profiler where the source info of only the first code object for each function would be logged, and includes some refactoring. Bug: v8:6240 Change-Id: Ib96a9cfc54543d0dc9bef4657cdeb96ce28b223c Reviewed-on: https://chromium-review.googlesource.com/1194231 Commit-Queue: Bret Sepulveda <bsep@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#55542}
-
- 24 Aug, 2018 1 commit
-
-
Bret Sepulveda authored
It appears that the fields are already being unescaped elsewhere, perhaps by the JSON writer. So if we unescape when adding the source filename and contents, unescaping will happen again later and plain backslashes will be interpreted as escape codes. Bug: v8:6240 Change-Id: Ic66b9017ae685d6dd12944ee8d254991e26fbd32 Reviewed-on: https://chromium-review.googlesource.com/1186625Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Bret Sepulveda <bsep@chromium.org> Cr-Commit-Position: refs/heads/master@{#55401}
-
- 10 Aug, 2017 1 commit
-
-
Jaroslav Sevcik authored
This also changes logging of code address to Code::instruction_start rather than Code::address(). Bug: v8:6239 Change-Id: I4ef975630574e23409123468a3f7fb8fe6ad39e7 Reviewed-on: https://chromium-review.googlesource.com/605887Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47266}
-
- 28 Jul, 2017 1 commit
-
-
Jaroslav Sevcik authored
Bug: v8:6239 Change-Id: I87f72cb97616e28cb44f7160d5170ff740422419 Reviewed-on: https://chromium-review.googlesource.com/584612 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#46958}
-
- 25 Apr, 2017 1 commit
-
-
mvstanton authored
Traditionally, we had a prefix for a function name of "~" for unoptimized code and "*" for optimized code. Restore this prefix in v8/tools/ic-processor. It's really cool to know if an IC was called from optimized code (often a hint of poor performance!). NOTRY=true R=cbruni@chromium.org Review-Url: https://codereview.chromium.org/2835923004 Cr-Commit-Position: refs/heads/master@{#44846}
-
- 22 Mar, 2017 1 commit
-
-
jarin authored
This adds optimization and deoptimization counts to the Web UI. Also, the function timeline now shows optimization and deoptimization marks. Review-Url: https://codereview.chromium.org/2753543006 Cr-Commit-Position: refs/heads/master@{#44033}
-
- 21 Mar, 2017 1 commit
-
-
leszeks authored
In the tick processor, in cases where there are a lot of ticks (e.g. long running programs), JSON.stringify could throw a range exception because the created string is too large. Instead of creating the entire JSON string in memory, we now write the top-level parts of the JSON manually, writing out the ticks individually instead of all together. Review-Url: https://codereview.chromium.org/2754683002 Cr-Commit-Position: refs/heads/master@{#43973}
-
- 04 Mar, 2017 1 commit
-
-
jarin authored
Improvements: - top-down call tree. - interactive restriction to time interval. Review-Url: https://codereview.chromium.org/2696903002 Cr-Commit-Position: refs/heads/master@{#43599}
-
- 20 Jan, 2015 1 commit
-
-
jkummerow authored
(1) --prof-cpp: Collects ticks like --prof, but ignores code creation events to reduce distortion (so all JS ticks will be "unaccounted"). Useful for profiling C++ code. (2) --timed-range flag for tick processor: Ignores ticks before the first and after the last call to Date.now(). Useful for focusing on the timed section of a test. Review URL: https://codereview.chromium.org/802333002 Cr-Commit-Position: refs/heads/master@{#26168}
-
- 17 Oct, 2014 1 commit
-
-
jkummerow@chromium.org authored
R=loislo@chromium.org, yangguo@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/638633002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24700 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
-
- 13 Jul, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
The only usage of it was in logging tests, I've switched them for using a file. I've left out support for "--logfile=*" for now, as Chromium uses it. Will be removed after the next V8 roll. R=sgjesse@chromium.org BUG=859 TEST=mjsunit/log-* Review URL: http://codereview.chromium.org/7310025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8629 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
-
- 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
-
- 14 Jul, 2009 1 commit
-
-
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
-
- 30 Apr, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
Details: - added properties / functions in view objects needed for WebKit's ProfileView; - added ability to count profiles for specific functions. The tickprocessor functionality does not affected. Review URL: http://codereview.chromium.org/99181 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Apr, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
This is an effort to reuse profiler data processing code both in TickProcessor and Dev Tools Profiler. The old Python implementation will be removed. The new TickProcessor works almost identical to the previous one. However, it has some differences: 1. Not very useful "Call profile" section is replaced with a new WebKit-like "Bottom up (heavy) profile" which shows the most expensive functions together with their callers. I used it personally in order to find and remove bottlenecks in the tickprocessor script itself, and found it quite helpful. 2. Code entries with duplicate names (they occur for RegExes, stubs and sometimes for anonymous Function objects) are now distinguished by adding an occurence number inside curly brackets. 3. (Address -> code entry) mapping is more precise in boundary cases. 4. Windows version no more requires specifying .map file location. 5. Works faster. Review URL: http://codereview.chromium.org/99054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Apr, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
It will be used both in the new tickprocessor and Dev Tools profiler. Review URL: http://codereview.chromium.org/92120 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Apr, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
Review URL: http://codereview.chromium.org/77014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-