diff options
| author | 2012-02-17 14:10:01 +0800 | |
|---|---|---|
| committer | 2012-02-17 23:49:30 -0800 | |
| commit | bb4d12ac1024f5333e59bc1413f5b05250c4d8c6 (patch) | |
| tree | 1f1177fed5cfb9ad80965029f6dbe28593127d93 /src/compiler_llvm/method_compiler.h | |
| parent | 6c6f12d0ed64e0f4bcbb7139eca8fe564302f385 (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.h | 15 |
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(); |