summaryrefslogtreecommitdiff
path: root/src/compiler_llvm/jni_compiler.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler_llvm/jni_compiler.h')
-rw-r--r--src/compiler_llvm/jni_compiler.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/compiler_llvm/jni_compiler.h b/src/compiler_llvm/jni_compiler.h
index a6cdd9c4c8..98129d1251 100644
--- a/src/compiler_llvm/jni_compiler.h
+++ b/src/compiler_llvm/jni_compiler.h
@@ -33,10 +33,14 @@ namespace art {
}
namespace llvm {
+ class AllocaInst;
class Function;
class FunctionType;
+ class BasicBlock;
class LLVMContext;
class Module;
+ class Type;
+ class Value;
}
namespace art {
@@ -57,9 +61,14 @@ class JniCompiler {
void CreateFunction();
llvm::FunctionType* GetFunctionType(uint32_t method_idx,
- bool is_static);
+ bool is_static, bool is_target_function);
private:
+ llvm::Value* LoadFromObjectOffset(llvm::Value* object_addr, int32_t offset, llvm::Type* type);
+
+ void StoreToObjectOffset(llvm::Value* object_addr, int32_t offset,
+ llvm::Type* type, llvm::Value* value);
+
CompilationUnit* cunit_;
Compiler const* compiler_;
@@ -77,6 +86,9 @@ class JniCompiler {
DexFile const* dex_file_;
Method* method_;
+ llvm::BasicBlock* basic_block_;
+ llvm::AllocaInst* shadow_frame_;
+
llvm::Function* func_;
};