ART: Some Quick cleanup
Make several fields const in CompilationUnit. May benefit some Mir2Lir
code that repeats tests, and in general immutability is good.
Remove compiler_internals.h and refactor some other headers to reduce
overly broad imports (and thus forced recompiles on changes).
Change-Id: I898405907c68923581373b5981d8a85d2e5d185a
diff --git a/compiler/dex/mir_graph.h b/compiler/dex/mir_graph.h
index af97f51..5def191 100644
--- a/compiler/dex/mir_graph.h
+++ b/compiler/dex/mir_graph.h
@@ -19,10 +19,9 @@
#include <stdint.h>
-#include "compiler_ir.h"
#include "dex_file.h"
#include "dex_instruction.h"
-#include "driver/dex_compilation_unit.h"
+#include "dex_types.h"
#include "invoke_type.h"
#include "mir_field_info.h"
#include "mir_method_info.h"
@@ -34,9 +33,14 @@
namespace art {
+struct CompilationUnit;
+class DexCompilationUnit;
class DexFileMethodInliner;
class GlobalValueNumbering;
+// Forward declaration.
+class MIRGraph;
+
enum DataFlowAttributePos {
kUA = 0,
kUB,
@@ -139,7 +143,6 @@
// Minimum field size to contain Dalvik v_reg number.
#define VREG_NUM_WIDTH 16
-#define INVALID_SREG (-1)
#define INVALID_VREG (0xFFFFU)
#define INVALID_OFFSET (0xDEADF00FU)
@@ -553,9 +556,7 @@
* This is guaranteed to contain index 0 which is the base method being compiled.
* @return Returns the raw instruction pointer.
*/
- const uint16_t* GetInsns(int m_unit_index) const {
- return m_units_[m_unit_index]->GetCodeItem()->insns_;
- }
+ const uint16_t* GetInsns(int m_unit_index) const;
/**
* @brief Used to obtain the raw data table.