- 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
-
- 25 Mar, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
This allows to unclutter logging-related code. I also fixed compilation issues with 'profilingsupport=off'. Review URL: http://codereview.chromium.org/1317003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4285 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
-
- 17 Mar, 2010 3 commits
-
-
mikhail.naganov@gmail.com authored
TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/979005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/1049003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
Circular queues serve as a transport for communicating between VM, stack sampler and analyzer threads. Logging requirements for VM and stack sampler are completely different, that's why I introduced two different versions of CQs. Review URL: http://codereview.chromium.org/1047002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Jan, 2010 1 commit
-
-
ager@chromium.org authored
Patch by Erich Ocean and Ryan Dahl. Review URL: http://codereview.chromium.org/545125 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3688 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
-
- 13 Nov, 2009 1 commit
-
-
erik.corry@gmail.com authored
available. We use this to ensure that snapshots on MacOSX can use SSE2 instructions. Also clean up and assertify the handling of things we can't do when we are generating a snapshot. Fix a bug in the new serialization tests where they activated Snapshot::enable() too late after code had been generated that assumed no snapshots. Review URL: http://codereview.chromium.org/391051 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Nov, 2009 2 commits
-
-
erik.corry@gmail.com authored
Also move a function into the macro assembler. Fix some *& placement errors that had accumulated. Review URL: http://codereview.chromium.org/385069 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/348019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Oct, 2009 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/303034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Jul, 2009 1 commit
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/160451 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Jul, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
Previous implementation of sampler for OS X was copied from the Linux one. But BSD (OS X) and Linux has a very important difference in signal handling. LinuxThreads doesn't support the notion of process-directed signals. So, the SIGPROF signal was directed to the thread that installed the handler---the V8 thread. But on BSD, signal handling is implemented according to POSIX spec, where process-directed signal is to be handled by an arbitrary selected thread. By a coincidence, in V8's sample shell and in Chromium's test shell, V8's thread was picked almost every time, so sampling seemed working. But not in case of Chromium. So, I've changed the implementation of profiler sampler to use the same scheme as on Windows---a dedicated thread with high priority is used to periodically pause and sample V8's thread. Review URL: http://codereview.chromium.org/147150 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Jun, 2009 1 commit
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/149001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Jun, 2009 2 commits
-
-
antonm@chromium.org authored
project specific name. Review URL: http://codereview.chromium.org/146096 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/125141 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 May, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
I suggest that the lack of initialization causes issue 358 to happen. In Profiler::Disengage an empty TickSample is inserted in order to wake up the Profiler thread. Issue reporter claims that crash happens in LogTickEvent function. My guess is that frames_couint receives a wild value. Review URL: http://codereview.chromium.org/113939 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 May, 2009 2 commits
-
-
mikhail.naganov@gmail.com authored
This issue was raised by Brett Wilson while reviewing my changelist for readability. Craig Silverstein (one of C++ SG maintainers) confirmed that we should declare one namespace per line. Our way of namespaces closing seems not violating style guides (there is no clear agreement on it), so I left it intact. Review URL: http://codereview.chromium.org/115756 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
This is intended to be used with Chromium. When in resource-saving mode, profiler doesn't consume any resources (sampler and logging is off) until resumed. Then again, when profiler is paused, sampling and logging are turned off. Tested under Linux and Windows. Also have done preliminary testing with Chromium. Review URL: http://codereview.chromium.org/113762 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 May, 2009 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/113094 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 May, 2009 1 commit
-
-
lrn@chromium.org authored
Thread id's are always int size values (generated from an int counter). Review URL: http://codereview.chromium.org/113030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Apr, 2009 1 commit
-
-
iposva@chromium.org authored
a reason to stack allocate large chunks of stack space. - Runtime_GetCFrames used to allocate a frame size of 52040 bytes. - PreallocatedMemoryThread::Run used to allocate 32784 bytes. - Fixed StringStream overflow conditions. Review URL: http://codereview.chromium.org/67197 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Mar, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
on a real web application loaded in the test shell. Also implemented output of JSON-encoded call stacks for profiler prototype. Review URL: http://codereview.chromium.org/56064 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Mar, 2009 1 commit
-
-
kmillikin@chromium.org authored
and unprotecting it when (re)entering. The functionality is enabled by the flag --protect-heap and requires V8 to be built with ENABLE_HEAP_PROTECTION and ENABLE_LOGGING_AND_PROFILING defined. Implemented on Linux and Windows but not yet for other platforms. Review URL: http://codereview.chromium.org/53004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Mar, 2009 1 commit
-
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/50036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Mar, 2009 1 commit
-
-
sgjesse@chromium.org authored
Removed the close method for socket and added shutdown instead. The shutdown method is the one to use when terminating socket communication. The close call is in the destructor. Review URL: http://codereview.chromium.org/42387 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Mar, 2009 3 commits
-
-
sgjesse@chromium.org authored
Now the destructor is not the only way of closing a socket, which was a bit to limited. Review URL: http://codereview.chromium.org/42330 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
olehougaard authored
Review URL: http://codereview.chromium.org/42329 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The code has been compiled and tested on Windows, Linux and Mac OS. The FreeBSD version is a copy of the Linux version which should work on FreeBSD as well. According to the FreeBSD documentation clock_gettime is part of the standard C library so the assumption is that no additional link libraries is required for FreeBSD. Review URL: http://codereview.chromium.org/48123 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Mar, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
Review URL: http://codereview.chromium.org/40219 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Mar, 2009 1 commit
-
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/40104 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Mar, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
JavaScriptFrameIterator is templatized on the iterator type and renamed to JavaScriptFrameIteratorTemp. The original JSFI is now a typedef for JavaScriptFrameIteratorTemp<StackFrameIterator>. Because of templatizing, JSFI code is moved to frames-inl.h StackTraceFrameIterator moved to frames.* Implemented SafeStackFrameIterator which wraps StackFrameIterator and have the same interface. It performs additional checks of stack addresses prior to delegating to StackFrameIterator. SafeSFI is used in an another specialization of JavaScriptFrameIteratorTemp template to perform safe JS frames iteration on sampler ticks. I haven't took an advantage of having multiple stack frames in tickprocessor yet. Review URL: http://codereview.chromium.org/39009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Feb, 2009 2 commits
-
-
sgjesse@chromium.org authored
The previous commit (r1349) resulted in a number of lint errors - extra whitespace and a missing explicit on a constructor in the test. These has been fixed. TBR=ager@chromium.org Review URL: http://codereview.chromium.org/27089 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The new Socket class is an encapsulation of the standard BSD socket API. As it depends on platform specific include files and have some slight platform variations it is part of the platform code. On Mac OS only the option SO_REUSEADDR is set to true for server sockets. Running the test required it as the bound listener socket would sometimes end up in TIME_WAIT. On Windows and Linux this has never been observed (given the client end of the socket is closed before the server end). The code has been tested on Windows, Linux and Mac OS. The FreeBSD version is a copy of the Linux version but has not been compiled nor tested. Missing Xcode project updates. Review URL: http://codereview.chromium.org/27085 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Feb, 2009 1 commit
-
-
sgjesse@chromium.org authored
This fixes building of D8 on Windows. Mac OS and FreeBSD changes have not been tested. Review URL: http://codereview.chromium.org/20534 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Feb, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
Currently only two stack frames are sampled (current function and its caller). Output of tick processor looks like this: [Call profile]: total call path 15.2% LazyCompile: am3 crypto.js:108 <- LazyCompile: montReduce crypto.js:583 6.5% LazyCompile: am3 crypto.js:108 <- LazyCompile: bnpSquareTo crypto.js:431 2.9% Builtin: KeyedStoreIC_Generic <- LazyCompile: montReduce crypto.js:583 2.3% LazyCompile: am3 crypto.js:108 <- LazyCompile: bnpMultiplyTo crypto.js:415 Tested under Windows, Linux and OS X. Review URL: http://codereview.chromium.org/21403 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Feb, 2009 1 commit
-
-
sgjesse@chromium.org authored
V8 can now be build with MinGW. It still fails the following four tests in debug mode: mjsunit/parse-int-float mjsunit/mirror-array.js mjsunit/integer-to-string.js mjsunit/regress/regress-114.js Building with MinGW has been tested with version 5.1.4 using GCC 3.4.5. In addition to supporting MinGW this change also makes it more explicit which targets needs to link with which libraries. BUG=64 Review URL: http://codereview.chromium.org/20177 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Jan, 2009 1 commit
-
-
deanm@chromium.org authored
Review URL: http://codereview.chromium.org/18094 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-