- 27 Jun, 2016 1 commit
-
-
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}
-
- 19 May, 2016 1 commit
-
-
martyn.capewell authored
Define the ELF e_machine field for ARM64, enabling --perf-prof. BUG= Review-Url: https://codereview.chromium.org/1992263002 Cr-Commit-Position: refs/heads/master@{#36373}
-
- 30 Mar, 2016 1 commit
-
-
jarin authored
This CL introduces static variables and global lock for writing to the dump files, so that multiple web workers do not run into trouble. Review URL: https://codereview.chromium.org/1839133002 Cr-Commit-Position: refs/heads/master@{#35123}
-
- 29 Mar, 2016 1 commit
-
-
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}
-
- 29 May, 2015 1 commit
-
-
jarin authored
BUG= Review URL: https://codereview.chromium.org/1148293009 Cr-Commit-Position: refs/heads/master@{#28697}
-
- 31 Mar, 2015 1 commit
-
-
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}
-
- 03 Jul, 2014 1 commit
-
-
jarin@chromium.org authored
Bringing the offending timer functions to the platform dependent files. BUG= R=yangguo@chromium.org Review URL: https://codereview.chromium.org/367033002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Jul, 2014 2 commits
-
-
yangguo@chromium.org authored
This reverts r22146. TBR=jarin@chromium.org Review URL: https://codereview.chromium.org/366883004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
This disables the perf support in Android because of build problems with librt (should be fixable with a bit of effort, but priority is low). BUG= R=yangguo@chromium.org Review URL: https://codereview.chromium.org/360783006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Jul, 2014 2 commits
-
-
jarin@chromium.org authored
Android ninja build still failing. TBR=yangguo@chromium.org Review URL: https://codereview.chromium.org/367633003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
This relands r22098. BUG= R=yangguo@chromium.org Review URL: https://codereview.chromium.org/368433006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jun, 2014 2 commits
-
-
jochen@chromium.org authored
GetCurrentThreadId doesn't compile on android Also reverts follow up build fix attempts BUG=none LOG=n TBR=jarin@chromium.org Review URL: https://codereview.chromium.org/337093005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
This adds timestamps to allow profiling with code space reuse. Also a couple of updates to reflect the changes in the JIT perf interface + a move of the perf-related stuff into separate files. Unfortunately, the change only works with the latest patch to the perf tool from a Linux perf tool contributor (Stephane Eranian). BUG= R=yangguo@chromium.org Review URL: https://codereview.chromium.org/255803003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-