1. 25 Nov, 2013 1 commit
    • jarin@chromium.org's avatar
      Support for the Linux 'perf report' and 'perf annotate' tools. · 4e439deb
      jarin@chromium.org authored
      In this change, the support comes in two flavours:
      
      --perf_jit_prof - outputs the files in a new perf format that only works with a
      patched perf tool (patch obtained from Stephane Eranian). Both 'perf report' and
      'perf annotate' are supported (the file format also contains the machine code).
      
      --perf_basic_prof - outputs the files in a format that the existing perf tool
      can consume. Only 'perf report' is supported.
      
      In both cases, we have to disable code compaction because the perf tool does not
      understand code relocation. (We are told that code relocation should be
      supported soon.)
      
      Usage:
      
      perf record -g d8 --perf_jit_prof --no_compact_code_space my.js
      perf report
      
      The change itself is straightforward - we simply listen to code events and
      write an entry to a log file for every new piece of code.
      
      I am not yet sure whether we should keep both versions or just one (and which
      one). My hope is the reviewers can help here.
      
      R=danno@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/70013002
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      4e439deb
  2. 10 Oct, 2013 1 commit
  3. 30 Sep, 2013 1 commit
  4. 29 Aug, 2013 2 commits
  5. 28 Aug, 2013 6 commits
  6. 23 Aug, 2013 1 commit
  7. 22 Aug, 2013 1 commit
  8. 29 Jul, 2013 1 commit
  9. 26 Jul, 2013 1 commit
    • loislo@chromium.org's avatar
      Logger: introduce abstract interface for CodeEvent listeners. · 141ada02
      loislo@chromium.org authored
      New abstract class CodeEventListener was created.
      
      CodeEventLogger which is the base class for Jit, LowLevel
      and CodeAddressMap loggers was inherited from CodeEventListener.
      
      CodeAddressMap class was moved to serializer.cc because serializer is the only user for it. Actually it collects code names and pushes them to the standard log as SnapshotCodeNameEvent. So I extracted this code into separate function CodeNameEvent. It happens that this method works only when Serializer serializes an object. So I added direct log call there.
      
      CodeEventLogger class declaration was moved to the header
      because CodeAddressMap needs it.
      The code for the nested class CodeEventLogger::NameBuffer was left in the cc file.
      
      CpuProfiler now is inherit CodeEventListener but not used
      the loggers infrastructure yet due to the complex initialization schema. I'd like to fix that in a separate cl.
      
      BUG=none
      TEST=current test set.
      R=yangguo@chromium.org, yurys@chromium.org
      
      Review URL: https://codereview.chromium.org/19724007
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      141ada02
  10. 19 Jul, 2013 2 commits
  11. 18 Jul, 2013 2 commits
  12. 15 Jul, 2013 1 commit
  13. 03 Jul, 2013 1 commit
  14. 24 Jun, 2013 2 commits
  15. 14 May, 2013 1 commit
    • yurys@chromium.org's avatar
      Skip samples where top function's stack frame is not setup properly · 69c2f54d
      yurys@chromium.org authored
      Stack iterator takes return address based on the frame pointer (ebp) and detects JS frames based on value at fp + StandardFrameConstants::kMarkerOffset. So in order the iterator to work correctly this values should be already setup for the current function. Stack frame is constructed at the very beginning of JS function code and destroyed before return. If sample is taken before before the frame construction is completed or after it was destroyed the stack iterator will wrongly think that FP points at the current functions frame base and will skip callers frame. To avoid this we mark code ranges where  stack frame doesn't exist and completely ignore such samples.
      
      This fixes cctest/test-cpu-profiler/CollectCpuProfile flakiness.
      
      BUG=v8:2628
      R=jkummerow@chromium.org
      
      Review URL: https://codereview.chromium.org/14253015
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      69c2f54d
  16. 24 Apr, 2013 1 commit
  17. 17 Apr, 2013 2 commits
  18. 16 Apr, 2013 1 commit
  19. 08 Apr, 2013 2 commits
  20. 02 Apr, 2013 1 commit
  21. 21 Mar, 2013 1 commit
  22. 20 Mar, 2013 1 commit
  23. 13 Mar, 2013 1 commit
  24. 04 Mar, 2013 2 commits
  25. 18 Feb, 2013 1 commit
  26. 15 Feb, 2013 1 commit
  27. 28 Jan, 2013 1 commit
  28. 08 Jan, 2013 1 commit