From 0200d0739c8ca560a2166b185fda39a63fb37851 Mon Sep 17 00:00:00 2001 From: TDYa127 Date: Tue, 17 Apr 2012 20:55:08 -0700 Subject: Compilation_unit experiment. Fix because of no long_call. Change-Id: Id8ab9c50317ade34f80be6e72784db00c0b23f6b --- src/compiler_llvm/compiler_llvm.cc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/compiler_llvm/compiler_llvm.cc') diff --git a/src/compiler_llvm/compiler_llvm.cc b/src/compiler_llvm/compiler_llvm.cc index 443950df07..894521033d 100644 --- a/src/compiler_llvm/compiler_llvm.cc +++ b/src/compiler_llvm/compiler_llvm.cc @@ -318,8 +318,10 @@ extern "C" art::CompiledMethod* ArtCompileMethod(art::Compiler& compiler, art::OatCompilationUnit oat_compilation_unit( class_loader, class_linker, dex_file, *dex_cache, code_item, method_idx, access_flags); - - return ContextOf(compiler)->CompileDexMethod(&oat_compilation_unit); + art::compiler_llvm::CompilerLLVM* compiler_llvm = ContextOf(compiler); + art::CompiledMethod* result = compiler_llvm->CompileDexMethod(&oat_compilation_unit); + compiler_llvm->MaterializeIfThresholdReached(); + return result; } extern "C" art::CompiledMethod* ArtJniCompileMethod(art::Compiler& compiler, @@ -340,7 +342,10 @@ extern "C" art::CompiledMethod* ArtJniCompileMethod(art::Compiler& compiler, extern "C" art::CompiledInvokeStub* ArtCreateInvokeStub(art::Compiler& compiler, bool is_static, const char* shorty, uint32_t shorty_len) { - return ContextOf(compiler)->CreateInvokeStub(is_static, shorty); + art::compiler_llvm::CompilerLLVM* compiler_llvm = ContextOf(compiler); + art::CompiledInvokeStub* result = compiler_llvm->CreateInvokeStub(is_static, shorty); + compiler_llvm->MaterializeIfThresholdReached(); + return result; } extern "C" void compilerLLVMSetBitcodeFileName(art::Compiler& compiler, -- cgit v1.2.3-59-g8ed1b