1. 22 Feb, 2022 1 commit
  2. 16 Aug, 2021 1 commit
  3. 11 Mar, 2021 1 commit
  4. 09 Feb, 2021 1 commit
  5. 06 Feb, 2020 1 commit
  6. 10 Jan, 2020 1 commit
    • Clemens Backes's avatar
      Remove --perf-prof flag on non-linux · 25f242ad
      Clemens Backes authored
      The fuzzers picked up this flag, and are now complaining that they run
      into UNREACHABLE/FATAL too often because the {PerfJitLogger} is not
      implemented on non-linux platforms.
      This CL removes the flag if it's not supported, so users get a warning
      about the unknown flag, but otherwise it's ignored. This should unblock
      the fuzzers, and slightly reduces binary size on non-linux.
      
      R=ahaas@chromium.org
      
      Bug: chromium:1035233
      Change-Id: I6b9282318bc82ff23173bc83ae31cb2d8cbdcdb7
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1993969
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65695}
      25f242ad
  7. 09 Jan, 2020 1 commit
  8. 07 Jan, 2020 1 commit
  9. 02 Jan, 2020 1 commit
  10. 13 Nov, 2019 1 commit
  11. 04 Sep, 2019 1 commit
  12. 20 May, 2019 1 commit
  13. 17 May, 2019 2 commits
  14. 28 Nov, 2018 1 commit
  15. 25 Nov, 2018 1 commit
  16. 12 Nov, 2018 1 commit
  17. 18 Sep, 2018 1 commit
  18. 27 Jul, 2018 1 commit
    • Peter Marshall's avatar
      [cpu-profiler] Use instruction start as the key for the CodeMap · ba752ea4
      Peter Marshall authored
      Previously we used the start address of the AbstractCode object. This
      doesn't make sense for off-heap builtins, where the code isn't contained
      in the object itself. It also hides other potential problems - sometimes
      the sample.pc is inside the AbstractCode object header - this is
      never valid.
      
      There were a few changes necessary to make this happen:
        - Change the interface of CodeMoveEvent. Now 'to' and 'from' are both
          AbstractCode objects, which is nice because many users were taking
          'to' and adding the header offset to it to try and find the
          instruction start address. This isn't valid for off-heap builtins.
        - Fix a bug in CodeMap::MoveCode where we didn't update the CodeEntry
          object to reflect the new instruction_start.
        - Rename the 'start' field in all of the CodeEventRecord sub-classes
          to make it clear that this is the address of the first instruction.
        - Fix the confusion in RecordTickSample between 'tos' and 'pc' which
          caused pc_offset to be calculated incorrectly.
      
      Bug: v8:7983
      Change-Id: I3e9dddf74e4b2e96a5f031d216ef7008d6f184d1
      Reviewed-on: https://chromium-review.googlesource.com/1148457
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54749}
      ba752ea4
  19. 16 Jul, 2018 1 commit
  20. 22 Mar, 2018 1 commit
  21. 09 Mar, 2018 1 commit
  22. 20 Feb, 2018 1 commit
  23. 05 Feb, 2018 1 commit
  24. 02 Feb, 2018 1 commit
  25. 03 Apr, 2017 1 commit
  26. 27 Jun, 2016 1 commit
    • ssanfilippo's avatar
      This commit is the first step towards emitting unwinding information in · 7d073b03
      ssanfilippo authored
      the .eh_frame format as part of the jitdump generated when
      FLAG_perf_prof is enabled. The final goal is allowing precise unwinding
      of callchains that include JITted code when profiling V8 using perf.
      
      Unwinding information is stored in the body of code objects after the
      code itself, prefixed with its length and aligned to a 8-byte boundary.
      A boolean flag in the header signals its presence, resulting in zero
      memory overhead when the generation of unwinding info is disabled or
      no such information was attached to the code object.
      
      A new jitdump record type (with id 4) is introduced for specifying
      optional unwinding information for code load records. The EhFrameHdr
      struct is also introduced, together with a constructor to initialise it
      from the associated code object.
      
      At this stage no unwinding information is written to the jitdump, but
      the infrastructure for doing so is ready in place.
      
      BUG=v8:4899
      LOG=N
      
      Review-Url: https://codereview.chromium.org/1993653003
      Cr-Commit-Position: refs/heads/master@{#37296}
      7d073b03
  27. 19 May, 2016 1 commit
  28. 30 Mar, 2016 1 commit
  29. 29 Mar, 2016 1 commit
    • jarin's avatar
      Linux perf integration with the new support for JIT. · 82e95f59
      jarin authored
      Difference from --perf-basic-prof:
      - correctly attributes samples when code space gets reused (when unused code object dies and a new code objects is allocated at the same place).
      - outputs compiled machine code for instruction-level profile.
      
      Just like --perf-basic-prof, the file writer is not synchronized (even worse, there is a per-isolate file handle), so we will run into trouble with multiple isolates. However, this patch is still an improvement on --perf-basic-prof, and it should be fine to replace ll-prof.
      
      The patch also introduces experimental support for debug info, but it does not seem to be picked by the perf tool.
      
      Usage:
      
      You need the perf tool from Linux kernel >4.5. Then run:
      
      $ perf record -k mono d8 --perf-prof <your JS file>
      $ perf inject -j -i perf.data -o perf.data.jitted
      $ perf report -i perf.data.jitted
      
      Some explanations:
      The "-k mono" switch from "perf record" tells the perf tool to use the monotonic clock for perf sample timestamping. The "perf inject -j" command injects the collected code events into the perf data file, writing the output into perf.data.jitted. The perf report command then creates the report.
      
      Review URL: https://codereview.chromium.org/1809203007
      
      Cr-Commit-Position: refs/heads/master@{#35091}
      82e95f59
  30. 29 May, 2015 1 commit
  31. 31 Mar, 2015 1 commit
    • rmcilroy's avatar
      Fix libdl dependency on Android and remove librt hack. · 11c4e2f2
      rmcilroy authored
      The libdl library is already included on target builds of Android and needs
      to be added to the build command line with a particular order to avoid
      undefined references in other libraries. Fix this by only explicitly including
      it in host builds and relying on the implicit inclusion on target builds.
      
      Also remove the librt hack which is not longer necessary due to the AOSP build
      bot having been removed.
      
      BUG=chromium:469973
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1036133005
      
      Cr-Commit-Position: refs/heads/master@{#27535}
      11c4e2f2
  32. 03 Jul, 2014 1 commit
  33. 02 Jul, 2014 2 commits
  34. 01 Jul, 2014 2 commits
  35. 30 Jun, 2014 2 commits