- 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
-
- 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
-
- 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
-
- 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
-
- 22 May, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
I changed the implementation of a queue between the VM and processor thread to be unbounded and lock-free, using Herb Sutter's example from DDJ article: http://www.ddj.com/high-performance-computing/210604448 This had brought back profiling overhead to a minimum for the page from Chromium's issue 16184. BUG=714 Review URL: http://codereview.chromium.org/2091019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4706 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
-
- 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
-
- 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
-
- 30 Mar, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
Review URL: http://codereview.chromium.org/1514006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Mar, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
Review URL: http://codereview.chromium.org/1079006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Mar, 2010 1 commit
-
-
sgjesse@chromium.org authored
TBR=alexandre.rames@gmail.com Review URL: http://codereview.chromium.org/870002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Feb, 2010 1 commit
-
-
sgjesse@chromium.org authored
This is the first step in the MIPS port of V8. It adds assembler, disassembler and simulator for the MIPS32 architecture. Contains stubbed out implementation of all the compiler/code generator infrastructure to make it all build. Patch by Alexandre Rames from Sigma Designs Inc. This is the landing of http://codereview.chromium.org/543161. Review URL: http://codereview.chromium.org/561072 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Dec, 2009 1 commit
-
-
ager@chromium.org authored
us much. Review URL: http://codereview.chromium.org/509006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Aug, 2009 2 commits
-
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/173561 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Factored out the allocation in new space from assembler code into the macro assembler. To support the current allocation patterns a number of different functions where required. Review URL: http://codereview.chromium.org/174524 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Jun, 2009 1 commit
-
-
ager@chromium.org authored
Review URL: http://codereview.chromium.org/125121 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Jun, 2009 1 commit
-
-
kmillikin@chromium.org authored
deferred code snippets are highly stylized. They always make a call to a stub or the runtime and then return. This change takes advantage of that. Creating a deferred code object now captures a snapshot of the registers in the virtual frame. The registers are automatically saved on entry to the deferred code and restored on exit. The clients of deferred code must ensure that there is no change to the registers in the virtual frame (eg, by allocating which can cause spilling) or to the stack pointer. That is currently the case. As a separate change, I will add either code to verify this constraint or else code to forbid any frame effect. The deferred code itself does not use the virtual frame or register allocator (or even the code generator). It is raw macro assembler code. Review URL: http://codereview.chromium.org/118226 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 May, 2009 1 commit
-
-
kmillikin@chromium.org authored
to the platform-specific reserved registers. They are always in use for their intended purpose, cannot appear in the virtual frame, and can be freely used without allocation in the code generator. Review URL: http://codereview.chromium.org/113837 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Mar, 2009 3 commits
-
-
erik.corry@gmail.com authored
* Remove the non-working methods from the os object on d8 on Windows so you can test for their presence with if (os.system). * Add a test (not run by default since it only works on d8). * Fix incorrect use of wait that left defunct processes (zombies). Review URL: http://codereview.chromium.org/56107 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Fixed the OS check in the SCons build. Moved SetEnvironment to platform file as Windows does not have setenv. Added the d8-windows.cc to the Visual Studio project. Review URL: http://codereview.chromium.org/57050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Protect os.chdir, os.setenv, os.system against string conversion failures. Add comment about the issue to include/v8.h. Review URL: http://codereview.chromium.org/57005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Mar, 2009 1 commit
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/42641 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Jan, 2009 1 commit
-
-
ager@chromium.org authored
instead of normal JSObjects. This ensures that __proto__ and accessors on the Object prototype do not interfere with catch scopes. Also, it fixes the bug that catch variables were not DontDelete (issue 74). Next step is to create special lookup routines for context extension objects and remove the special handling of context extension objects from the general javascript object lookup routines. Review URL: http://codereview.chromium.org/18143 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Jan, 2009 1 commit
-
-
christian.plesner.hansen@gmail.com authored
also revealed a bug or two that had to be fixed. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Sep, 2008 1 commit
-
-
christian.plesner.hansen@gmail.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Sep, 2008 1 commit
-
-
christian.plesner.hansen@gmail.com authored
Added presubmit step to check copyright. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Aug, 2008 1 commit
-
-
christian.plesner.hansen authored
In the shell sample don't print the result of executing a script, only evaluating expressions. Fixed issue when building samples on Windows using a shared V8 library. Added visibility option on Linux build which makes the generated library 18% smaller. Changed build system to accept multiple build modes in one build and generate seperate objects, libraries and executables for each mode. Removed deferred negation optimization (a * -b => -(a * b)) since this visibly changes operand conversion order. Improved parsing performance by introducing stack guard in preparsing. Without a stack guard preparsing always bails out with stack overflow. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jul, 2008 1 commit
-
-
christian.plesner.hansen authored
git-svn-id: http://v8.googlecode.com/svn/trunk@2 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-