Fix portable build following object.h refactor.

Change-Id: I26da618d7ad34a0a0fcaf24b52a57ce02c62382f
diff --git a/src/compiler_llvm/gbc_expander.cc b/src/compiler_llvm/gbc_expander.cc
index 0348874..cc3c3f9 100644
--- a/src/compiler_llvm/gbc_expander.cc
+++ b/src/compiler_llvm/gbc_expander.cc
@@ -19,7 +19,8 @@
 
 #include "compiler.h"
 #include "greenland/intrinsic_helper.h"
-#include "mirror/object.h"
+#include "mirror/abstract_method.h"
+#include "mirror/array.h"
 #include "oat_compilation_unit.h"
 #include "thread.h"
 #include "verifier/method_verifier.h"
@@ -650,7 +651,7 @@
 llvm::Value*
 GBCExpanderPass::EmitLoadDexCacheStaticStorageFieldAddr(uint32_t type_idx) {
   llvm::Value* static_storage_dex_cache_addr =
-    EmitLoadDexCacheAddr(art::AbstractMethod::DexCacheInitializedStaticStorageOffset());
+    EmitLoadDexCacheAddr(art::mirror::AbstractMethod::DexCacheInitializedStaticStorageOffset());
 
   llvm::Value* type_idx_value = irb_.getPtrEquivInt(type_idx);
 
@@ -660,7 +661,7 @@
 llvm::Value*
 GBCExpanderPass::EmitLoadDexCacheResolvedTypeFieldAddr(uint32_t type_idx) {
   llvm::Value* resolved_type_dex_cache_addr =
-    EmitLoadDexCacheAddr(art::AbstractMethod::DexCacheResolvedTypesOffset());
+    EmitLoadDexCacheAddr(art::mirror::AbstractMethod::DexCacheResolvedTypesOffset());
 
   llvm::Value* type_idx_value = irb_.getPtrEquivInt(type_idx);
 
@@ -670,7 +671,7 @@
 llvm::Value* GBCExpanderPass::
 EmitLoadDexCacheResolvedMethodFieldAddr(uint32_t method_idx) {
   llvm::Value* resolved_method_dex_cache_addr =
-    EmitLoadDexCacheAddr(art::AbstractMethod::DexCacheResolvedMethodsOffset());
+    EmitLoadDexCacheAddr(art::mirror::AbstractMethod::DexCacheResolvedMethodsOffset());
 
   llvm::Value* method_idx_value = irb_.getPtrEquivInt(method_idx);
 
@@ -680,7 +681,7 @@
 llvm::Value* GBCExpanderPass::
 EmitLoadDexCacheStringFieldAddr(uint32_t string_idx) {
   llvm::Value* string_dex_cache_addr =
-    EmitLoadDexCacheAddr(art::AbstractMethod::DexCacheStringsOffset());
+    EmitLoadDexCacheAddr(art::mirror::AbstractMethod::DexCacheStringsOffset());
 
   llvm::Value* string_idx_value = irb_.getPtrEquivInt(string_idx);
 
@@ -695,7 +696,7 @@
 llvm::Value* GBCExpanderPass::EmitLoadArrayLength(llvm::Value* array) {
   // Load array length
   return irb_.LoadFromObjectOffset(array,
-                                   art::Array::LengthOffset().Int32Value(),
+                                   art::mirror::Array::LengthOffset().Int32Value(),
                                    irb_.getJIntTy(),
                                    kTBAAConstJObject);
 
@@ -714,14 +715,14 @@
   // Load class object of *this* pointer
   llvm::Value* class_object_addr =
     irb_.LoadFromObjectOffset(this_addr,
-                              art::Object::ClassOffset().Int32Value(),
+                              art::mirror::Object::ClassOffset().Int32Value(),
                               irb_.getJObjectTy(),
                               kTBAAConstJObject);
 
   // Load vtable address
   llvm::Value* vtable_addr =
     irb_.LoadFromObjectOffset(class_object_addr,
-                              art::Class::VTableOffset().Int32Value(),
+                              art::mirror::Class::VTableOffset().Int32Value(),
                               irb_.getJObjectTy(),
                               kTBAAConstJObject);
 
@@ -742,10 +743,10 @@
 
   int data_offset;
   if (elem_jty == kLong || elem_jty == kDouble ||
-      (elem_jty == kObject && sizeof(uint64_t) == sizeof(art::Object*))) {
-    data_offset = art::Array::DataOffset(sizeof(int64_t)).Int32Value();
+      (elem_jty == kObject && sizeof(uint64_t) == sizeof(art::mirror::Object*))) {
+    data_offset = art::mirror::Array::DataOffset(sizeof(int64_t)).Int32Value();
   } else {
-    data_offset = art::Array::DataOffset(sizeof(int32_t)).Int32Value();
+    data_offset = art::mirror::Array::DataOffset(sizeof(int32_t)).Int32Value();
   }
 
   llvm::Constant* data_offset_value =
@@ -872,7 +873,7 @@
   }
 
   llvm::Value* data_field_offset =
-    irb_.getPtrEquivInt(art::Array::DataOffset(alignment).Int32Value());
+    irb_.getPtrEquivInt(art::mirror::Array::DataOffset(alignment).Int32Value());
 
   llvm::Value* data_field_addr =
     irb_.CreatePtrDisp(array, data_field_offset, field_type);
@@ -983,7 +984,7 @@
 llvm::Value*
 GBCExpanderPass::Expand_LoadDeclaringClassSSB(llvm::Value* method_object_addr) {
   return irb_.LoadFromObjectOffset(method_object_addr,
-                                   art::AbstractMethod::DeclaringClassOffset().Int32Value(),
+                                   art::mirror::AbstractMethod::DeclaringClassOffset().Int32Value(),
                                    irb_.getJObjectTy(),
                                    kTBAAConstJObject);
 }
@@ -1035,7 +1036,7 @@
 
   llvm::Value* code_addr =
     irb_.LoadFromObjectOffset(callee_method_object_addr,
-                              art::AbstractMethod::GetCodeOffset().Int32Value(),
+                              art::mirror::AbstractMethod::GetCodeOffset().Int32Value(),
                               callee_method_type->getPointerTo(),
                               kTBAARuntimeInfo);
 
@@ -1691,7 +1692,7 @@
 
       static_storage_addr =
         irb_.LoadFromObjectOffset(method_object_addr,
-                                  art::AbstractMethod::DeclaringClassOffset().Int32Value(),
+                                  art::mirror::AbstractMethod::DeclaringClassOffset().Int32Value(),
                                   irb_.getJObjectTy(),
                                   kTBAAConstJObject);
     } else {
@@ -1772,7 +1773,7 @@
 
       static_storage_addr =
         irb_.LoadFromObjectOffset(method_object_addr,
-                                  art::AbstractMethod::DeclaringClassOffset().Int32Value(),
+                                  art::mirror::AbstractMethod::DeclaringClassOffset().Int32Value(),
                                   irb_.getJObjectTy(),
                                   kTBAAConstJObject);
     } else {
@@ -1928,7 +1929,7 @@
   // Test: Is the object instantiated from the given class?
   irb_.SetInsertPoint(block_test_class);
   llvm::Value* type_object_addr = EmitLoadConstantClass(dex_pc, type_idx);
-  DCHECK_EQ(art::Object::ClassOffset().Int32Value(), 0);
+  DCHECK_EQ(art::mirror::Object::ClassOffset().Int32Value(), 0);
 
   llvm::PointerType* jobject_ptr_ty = irb_.getJObjectTy();
 
@@ -1997,7 +1998,7 @@
   // Test: Is the object instantiated from the given class?
   irb_.SetInsertPoint(block_test_class);
   llvm::Value* type_object_addr = EmitLoadConstantClass(dex_pc, type_idx);
-  DCHECK_EQ(art::Object::ClassOffset().Int32Value(), 0);
+  DCHECK_EQ(art::mirror::Object::ClassOffset().Int32Value(), 0);
 
   llvm::PointerType* jobject_ptr_ty = irb_.getJObjectTy();
 
@@ -2151,7 +2152,7 @@
   } else {
     code_addr =
       irb_.LoadFromObjectOffset(callee_method_object_addr,
-                                art::AbstractMethod::GetCodeOffset().Int32Value(),
+                                art::mirror::AbstractMethod::GetCodeOffset().Int32Value(),
                                 GetFunctionType(callee_method_idx, is_static)->getPointerTo(),
                                 kTBAARuntimeInfo);
   }
@@ -2222,7 +2223,7 @@
     }
 
     llvm::Value* data_field_offset =
-      irb_.getPtrEquivInt(art::Array::DataOffset(alignment).Int32Value());
+      irb_.getPtrEquivInt(art::mirror::Array::DataOffset(alignment).Int32Value());
 
     llvm::Value* data_field_addr =
       irb_.CreatePtrDisp(object_addr, data_field_offset, field_type);
diff --git a/src/compiler_llvm/jni_compiler.cc b/src/compiler_llvm/jni_compiler.cc
index e81afed..337d6e7 100644
--- a/src/compiler_llvm/jni_compiler.cc
+++ b/src/compiler_llvm/jni_compiler.cc
@@ -23,7 +23,7 @@
 #include "compiler.h"
 #include "compiler_llvm.h"
 #include "ir_builder.h"
-#include "mirror/object.h"
+#include "mirror/abstract_method.h"
 #include "oat_compilation_unit.h"
 #include "runtime.h"
 #include "runtime_support_func.h"
@@ -80,7 +80,7 @@
     // Load class object
     this_object_or_class_object =
         irb_.LoadFromObjectOffset(method_object_addr,
-                                  AbstractMethod::DeclaringClassOffset().Int32Value(),
+                                  mirror::AbstractMethod::DeclaringClassOffset().Int32Value(),
                                   irb_.getJObjectTy(),
                                   kTBAAConstJObject);
   }
@@ -124,7 +124,7 @@
   // Get callee code_addr
   llvm::Value* code_addr =
       irb_.LoadFromObjectOffset(method_object_addr,
-                                AbstractMethod::NativeMethodOffset().Int32Value(),
+                                mirror::AbstractMethod::NativeMethodOffset().Int32Value(),
                                 GetFunctionType(method_idx_, is_static, true)->getPointerTo(),
                                 kTBAARuntimeInfo);
 
diff --git a/src/compiler_llvm/method_compiler.cc b/src/compiler_llvm/method_compiler.cc
index bc3fb92..76b1299 100644
--- a/src/compiler_llvm/method_compiler.cc
+++ b/src/compiler_llvm/method_compiler.cc
@@ -1548,7 +1548,7 @@
   // Test: Is the object instantiated from the given class?
   irb_.SetInsertPoint(block_test_class);
   llvm::Value* type_object_addr = EmitLoadConstantClass(dex_pc, dec_insn.vB);
-  DCHECK_EQ(Object::ClassOffset().Int32Value(), 0);
+  DCHECK_EQ(mirror::Object::ClassOffset().Int32Value(), 0);
 
   llvm::PointerType* jobject_ptr_ty = irb_.getJObjectTy();
 
@@ -1617,7 +1617,7 @@
   // Test: Is the object instantiated from the given class?
   irb_.SetInsertPoint(block_test_class);
   llvm::Value* type_object_addr = EmitLoadConstantClass(dex_pc, dec_insn.vC);
-  DCHECK_EQ(Object::ClassOffset().Int32Value(), 0);
+  DCHECK_EQ(mirror::Object::ClassOffset().Int32Value(), 0);
 
   llvm::PointerType* jobject_ptr_ty = irb_.getJObjectTy();
 
@@ -1652,7 +1652,7 @@
 llvm::Value* MethodCompiler::EmitLoadArrayLength(llvm::Value* array) {
   // Load array length
   return irb_.LoadFromObjectOffset(array,
-                                   Array::LengthOffset().Int32Value(),
+                                   mirror::Array::LengthOffset().Int32Value(),
                                    irb_.getJIntTy(),
                                    kTBAAConstJObject);
 }
@@ -1799,7 +1799,7 @@
     }
 
     llvm::Value* data_field_offset =
