Fix GEP & refactor compiler_llvm::JniCompiler.

Three major changes:

   o Use member offset instead of hard coded constant.
     We use GetElementPtr before, but it needs the ordinal number of
     field. If we reorder the members, we need to correct all the
     constants.

   o Remove the type parameter in the StoreToObjectOffset().
     LLVM IR is strongly typed, we can get the type by the new_value.

   o Add more comments.

(cherry picked from commit de9069a7768bd60bcdbcfb37d9b245f255ba8570)

Change-Id: I833c0be3177f7b7e5a59ddf6d9d6c06ee1e95ce6
diff --git a/src/compiler_llvm/jni_compiler.h b/src/compiler_llvm/jni_compiler.h
index 98129d1..a6ddce3 100644
--- a/src/compiler_llvm/jni_compiler.h
+++ b/src/compiler_llvm/jni_compiler.h
@@ -66,8 +66,7 @@
  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);
+  void StoreToObjectOffset(llvm::Value* object_addr, int32_t offset, llvm::Value* new_value);
 
   CompilationUnit* cunit_;
   Compiler const* compiler_;