summaryrefslogtreecommitdiff
path: root/src/compiler_llvm/method_compiler.h
diff options
context:
space:
mode:
author Logan Chien <loganchien@google.com> 2012-01-02 23:27:26 +0800
committer Shih-wei Liao <sliao@google.com> 2012-02-16 23:42:39 -0800
commite27fdbb2c5b4a53b3c40570d861fd62d9fd3601c (patch)
treedf07318fb3778426dc227dbee1a631e93a736844 /src/compiler_llvm/method_compiler.h
parent61bb614526be29a99b31180c8ac8a695cd813d6c (diff)
Implement aget* instructions.
Change-Id: I1b03dd4ca4ab10b09adba4134c0d1198e43ef64f
Diffstat (limited to 'src/compiler_llvm/method_compiler.h')
-rw-r--r--src/compiler_llvm/method_compiler.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/compiler_llvm/method_compiler.h b/src/compiler_llvm/method_compiler.h
index a1f18024cf..46aea810e3 100644
--- a/src/compiler_llvm/method_compiler.h
+++ b/src/compiler_llvm/method_compiler.h
@@ -296,6 +296,10 @@ class MethodCompiler {
llvm::Value* EmitLoadArrayLength(llvm::Value* array);
+ llvm::Value* EmitArrayGEP(llvm::Value* array_addr,
+ llvm::Value* index_value,
+ llvm::Type* elem_type);
+
void EmitGuard_DivZeroException(uint32_t dex_pc,
llvm::Value* denominator,
JType op_jty);
@@ -303,6 +307,14 @@ class MethodCompiler {
void EmitGuard_NullPointerException(uint32_t dex_pc,
llvm::Value* object);
+ void EmitGuard_ArrayIndexOutOfBoundsException(uint32_t dex_pc,
+ llvm::Value* array,
+ llvm::Value* index);
+
+ void EmitGuard_ArrayException(uint32_t dex_pc,
+ llvm::Value* array,
+ llvm::Value* index);
+
RegCategory GetInferredRegCategory(uint32_t dex_pc, uint16_t reg);