Integrating portable path with the Frontend.

(1) Connect the new interface oatCompileMethodToGBC and gbc_expander.
(2) Need to fix Android.common.mk for fly2iceland: Portable path has
    frontend: USE_QUICK_COMPILER and backend: USE_LLVM_COMPILER.
(3) Fix Android.libart-compiler-llvm.mk so we can call the new interface.

Change-Id: I7216f378bdb5e42a35fd6fa10c1d5d161a912401
diff --git a/src/compiler_llvm/compilation_unit.h b/src/compiler_llvm/compilation_unit.h
index d1dfa0c..6244eea 100644
--- a/src/compiler_llvm/compilation_unit.h
+++ b/src/compiler_llvm/compilation_unit.h
@@ -19,7 +19,7 @@
 
 #include "../mutex.h"
 #include "globals.h"
-#ifdef ART_USE_DEXLANG_FRONTEND
+#if defined(ART_USE_DEXLANG_FRONTEND) || defined(ART_USE_QUICK_COMPILER)
 # include "greenland/dex_lang.h"
 #endif
 #include "instruction_set.h"
@@ -28,6 +28,11 @@
 #include "runtime_support_func.h"
 #include "safe_map.h"
 
+#if defined(ART_USE_QUICK_COMPILER)
+# include "compiler.h"
+# include "oat_compilation_unit.h"
+#endif
+
 #include <UniquePtr.h>
 #include <string>
 #include <vector>
@@ -74,7 +79,7 @@
     return irb_.get();
   }
 
-#ifdef ART_USE_DEXLANG_FRONTEND
+#if defined(ART_USE_DEXLANG_FRONTEND) || defined(ART_USE_QUICK_COMPILER)
   greenland::DexLang::Context* GetDexLangContext() const {
     return dex_lang_ctx_;
   }
@@ -84,6 +89,15 @@
     bitcode_filename_ = bitcode_filename;
   }
 
+#if defined(ART_USE_QUICK_COMPILER)
+  void SetCompiler(Compiler* compiler) {
+    compiler_ = compiler;
+  }
+  void SetOatCompilationUnit(OatCompilationUnit* oat_compilation_unit) {
+    oat_compilation_unit_ = oat_compilation_unit;
+  }
+#endif
+
   bool Materialize();
 
   bool IsMaterialized() const {
@@ -103,9 +117,13 @@
   UniquePtr<IRBuilder> irb_;
   UniquePtr<RuntimeSupportBuilder> runtime_support_;
   llvm::Module* module_;
-#ifdef ART_USE_DEXLANG_FRONTEND
+#if defined(ART_USE_DEXLANG_FRONTEND) || defined(ART_USE_QUICK_COMPILER)
   greenland::DexLang::Context* dex_lang_ctx_;
 #endif
+#if defined(ART_USE_QUICK_COMPILER)
+  Compiler* compiler_;
+  OatCompilationUnit* oat_compilation_unit_;
+#endif
 
   std::string bitcode_filename_;