Add upcall compiler.

Upcall compiler compiles the invoke stub for native-to-managed
method invocation.

Change-Id: I09fb1e4b3f166e8da5de73e8f39509cd9be6c152
diff --git a/src/compiler_llvm/compiler_llvm.cc b/src/compiler_llvm/compiler_llvm.cc
index 8a9b362..21a7bb9 100644
--- a/src/compiler_llvm/compiler_llvm.cc
+++ b/src/compiler_llvm/compiler_llvm.cc
@@ -19,6 +19,7 @@
 #include "compiler.h"
 #include "ir_builder.h"
 #include "method_compiler.h"
+#include "upcall_compiler.h"
 
 #include <llvm/ADT/OwningPtr.h>
 #include <llvm/Bitcode/ReaderWriter.h>
@@ -104,5 +105,17 @@
 }
 
 
+CompiledInvokeStub* CompilerLLVM::CreateInvokeStub(bool is_static,
+                                                   char const *shorty) {
+
+  MutexLock GUARD(compiler_lock_);
+
+  UniquePtr<UpcallCompiler> upcall_compiler(
+    new UpcallCompiler(insn_set_, *compiler_));
+
+  return upcall_compiler->CreateStub(is_static, shorty);
+}
+
+
 } // namespace compiler_llvm
 } // namespace art