Fix 044-proxy. Implement proxy for now, working on x86 and ARM.

Already added a TODO to do the assembly code for x86 and ARM for proxy.
Use LLVM .ll for multi-architecture now.

Change-Id: Ibdeeee113dcf284592e9d7769d3044438cb1e453
diff --git a/src/compiler_llvm/generated/art_module.cc b/src/compiler_llvm/generated/art_module.cc
index 6889ed9..cdde019 100644
--- a/src/compiler_llvm/generated/art_module.cc
+++ b/src/compiler_llvm/generated/art_module.cc
@@ -290,6 +290,13 @@
  /*Params=*/FuncTy_30_args,
  /*isVarArg=*/false);
 
+std::vector<Type*>FuncTy_31_args;
+FuncTy_31_args.push_back(PointerTy_1);
+FunctionType* FuncTy_31 = FunctionType::get(
+ /*Result=*/Type::getVoidTy(mod->getContext()),
+ /*Params=*/FuncTy_31_args,
+ /*isVarArg=*/true);
+
 
 // Function Declarations
 
@@ -876,6 +883,17 @@
 AttrListPtr func_art_fix_stub_from_code_PAL;
 func_art_fix_stub_from_code->setAttributes(func_art_fix_stub_from_code_PAL);
 
+Function* func_art_proxy_invoke_handler_from_code = mod->getFunction("art_proxy_invoke_handler_from_code");
+if (!func_art_proxy_invoke_handler_from_code) {
+func_art_proxy_invoke_handler_from_code = Function::Create(
+ /*Type=*/FuncTy_31,
+ /*Linkage=*/GlobalValue::ExternalLinkage,
+ /*Name=*/"art_proxy_invoke_handler_from_code", mod); // (external, no body)
+func_art_proxy_invoke_handler_from_code->setCallingConv(CallingConv::C);
+}
+AttrListPtr func_art_proxy_invoke_handler_from_code_PAL;
+func_art_proxy_invoke_handler_from_code->setAttributes(func_art_proxy_invoke_handler_from_code_PAL);
+
 // Global Variable Declarations