Implement aget* instructions.
Change-Id: I1b03dd4ca4ab10b09adba4134c0d1198e43ef64f
diff --git a/src/compiler_llvm/method_compiler.h b/src/compiler_llvm/method_compiler.h
index a1f1802..46aea81 100644
--- a/src/compiler_llvm/method_compiler.h
+++ b/src/compiler_llvm/method_compiler.h
@@ -296,6 +296,10 @@
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 @@
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);