From 46fbb4178a5dbacf40ef684e37e6e7ff971b1bd2 Mon Sep 17 00:00:00 2001 From: Logan Chien Date: Wed, 15 Feb 2012 22:29:08 +0800 Subject: Implement invoke-virtual instruction. Change-Id: I7914446207bcfc11ed838e71fe2e2b5af9a9722e --- src/compiler_llvm/method_compiler.h | 11 +++++++++++ 1 file changed, 11 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 1bf83d1164..0ec4858228 100644 --- a/src/compiler_llvm/method_compiler.h +++ b/src/compiler_llvm/method_compiler.h @@ -316,6 +316,17 @@ class MethodCompiler { uint32_t type_idx, bool is_filled_new_array); + llvm::Value* EmitLoadClassObjectAddr(llvm::Value* this_addr); + + llvm::Value* EmitLoadVTableAddr(llvm::Value* class_object_addr); + + llvm::Value* EmitLoadMethodObjectAddrFromVTable(llvm::Value* vtable_addr, + uint16_t vtable_index); + + llvm::Value* EmitLoadCodeAddr(llvm::Value* method_object_addr, + uint32_t method_idx, + bool is_static); + llvm::Value* EmitLoadArrayLength(llvm::Value* array); llvm::Value* EmitArrayGEP(llvm::Value* array_addr, -- cgit v1.2.3-59-g8ed1b