diff options
author | 2016-01-05 14:29:02 +0000 | |
---|---|---|
committer | 2016-01-13 15:56:52 +0000 | |
commit | 86e4278d5edc3685465b8846dcb17efa83c86d75 (patch) | |
tree | 53c9af36418ed8872be46271a86a481075e78854 /compiler/elf_writer_debug.h | |
parent | b8a20aafa13d59112dcbf1df858b8d1d61cfb708 (diff) |
Add DWARF type information generation.
Emit native debugging information for types which are used during
compilation.
Change-Id: If28d19f60294494b7c6db8400d179494bebe9e61
Diffstat (limited to 'compiler/elf_writer_debug.h')
-rw-r--r-- | compiler/elf_writer_debug.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/compiler/elf_writer_debug.h b/compiler/elf_writer_debug.h index 94e09d7ccf..91da00f97a 100644 --- a/compiler/elf_writer_debug.h +++ b/compiler/elf_writer_debug.h @@ -17,20 +17,29 @@ #ifndef ART_COMPILER_ELF_WRITER_DEBUG_H_ #define ART_COMPILER_ELF_WRITER_DEBUG_H_ -#include "elf_builder.h" +#include "base/macros.h" +#include "base/mutex.h" #include "dwarf/dwarf_constants.h" -#include "oat_writer.h" +#include "elf_builder.h" #include "utils/array_ref.h" namespace art { +namespace mirror { +class Class; +} namespace dwarf { +struct MethodDebugInfo; template <typename ElfTypes> void WriteDebugInfo(ElfBuilder<ElfTypes>* builder, + bool write_loaded_runtime_types, const ArrayRef<const MethodDebugInfo>& method_infos, CFIFormat cfi_format); -ArrayRef<const uint8_t> WriteDebugElfFile(const dwarf::MethodDebugInfo& method_info); +ArrayRef<const uint8_t> WriteDebugElfFileForMethod(const dwarf::MethodDebugInfo& method_info); + +ArrayRef<const uint8_t> WriteDebugElfFileForClass(const InstructionSet isa, mirror::Class* type) + SHARED_REQUIRES(Locks::mutator_lock_); } // namespace dwarf } // namespace art |