- 29 Mar, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
This fixes VM state fetching from "tick" log records. TBR=vitalyr@chromium.org BUG=1287 TEST=none Review URL: http://codereview.chromium.org/6718041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Mar, 2011 1 commit
-
-
vitalyr@chromium.org authored
Patch by Dmitry Lomov. Review URL: http://codereview.chromium.org/6745029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Mar, 2011 2 commits
-
-
ager@chromium.org authored
R=vitalyr@chromium.org Review URL: http://codereview.chromium.org/6717018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Get rid of the COUNTERS macro and fetch the counters from a locally stored isolate instead. R=karlklose@chromium.org Review URL: http://codereview.chromium.org/6723014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7321 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
-
- 18 Mar, 2011 3 commits
-
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6685088 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Mar, 2011 4 commits
-
-
mikhail.naganov@gmail.com authored
BUG=none TEST=none Review URL: http://codereview.chromium.org/6646022/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Mar, 2011 1 commit
-
-
danno@chromium.org authored
Worth mentioning: - Specialized versions of pixel array and store/loads inside the generic stubs have been removed, since to have parity for all external arrays, 8 different versions would have to be inlined/checked. - There's a new constant in v8.h for external arrays with pixel array elements. Review URL: http://codereview.chromium.org/6546036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7106 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
-
- 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 1 commit
-
-
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
-