From 383b57d985adadc4cbccb4a62a0ef6afd243e511 Mon Sep 17 00:00:00 2001 From: "xueliang.zhong" Date: Tue, 4 Oct 2016 11:19:17 +0100 Subject: ART jitted code profiling support. - Generate perf map for method level profiling. - Generate jit dump for instruction level profiling. Command line example of perf map approach: $ perf record dalvikvm -Xcompiler-option -g -cp MyClass $ perf report Command line example of perf jit dump approach: $ perf record -k mono dalvikvm -Xcompiler-option -g -cp MyClass $ perf inject -i perf.data -o perf.data.jitted $ perf report -i perf.data.jitted $ perf annotate -i perf.data.jitted NOTE: 4.1 or newer kernel is needed for this jit dump analysis. Test: Compile. Test: Verified that perf-PID.map and jit-PID.dump files are only generated when running ART JIT with -g option. Tested on aosp_angler-userdebug and hikey-userdebug devices. The file formats are correct. Change-Id: I1bd3ce280f953811d3dfcc27dc8e59b3e1f481aa --- compiler/jit/jit_compiler.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'compiler/jit/jit_compiler.h') diff --git a/compiler/jit/jit_compiler.h b/compiler/jit/jit_compiler.h index ea2747c085..f0f24d345e 100644 --- a/compiler/jit/jit_compiler.h +++ b/compiler/jit/jit_compiler.h @@ -19,6 +19,7 @@ #include "base/mutex.h" #include "compiled_method.h" +#include "jit_logger.h" #include "driver/compiler_driver.h" #include "driver/compiler_options.h" @@ -50,7 +51,7 @@ class JitCompiler { std::unique_ptr cumulative_logger_; std::unique_ptr compiler_driver_; std::unique_ptr instruction_set_features_; - std::unique_ptr perf_file_; + std::unique_ptr jit_logger_; JitCompiler(); -- cgit v1.2.3-59-g8ed1b