-      irb_.getPtrEquivInt(Array::DataOffset(alignment).Int32Value());
+      irb_.getPtrEquivInt(mirror::Array::DataOffset(alignment).Int32Value());
 
     llvm::Value* data_field_addr =
       irb_.CreatePtrDisp(object_addr, data_field_offset, field_type);
@@ -2208,10 +2208,10 @@
 
   int data_offset;
   if (elem_jty == kLong || elem_jty == kDouble ||
-      (elem_jty == kObject && sizeof(uint64_t) == sizeof(Object*))) {
-    data_offset = Array::DataOffset(sizeof(int64_t)).Int32Value();
+      (elem_jty == kObject && sizeof(uint64_t) == sizeof(mirror::Object*))) {
+    data_offset = mirror::Array::DataOffset(sizeof(int64_t)).Int32Value();
   } else {
-    data_offset = Array::DataOffset(sizeof(int32_t)).Int32Value();
+    data_offset = mirror::Array::DataOffset(sizeof(int32_t)).Int32Value();
   }
 
   llvm::Constant* data_offset_value =
@@ -2521,7 +2521,7 @@
 
       static_storage_addr =
         irb_.LoadFromObjectOffset(method_object_addr,
-                                  AbstractMethod::DeclaringClassOffset().Int32Value(),
+                                  mirror::AbstractMethod::DeclaringClassOffset().Int32Value(),
                                   irb_.getJObjectTy(),
                                   kTBAAConstJObject);
     } else {
@@ -2600,7 +2600,7 @@
 
       static_storage_addr =
         irb_.LoadFromObjectOffset(method_object_addr,
-                                  AbstractMethod::DeclaringClassOffset().Int32Value(),
+                                  mirror::AbstractMethod::DeclaringClassOffset().Int32Value(),
                                   irb_.getJObjectTy(),
                                   kTBAAConstJObject);
     } else {
@@ -2789,7 +2789,7 @@
   } else {
     code_addr =
       irb_.LoadFromObjectOffset(callee_method_object_addr,
-                                AbstractMethod::GetCodeOffset().Int32Value(),
+                                mirror::AbstractMethod::GetCodeOffset().Int32Value(),
                                 GetFunctionType(callee_method_idx, is_static)->getPointerTo(),
                                 kTBAARuntimeInfo);
   }
