1. 06 Feb, 2018 1 commit
  2. 02 Feb, 2018 1 commit
    • Gabriel Charette's avatar
      Bring Time(Delta)::Min/Max() and related helpers to V8. · db73d446
      Gabriel Charette authored
      Copied as-is modulo compile tweaks from Chromium's base.
      
      Copied tests highlighting existing overflow issues with V8's impl...
      
      TimeDelta::Max() will initially be used in V8 to flag events that
      never triggered in a TimedHistogram.
      
      Also constexpr'ed a few things while I was in there, it's harmless
      at worst and helps a little at best.
      Ideally would constexpr all the Time*::From*() methods like in
      Chromium but that has inlining implications and I don't know the
      impact that could have on V8.
      
      Bug: chromium:807606
      Change-Id: If5aa92759d985be070e12af4dd20f0159169048b
      Reviewed-on: https://chromium-review.googlesource.com/899342Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Commit-Queue: Gabriel Charette <gab@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51073}
      db73d446
  3. 01 Feb, 2018 1 commit
    • Gabriel Charette's avatar
      Make TimeTicks::Now() high-resolution whenever possible with low-latency. · 954146a5
      Gabriel Charette authored
      It was already always high-resolution on POSIX but was never high
      resolution on Windows. Windows does support low latency high-resolution
      timers for the majority of our user base.
      
      TimeTicks::HighResolutionNow() was only explicitly requested in testing
      frameworks. As such I left the call in place but made it DCHECK that
      it's running on a Windows machine on which high-resolution clocks are
      used. This confirms that none of our test fleet has regressed with this
      change (the previous HighResolutionNow() used to be slightly more
      aggressive and also do it in a few configurations where we now fallback
      to low-resolution now).
      
      This implementation was copied as-is (modulo minor v8 API
      compatibility tweaks). These implementations were the same in the
      past but had diverged when, sadly, the same bug was fixed separately
      years apart, in Chromium and V8:
      chromium: https://codereview.chromium.org/1284053004 + https://codereview.chromium.org/2393953003
      v8: https://codereview.chromium.org/1304873011
      
      This is a prerequisite to add metrics around parallel task execution
      (low-resolution clocks are useless at that level, but we also don't want
      to incur high-latency clocks on machines that can't afford it cheaply).
      
      Bug: chromium:807606
      Change-Id: Id18e7be895d8431ebd0e565a1bdf358fe7838489
      Reviewed-on: https://chromium-review.googlesource.com/897485Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Commit-Queue: Gabriel Charette <gab@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51027}
      954146a5
  4. 01 Dec, 2017 1 commit
  5. 10 Nov, 2017 1 commit
  6. 18 Oct, 2017 1 commit
  7. 13 Oct, 2017 1 commit
  8. 28 Sep, 2017 1 commit
  9. 22 May, 2017 1 commit
  10. 16 Dec, 2016 1 commit
  11. 25 Jul, 2016 1 commit
  12. 30 Jun, 2016 1 commit
  13. 01 Jun, 2016 1 commit
  14. 27 May, 2016 1 commit
  15. 13 May, 2016 2 commits
  16. 12 May, 2016 1 commit
  17. 11 May, 2016 2 commits
  18. 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
  19. 30 Sep, 2015 1 commit
  20. 01 Sep, 2015 3 commits
  21. 14 Jul, 2015 1 commit
  22. 12 Jun, 2015 2 commits
  23. 27 May, 2015 1 commit
  24. 26 May, 2015 1 commit
  25. 07 May, 2015 2 commits
  26. 28 Apr, 2015 1 commit
  27. 20 Apr, 2015 1 commit
  28. 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
  29. 30 Jan, 2015 3 commits
  30. 12 Dec, 2014 1 commit
  31. 02 Sep, 2014 1 commit
  32. 04 Aug, 2014 1 commit