1. 07 Apr, 2010 1 commit
  2. 06 Apr, 2010 1 commit
  3. 25 Mar, 2010 1 commit
  4. 19 Mar, 2010 1 commit
  5. 17 Mar, 2010 3 commits
  6. 25 Jan, 2010 1 commit
  7. 21 Jan, 2010 1 commit
    • mikhail.naganov@gmail.com's avatar
      Fix issue 553: function frame is skipped in profile when compare stub is called. · 999e3fca
      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
      999e3fca
  8. 13 Nov, 2009 1 commit
  9. 12 Nov, 2009 2 commits
  10. 23 Oct, 2009 1 commit
  11. 31 Jul, 2009 1 commit
  12. 01 Jul, 2009 1 commit
    • mikhail.naganov@gmail.com's avatar
      Reimplement profiler sampler on Mac OS X to get it working under Chromium. · 8318f5e5
      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
      8318f5e5
  13. 25 Jun, 2009 1 commit
  14. 24 Jun, 2009 2 commits
  15. 28 May, 2009 1 commit
  16. 25 May, 2009 2 commits
  17. 07 May, 2009 1 commit
  18. 06 May, 2009 1 commit
  19. 16 Apr, 2009 1 commit
  20. 31 Mar, 2009 1 commit
  21. 24 Mar, 2009 1 commit
  22. 20 Mar, 2009 1 commit
  23. 19 Mar, 2009 1 commit
  24. 18 Mar, 2009 3 commits
  25. 06 Mar, 2009 1 commit
  26. 04 Mar, 2009 1 commit
  27. 03 Mar, 2009 1 commit
    • mikhail.naganov@gmail.com's avatar
      Dump more stack frames to perf log when executing a C++ function. · 3db607a3
      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
      3db607a3
  28. 24 Feb, 2009 2 commits
  29. 20 Feb, 2009 1 commit
  30. 17 Feb, 2009 1 commit
  31. 09 Feb, 2009 1 commit
  32. 15 Jan, 2009 1 commit