summaryrefslogtreecommitdiff
path: root/src/compiler_llvm/method_compiler.h
diff options
context:
space:
mode:
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);