From e27fdbb2c5b4a53b3c40570d861fd62d9fd3601c Mon Sep 17 00:00:00 2001 From: Logan Chien Date: Mon, 2 Jan 2012 23:27:26 +0800 Subject: Implement aget* instructions. Change-Id: I1b03dd4ca4ab10b09adba4134c0d1198e43ef64f --- src/compiler_llvm/method_compiler.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/compiler_llvm/method_compiler.h') 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); -- cgit v1.2.3-59-g8ed1b