Follow up from Carl's comments on new primitive array types.

Change-Id: I0c53d5c327070034562051f3f18582a9d108075c
diff --git a/src/class_linker_test.cc b/src/class_linker_test.cc
index 5e48921..a8e1df1 100644
--- a/src/class_linker_test.cc
+++ b/src/class_linker_test.cc
@@ -358,6 +358,24 @@
   EXPECT_TRUE(dex_base_class_loader->GetInstanceField(1)->GetName()->Equals("pathList"));
 }
 
+// The first reference array element must be a multiple of 8 bytes from the
+// start of the object
+TEST_F(ClassLinkerTest, ValidateObjectArrayElementsOffset) {
+  Class* array_class = class_linker_->FindSystemClass("[Ljava/lang/String;");
+  ObjectArray<String>* array = ObjectArray<String>::Alloc(array_class, 0);
+  uint32_t array_offset = reinterpret_cast<uint32_t>(array);
+  uint32_t data_offset = reinterpret_cast<uint32_t>(array->GetData());
+  EXPECT_EQ(16U, data_offset - array_offset);
+}
+
+TEST_F(ClassLinkerTest, ValidatePrimitiveArrayElementsOffset) {
+  Class* array_class = class_linker_->FindSystemClass("[J");
+  LongArray* array = LongArray::Alloc(array_class, 0);
+  uint32_t array_offset = reinterpret_cast<uint32_t>(array);
+  uint32_t data_offset = reinterpret_cast<uint32_t>(array->GetData());
+  EXPECT_EQ(16U, data_offset - array_offset);
+}
+
 TEST_F(ClassLinkerTest, TwoClassLoadersOneClass) {
   scoped_ptr<DexFile> dex_1(OpenDexFileBase64(kMyClassDex));
   scoped_ptr<DexFile> dex_2(OpenDexFileBase64(kMyClassDex));
@@ -370,4 +388,4 @@
   EXPECT_NE(MyClass_1, MyClass_2);
 }
 
-}// namespace art
+}  // namespace art