summaryrefslogtreecommitdiff
path: root/src/compiler_llvm/compiler_llvm.cc
diff options
context:
space:
mode:
author TDYa127 <tdy@google.com> 2012-04-17 20:55:08 -0700
committer Shih-wei Liao <sliao@google.com> 2012-04-18 22:00:20 -0700
commit0200d0739c8ca560a2166b185fda39a63fb37851 (patch)
treed51a93cbbdd3c429fb8ffdc56b33891fa30d9b10 /src/compiler_llvm/compiler_llvm.cc
parent264675757a1d1ba43f53634d1301b7d6b79fe02c (diff)
Compilation_unit experiment. Fix because of no long_call.
Change-Id: Id8ab9c50317ade34f80be6e72784db00c0b23f6b
Diffstat (limited to 'src/compiler_llvm/compiler_llvm.cc')
-rw-r--r--src/compiler_llvm/compiler_llvm.cc11
1 files changed, 8 insertions, 3 deletions
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,