summaryrefslogtreecommitdiff
path: root/src/compiler_llvm/method_compiler.h
diff options
context:
space:
mode:
author Logan Chien <loganchien@google.com> 2012-01-17 16:06:00 +0800
committer Shih-wei Liao <sliao@google.com> 2012-02-18 02:09:10 -0800
commit438c4b6cdb90ecb4c79c9a763884e915fd566343 (patch)
treea6239fe57a92f5c9ab7b3b2484205ca4887ae1aa /src/compiler_llvm/method_compiler.h
parentc3b4ba13d5c62b5f837c9fbd47098c06f504cd03 (diff)
Implement sget* instructions.
Change-Id: I53f655c23bf78c05d214d721496380474ea3e238
Diffstat (limited to 'src/compiler_llvm/method_compiler.h')
-rw-r--r--src/compiler_llvm/method_compiler.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/compiler_llvm/method_compiler.h b/src/compiler_llvm/method_compiler.h
index df381ee559..36f90e596a 100644
--- a/src/compiler_llvm/method_compiler.h
+++ b/src/compiler_llvm/method_compiler.h
@@ -37,6 +37,7 @@ namespace art {
class CompiledMethod;
class Compiler;
class DexCache;
+ class Field;
}
@@ -322,6 +323,8 @@ class MethodCompiler {
llvm::Value* EmitLoadConstantClass(uint32_t dex_pc, uint32_t type_idx);
+ llvm::Value* EmitLoadStaticStorage(uint32_t dex_pc, uint32_t type_idx);
+
void EmitGuard_DivZeroException(uint32_t dex_pc,
llvm::Value* denominator,
JType op_jty);
@@ -339,6 +342,11 @@ class MethodCompiler {
RegCategory GetInferredRegCategory(uint32_t dex_pc, uint16_t reg);
+ Field* ResolveField(uint32_t field_idx);
+
+ Field* FindFieldAndDeclaringTypeIdx(uint32_t field_idx,
+ uint32_t &resolved_type_idx);
+
// Diagnostics helper function
void PrintUnresolvedFieldWarning(int32_t field_idx);