From 547cdfd21ee21e4ab9ca8692d6ef47c62ee7ea52 Mon Sep 17 00:00:00 2001 From: Tong Shen Date: Tue, 5 Aug 2014 01:54:19 -0700 Subject: Emit CFI for x86 & x86_64 JNI compiler. Now for host-side x86 & x86_64 ART, we are able to get complete stacktrace with even mixed C/C++ & Java stack frames. Testing: 1. art/test/run-test --host --gdb [--64] --no-relocate 005 2. In gdb, run 'b art::Class_classForName' which is implementation of a Java native method, then 'r' 3. In gdb, run 'bt'. You should see stack frames down to main() Change-Id: I2d17e9aa0f6d42d374b5362a15ea35a2fce96302 --- compiler/utils/assembler.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'compiler/utils/assembler.h') diff --git a/compiler/utils/assembler.h b/compiler/utils/assembler.h index f72f5e55ed..4addfa0946 100644 --- a/compiler/utils/assembler.h +++ b/compiler/utils/assembler.h @@ -499,6 +499,10 @@ class Assembler { // and branch to a ExceptionSlowPath if it is. virtual void ExceptionPoll(ManagedRegister scratch, size_t stack_adjust) = 0; + virtual void InitializeFrameDescriptionEntry() {} + virtual void FinalizeFrameDescriptionEntry() {} + virtual std::vector* GetFrameDescriptionEntry() { return nullptr; } + virtual ~Assembler() {} protected: -- cgit v1.2.3