summaryrefslogtreecommitdiff
path: root/compiler/compiler_backend.h
AgeCommit message (Collapse)Author
2014-03-13Add command line support for enabling the optimizing compiler. Nicolas Geoffray
Also run tests with the optimizing compiler enabled when the file art/USE_OPTIMIZING_COMPILER is present. Change-Id: Ibc33eed62a43547bc3b9fe786d014c0d81b5add8
2014-03-02Tell GDB about Quick ART generated code Mark Mendell
This is actually a lot of work. To do this, we need: .debug_info .debug_abbrev .debug_frame .debug_str These are generated into the OAT file by OatWriter and ElfWriterQuick. Since the Quick ART runtime doesn't use dlopen to load the OAT files, GDB can't find this information. Use the alternate GDB JIT interface, which can be invoked at runtime. To use this interface, an ELF image needs to be built in memory. Read the information from the OAT file, fixup the addresses to point to the real locations, add a symbol table to hold the .text symbol, and then let GDB know about the information, which will be read from the runtime address space. This is quite primitive now, and could be cleaned up considerably. It probably needs symbol table entries for the methods, and descriptions of parameters and return types. Currently only supported for X86. This defaults to enabled for debug builds. Added dexoat --gen-gdb-info and --no-gen-gdb-info flags to override. Change-Id: I4d18b2370f6dfaa00c8cc1925f10717be3bd1a62 Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
2014-03-01Make out arguments non-reference types. Ian Rogers
Also, tidy some portable related code. Change-Id: I67c8aa52eef8b556ca117ecda1b1e75465ba06a5
2014-02-28Fix clang to compile and run host tests. Ian Rogers
Don't use the computed goto interpreter with clang 3.4 as it causes compilation to hang. Avoid inclusion of LLVM_(HOST|DEVICE)_BUILD_MK except for with portable as it sets clang incompatible cflags. Most fixes are self-evident, for the quick dex file method inliner the enums were being used with ostreams, so fix the enums and operator out python script to allow this. Note this change effects portable but this is untestable as portable was broken by ELF file and mc linker changes. Change-Id: Ia54348f6b1bd3f76d3b71c6e8c5f97626386b903
2014-02-20Code cleanup to avoid LLVM dependency when building with quick only. Nicolas Geoffray
Change-Id: I0985c227d775c72fd23975d4c9bf673ba32615c2
2014-02-18Fix lint error. Nicolas Geoffray
Change-Id: I40d7290d547275369449620509da759db2800935
2014-02-18Rewrite the compiler interface for CompilerDriver. Nicolas Geoffray
Change-Id: I15fa9afe7ffb7283ebda8d788a1e02793e3f75a6