summaryrefslogtreecommitdiff
path: root/src/compiler_llvm/method_compiler.h
diff options
context:
space:
mode:
author TDYa127 <tdy@google.com> 2012-04-01 15:24:56 -0700
committer Shih-wei Liao <sliao@google.com> 2012-04-07 10:33:12 -0700
commit8532191c4fc8e005f7d432fec40fd9f2936275c6 (patch)
tree2173082a31163332c22b262331fe98470583cd12 /src/compiler_llvm/method_compiler.h
parentb12c3017e619747ab26ba56d935401a7e45b59cd (diff)
Late method resolution.
Change-Id: Ic35348022391c3c11a1d4984b9add7b6ef53aa4c
Diffstat (limited to 'src/compiler_llvm/method_compiler.h')
-rw-r--r--src/compiler_llvm/method_compiler.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/compiler_llvm/method_compiler.h b/src/compiler_llvm/method_compiler.h
index 1ff3a9f9df..e5be3ba161 100644
--- a/src/compiler_llvm/method_compiler.h
+++ b/src/compiler_llvm/method_compiler.h
@@ -194,6 +194,16 @@ class MethodCompiler {
void EmitInsn_SPut(GEN_INSN_ARGS, JType field_jty);
// INVOKE instructions
+ llvm::Value* EmitEnsureInitialized(llvm::Value* callee_method_object_addr,
+ uint32_t method_idx,
+ bool is_static,
+ llvm::Value* code_addr);
+ llvm::Value* EmitEnsureResolved(llvm::Value* callee,
+ llvm::Value* caller,
+ uint32_t dex_method_idx,
+ Instruction::Code instr_code);
+ void EmitEnsureLink(llvm::Value*);
+
void EmitInsn_InvokeVirtual(GEN_INSN_ARGS, bool is_range);
void EmitInsn_InvokeSuper(GEN_INSN_ARGS, bool is_range);
void EmitInsn_InvokeVirtualSuperSlow(uint32_t dex_pc,