- 04 Jan, 2011 1 commit
-
-
sgjesse@chromium.org authored
the only platform that it works on is linux (using the prctl API to set the names of the threads). Other platforms are setup to build properly if the flag is set, but their thread names are not currently set. Patch by Mark Lam from Hewlett-Packard Development Company, LP Review URL: http://codereview.chromium.org/6070009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Dec, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
BUG=990 Review URL: http://codereview.chromium.org/5890003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Dec, 2010 4 commits
-
-
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
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Nov, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
Instead of installing signal handler, count samples taken. Review URL: http://codereview.chromium.org/5325003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Oct, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
It turns out that having PC pointing _exactly_ at callback entry point is quite probable. BUG=crbug/60753 Review URL: http://codereview.chromium.org/4169005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Oct, 2010 3 commits
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/3970005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/4033005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
BUG=453 Review URL: http://codereview.chromium.org/4002005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Oct, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
An attempt to retrieve security context for a function may fail if the destination heap space is in an incomplete state. To fix this, we only record unknown functions discovered at GC object moves, and then register them after GC completes. BUG=crbug/59627 Review URL: http://codereview.chromium.org/3763012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Oct, 2010 1 commit
-
-
vitalyr@chromium.org authored
Since 2.6.31 perf_events interface has been available in the kernel. There's a nice tool called "perf" (linux-2.6/tools/perf) that uses this interface and provides capabilities similar to oprofile. The simplest form of its usage is just dumping the raw log (trace) of events generated by the kernel. In this patch I'm adding a script (tools/ll_prof.py) to build profiles based on perf trace and our code log. All the heavy-lifting is done by perf. Compared to oprofile agent this approach does not require recompilation and supports code moving garbage collections. Expected usage is documented in the ll_prof's help. Basically one should run V8 under perf passing --ll-prof flag and then the produced logs can be analyzed by tools/ll_prof.py. The new --ll-prof flag enables logging of generated code object locations and names (like --log-code), and also of their bodies, which can be later disassembled and annotated by the script. Review URL: http://codereview.chromium.org/3831002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Oct, 2010 1 commit
-
-
kasperl@chromium.org authored
sure to suspend the thread (if necessary) on mac/win32 before reading the VM state. Avoid dealing with signals delivered to non-VM threads on linux no matter if we're profiling or not. Review URL: http://codereview.chromium.org/3845006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Sep, 2010 1 commit
-
-
erik.corry@gmail.com authored
This one has been approved by the 64 bit compiler in MSVC 2005 so I hope it also passes the 2008 version. The --max-new-space-size option is now in kBytes. The --max-old-space-size option is now in MBytes. Some issues remain with 64 bit heaps and the counters. See http://code.google.com/p/v8/issues/detail?id=887 Review URL: http://codereview.chromium.org/3573005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Sep, 2010 2 commits
-
-
erik.corry@gmail.com authored
be done from Windows where the compiler is stricter about truncating changes. Review URL: http://codereview.chromium.org/3454035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
TBR=vegorov Review URL: http://codereview.chromium.org/3412038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Sep, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
The cause for missing functions is that some of them are created from compiled code (see FastNewClosureStub), and thus not get registered in profiler's code map. My solution is to hook on GC visitor to provide JS functions addresses to profiler, only if it is enabled. BUG=858 TEST= Review URL: http://codereview.chromium.org/3417019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Sep, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
When running profiling in debug mode, several assertions in frame iterators that are undoubtedly useful when iterator is started from a VM thread in a known "good" state, may fail when running over a stack of a suspended VM thread. This patch makes SafeStackFrameIterator to proactively check addresses and bail out from iteration early, before an assertion will be triggered. BUG=crbug/55565 Review URL: http://codereview.chromium.org/3436006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Aug, 2010 1 commit
-
-
whesse@chromium.org authored
Remove dependence of code-stubs on codegen, the virtual frame code generator. Move some functions used by code-stubs and full-codegen from codegen to macro-assembler. Review URL: http://codereview.chromium.org/3169049 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Jun, 2010 1 commit
-
-
lukezarko authored
GetActiveProfilerModules()/PauseProfiler()/ResumeProfiler() can be reached from the API when the --prof runtime flag is not set, leading to null dereferences. Verify that Logger::profiler_ is non-NULL before using it. Review URL: http://codereview.chromium.org/2843023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jun, 2010 1 commit
-
-
kaznacheev@chromium.org authored
This speeds up constructs like this: var zz='replace'; '123'[zz]('3','4'); Review URL: http://codereview.chromium.org/2280007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4804 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
-
- 05 May, 2010 1 commit
-
-
antonm@chromium.org authored
That makes it easier to maintain the code---one should care less about releasing the memory as smart pointers would take care of this. Switch to ScopedVector instead Vector for the same semantics in src/builtins.cc Review URL: http://codereview.chromium.org/1737023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Apr, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
This is to make possible enabling usage of the new profiling subsystem in Chromium without much hassle. The idea is pretty simple: unless the new profiling API is used, all works as usual, as soon as Chromium starts to use the new API, it will work too. Review URL: http://codereview.chromium.org/1635005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Apr, 2010 2 commits
-
-
mikhail.naganov@gmail.com authored
TBR=ager@chromium.org Review URL: http://codereview.chromium.org/1572029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
Also pull out VMState into its own set of source files. Review URL: http://codereview.chromium.org/1519027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4361 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 1 commit
-
-
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
-
- 11 Mar, 2010 1 commit
-
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/669061 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Mar, 2010 2 commits
-
-
kaznacheev@chromium.org authored
This is a subset of a CL reviewed earlier(http://codereview.chromium.org/551093). The register usage optimisation part has been reviewed and submitted separately. Two fast cases supported: HeapNumber operands and String operands for ADD. Review URL: http://codereview.chromium.org/553117 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
- when logging 'open-tag' / 'close-tag' events, don't depend on FLAG_log (as it may be not enabled, e.g. in Chromium); - PauseProfiler / ResumeProfiler were supposing that they use 'is_logging_' var exclusively, thus preventing any other logging that may be turned on for diagnostic purposes. Review URL: http://codereview.chromium.org/661246 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Feb, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
It doesn't mean I'm participating in some fixit, just spotted some code which doesn't have usages and decided to remove it. Review URL: http://codereview.chromium.org/646007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Feb, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
This change allows to associate integer tags with blocks of profiler log events, and repeat calls to 'ResumeProfiler' / 'PauseProfiler' in order to establsh nested (not necessary properly nested) blocks. By supporting this, we will be able to match WebInspector's CPU profiler abilities in DevTools. I also refactored some testing code. Review URL: http://codereview.chromium.org/619004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Feb, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
all stubs have valid major_keys, and this is OK. So I've added a check to avoid termination in debug mode. Review URL: http://codereview.chromium.org/572034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3807 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
-
- 27 Jan, 2010 1 commit
-
-
leonclarke@gmail.com authored
I think it currently is defined on all platforms except Android. Review URL: http://codereview.chromium.org/554101 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Jan, 2010 1 commit
-
-
antonm@chromium.org authored
This reduces chances of improper usage, see http://code.google.com/p/v8/issues/detail?id=586 for more details. BUG=586 Review URL: http://codereview.chromium.org/555072 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3696 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
-