summaryrefslogtreecommitdiff
path: root/src/compiler_llvm/method_compiler.h
diff options
context:
space:
mode:
author Logan Chien <loganchien@google.com> 2012-02-17 14:10:01 +0800
committer Shih-wei Liao <sliao@google.com> 2012-02-17 23:49:30 -0800
commitbb4d12ac1024f5333e59bc1413f5b05250c4d8c6 (patch)
tree1f1177fed5cfb9ad80965029f6dbe28593127d93 /src/compiler_llvm/method_compiler.h
parent6c6f12d0ed64e0f4bcbb7139eca8fe564302f385 (diff)
Add dex cache codegen helper function.
Change-Id: I02b0d3538dbbee03fb8837761b00ae1220d6902e
Diffstat (limited to 'src/compiler_llvm/method_compiler.h')
-rw-r--r--src/compiler_llvm/method_compiler.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/compiler_llvm/method_compiler.h b/src/compiler_llvm/method_compiler.h
index f86d740cc9..6a6768b42b 100644
--- a/src/compiler_llvm/method_compiler.h
+++ b/src/compiler_llvm/method_compiler.h
@@ -264,6 +264,21 @@ class MethodCompiler {
#undef GEN_INSN_ARGS
+ // Dex cache code generation helper function
+ llvm::Value* EmitLoadDexCacheAddr(MemberOffset dex_cache_offset);
+
+ void EmitLoadDexCacheCodeAndDirectMethodFieldAddr(
+ llvm::Value*& code_addr_field_addr,
+ llvm::Value*& method_field_addr,
+ uint32_t method_idx);
+
+ llvm::Value* EmitLoadDexCacheStaticStorageFieldAddr(uint32_t type_idx);
+
+ llvm::Value* EmitLoadDexCacheResolvedTypeFieldAddr(uint32_t type_idx);
+
+ llvm::Value* EmitLoadDexCacheStringFieldAddr(uint32_t string_idx);
+
+
// Code generation helper function
llvm::Value* EmitLoadMethodObjectAddr();