@@ -2827,14 +2827,14 @@
   // Load class object of *this* pointer
   llvm::Value* class_object_addr =
     irb_.LoadFromObjectOffset(this_addr,
-                              Object::ClassOffset().Int32Value(),
+                              mirror::Object::ClassOffset().Int32Value(),
                               irb_.getJObjectTy(),
                               kTBAAConstJObject);
 
   // Load vtable address
   llvm::Value* vtable_addr =
     irb_.LoadFromObjectOffset(class_object_addr,
-                              Class::VTableOffset().Int32Value(),
+                              mirror::Class::VTableOffset().Int32Value(),
                               irb_.getJObjectTy(),
                               kTBAAConstJObject);
 
@@ -3453,7 +3453,7 @@
 llvm::Value* MethodCompiler::
 EmitLoadDexCacheStaticStorageFieldAddr(uint32_t type_idx) {
   llvm::Value* static_storage_dex_cache_addr =
-    EmitLoadDexCacheAddr(AbstractMethod::DexCacheInitializedStaticStorageOffset());
+    EmitLoadDexCacheAddr(mirror::AbstractMethod::DexCacheInitializedStaticStorageOffset());
 
   llvm::Value* type_idx_value = irb_.getPtrEquivInt(type_idx);
 
@@ -3464,7 +3464,7 @@
 llvm::Value* MethodCompiler::
 EmitLoadDexCacheResolvedTypeFieldAddr(uint32_t type_idx) {
   llvm::Value* resolved_type_dex_cache_addr =
-    EmitLoadDexCacheAddr(AbstractMethod::DexCacheResolvedTypesOffset());
+    EmitLoadDexCacheAddr(mirror::AbstractMethod::DexCacheResolvedTypesOffset());
 
   llvm::Value* type_idx_value = irb_.getPtrEquivInt(type_idx);
 
@@ -3475,7 +3475,7 @@
 llvm::Value* MethodCompiler::
 EmitLoadDexCacheResolvedMethodFieldAddr(uint32_t method_idx) {
   llvm::Value* resolved_method_dex_cache_addr =
-    EmitLoadDexCacheAddr(AbstractMethod::DexCacheResolvedMethodsOffset());
+    EmitLoadDexCacheAddr(mirror::AbstractMethod::DexCacheResolvedMethodsOffset());
 
   llvm::Value* method_idx_value = irb_.getPtrEquivInt(method_idx);
 
@@ -3486,7 +3486,7 @@
 llvm::Value* MethodCompiler::
 EmitLoadDexCacheStringFieldAddr(uint32_t string_idx) {
   llvm::Value* string_dex_cache_addr =
-    EmitLoadDexCacheAddr(AbstractMethod::DexCacheStringsOffset());
+    EmitLoadDexCacheAddr(mirror::AbstractMethod::DexCacheStringsOffset());
 
   llvm::Value* string_idx_value = irb_.getPtrEquivInt(string_idx);
 
@@ -3942,7 +3942,7 @@
   llvm::BasicBlock* block_cont = llvm::BasicBlock::Create(*context_, "CharAtCont", func_);
 
   llvm::Value* string_count = irb_.LoadFromObjectOffset(this_object,
-                                                        String::CountOffset().Int32Value(),
+                                                        mirror::String::CountOffset().Int32Value(),
                                                         irb_.getJIntTy(),
                                                         kTBAAConstJObject);
   // Two's complement, so we can use only one "less than" to check "in bounds"
@@ -3951,11 +3951,11 @@
 
   irb_.SetInsertPoint(block_cont);
   llvm::Value* string_offset = irb_.LoadFromObjectOffset(this_object,
-                                                         String::OffsetOffset().Int32Value(),
+                                                         mirror::String::OffsetOffset().Int32Value(),
                                                          irb_.getJIntTy(),
                                                          kTBAAConstJObject);
   llvm::Value* string_value = irb_.LoadFromObjectOffset(this_object,
-                                                        String::ValueOffset().Int32Value(),
+                                                        mirror::String::ValueOffset().Int32Value(),
                                                         irb_.getJObjectTy(),
                                                         kTBAAConstJObject);
 
@@ -3979,7 +3979,7 @@
       "int java.lang.String.length() has 2 args: method, this";
   llvm::Value* this_object = args[1];
   llvm::Value* string_count = irb_.LoadFromObjectOffset(this_object,
-                                                        String::CountOffset().Int32Value(),
+                                                        mirror::String::CountOffset().Int32Value(),
                                                         irb_.getJIntTy(),
                                                         kTBAAConstJObject);
   EmitStoreDalvikRetValReg(kInt, kAccurate, string_count);
diff --git a/src/compiler_llvm/runtime_support_builder_thumb2.cc b/src/compiler_llvm/runtime_support_builder_thumb2.cc
index c18ae83..4113c1b 100644
--- a/src/compiler_llvm/runtime_support_builder_thumb2.cc
+++ b/src/compiler_llvm/runtime_support_builder_thumb2.cc
@@ -46,7 +46,7 @@
   // $2: temp
   // $3: temp
   std::string asms;
-  StringAppendF(&asms, "add $3, $1, #%"PRId32"\n", Object::MonitorOffset().Int32Value());
+  StringAppendF(&asms, "add $3, $1, #%"PRId32"\n", mirror::Object::MonitorOffset().Int32Value());
   StringAppendF(&asms, "ldr $2, [r9, #%"PRId32"]\n", Thread::ThinLockIdOffset().Int32Value());
   StringAppendF(&asms, "ldrex $0, [$3]\n");
   StringAppendF(&asms, "lsl $2, $2, %d\n", LW_LOCK_OWNER_SHIFT);
diff --git a/src/compiler_llvm/runtime_support_llvm.cc b/src/compiler_llvm/runtime_support_llvm.cc
index 8de90ff..f32bcde 100644
--- a/src/compiler_llvm/runtime_support_llvm.cc
+++ b/src/compiler_llvm/runtime_support_llvm.cc
@@ -19,10 +19,16 @@
 #include "ScopedLocalRef.h"
 #include "asm_support.h"
 #include "class_linker.h"
+#include "class_linker-inl.h"
 #include "compiler_runtime_func_list.h"
 #include "dex_file.h"
 #include "dex_instruction.h"
+#include "mirror/abstract_method-inl.h"
+#include "mirror/class-inl.h"
+#include "mirror/field-inl.h"
 #include "mirror/object.h"
+#include "mirror/object-inl.h"
+#include "mirror/object_array-inl.h"
 #include "nth_caller_visitor.h"
 #include "object_utils.h"
 #include "reflection.h"
diff --git a/src/compiler_llvm/runtime_support_llvm.h b/src/compiler_llvm/runtime_support_llvm.h
index 6a0b339..bb0473b 100644
--- a/src/compiler_llvm/runtime_support_llvm.h
+++ b/src/compiler_llvm/runtime_support_llvm.h
@@ -17,16 +17,23 @@
 #ifndef ART_SRC_COMPILER_LLVM_RUNTIME_SUPPORT_LLVM_H_
 #define ART_SRC_COMPILER_LLVM_RUNTIME_SUPPORT_LLVM_H_
 
-#include "mirror/object.h"
+#include <stdint.h>
 
 namespace art {
+namespace mirror {
+class AbstractMethod;
+class Object;
+}  // namespace mirror
+
+class ShadowFrame;
+class Thread;
 
 //----------------------------------------------------------------------------
 // Thread
 //----------------------------------------------------------------------------
 
 ShadowFrame* art_push_shadow_frame_from_code(Thread* thread, ShadowFrame* new_shadow_frame,
-                                             AbstractMethod* method, uint32_t num_vregs);
+                                             mirror::AbstractMethod* method, uint32_t num_vregs);
 
 void art_pop_shadow_frame_from_code(void*);
 
@@ -47,9 +54,9 @@
 
 void art_throw_stack_overflow_from_code();
 
-void art_throw_exception_from_code(Object* exception);
+void art_throw_exception_from_code(mirror::Object* exception);
 
-int32_t art_find_catch_block_from_code(AbstractMethod* current_method,
+int32_t art_find_catch_block_from_code(mirror::AbstractMethod* current_method,
                                        uint32_t ti_offset);
 
 
diff --git a/src/compiler_llvm/stub_compiler.cc b/src/compiler_llvm/stub_compiler.cc
index 3a28b87..6b2a479 100644
--- a/src/compiler_llvm/stub_compiler.cc
+++ b/src/compiler_llvm/stub_compiler.cc
@@ -22,7 +22,7 @@
 #include "compiler.h"
 #include "compiler_llvm.h"
 #include "ir_builder.h"
-#include "mirror/object.h"
+#include "mirror/abstract_method.h"
 #include "runtime_support_func.h"
 #include "utils_llvm.h"
 
@@ -142,7 +142,7 @@
 
   // Invoke managed method now!
   llvm::Value* code_field_offset_value =
-    irb_.getPtrEquivInt(AbstractMethod::GetCodeOffset().Int32Value());
+    irb_.getPtrEquivInt(mirror::AbstractMethod::GetCodeOffset().Int32Value());
 
   llvm::Value* code_field_addr =
     irb_.CreatePtrDisp(method_object_addr, code_field_offset_value,