summaryrefslogtreecommitdiff
path: root/src/compiler_llvm/stub_compiler.cc
diff options
context:
space:
mode:
author Logan Chien <loganchien@google.com> 2012-06-12 19:32:56 +0800
committer Shih-wei Liao <sliao@google.com> 2012-06-27 03:50:39 -0700
commit7c9c184b22707c9f3ed7f7ace94fe9f072129e94 (patch)
tree3794f662f2314d62cada845506569b03ae574b4f /src/compiler_llvm/stub_compiler.cc
parenta3507275dc2959e437f7421b2051623c9dc8b4fa (diff)
Remove fix stub hack.
Change-Id: I6c870f40b3283826b0bd1149a08a4577d6e89e2d
Diffstat (limited to 'src/compiler_llvm/stub_compiler.cc')
-rw-r--r--src/compiler_llvm/stub_compiler.cc17
1 files changed, 0 insertions, 17 deletions
diff --git a/src/compiler_llvm/stub_compiler.cc b/src/compiler_llvm/stub_compiler.cc
index af05e5246f..75395324a7 100644
--- a/src/compiler_llvm/stub_compiler.cc
+++ b/src/compiler_llvm/stub_compiler.cc
@@ -141,8 +141,6 @@ CompiledInvokeStub* StubCompiler::CreateInvokeStub(bool is_static,
}
// Invoke managed method now!
- // TODO: If we solve the trampoline related problems, we can just get the code address and call.
-#if 0
llvm::Value* code_field_offset_value =
irb_.getPtrEquivInt(Method::GetCodeOffset().Int32Value());
@@ -151,21 +149,6 @@ CompiledInvokeStub* StubCompiler::CreateInvokeStub(bool is_static,
accurate_func_type->getPointerTo()->getPointerTo());
llvm::Value* code_addr = irb_.CreateLoad(code_field_addr, kTBAAJRuntime);
-#else
- llvm::Value* result = irb_.CreateCall(irb_.GetRuntime(FixStub), method_object_addr);
- llvm::Value* code_addr = irb_.CreatePointerCast(result, accurate_func_type->getPointerTo());
-
- // Exception unwind.
- llvm::Value* exception_pending = irb_.Runtime().EmitIsExceptionPending();
- llvm::BasicBlock* block_unwind = llvm::BasicBlock::Create(*context_, "exception_unwind", func);
- llvm::BasicBlock* block_cont = llvm::BasicBlock::Create(*context_, "cont", func);
- irb_.CreateCondBr(exception_pending, block_unwind, block_cont);
- irb_.SetInsertPoint(block_unwind);
- // Restore thread register
- irb_.Runtime().EmitSetCurrentThread(old_thread_register);
- irb_.CreateRetVoid();
- irb_.SetInsertPoint(block_cont);
-#endif
llvm::Value* retval = irb_.CreateCall(code_addr, args);