Add upcall compiler.

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

Change-Id: I09fb1e4b3f166e8da5de73e8f39509cd9be6c152
diff --git a/src/compiler.cc b/src/compiler.cc
index 08c6cc4..c917736 100644
--- a/src/compiler.cc
+++ b/src/compiler.cc
@@ -988,6 +988,9 @@
   bool is_static = (access_flags & kAccStatic) != 0;
   const CompiledInvokeStub* compiled_invoke_stub = FindInvokeStub(is_static, shorty);
   if (compiled_invoke_stub == NULL) {
+#if defined(ART_USE_LLVM_COMPILER)
+    compiled_invoke_stub = compiler_llvm_->CreateInvokeStub(is_static, shorty);
+#else
     if (instruction_set_ == kX86) {
       compiled_invoke_stub = ::art::x86::X86CreateInvokeStub(is_static, shorty);
     } else {
@@ -995,6 +998,8 @@
       // Generates invocation stub using ARM instruction set
       compiled_invoke_stub = ::art::arm::ArmCreateInvokeStub(is_static, shorty);
     }
+#endif
+
     CHECK(compiled_invoke_stub != NULL);
     InsertInvokeStub(is_static, shorty, compiled_invoke_stub);
   }