< prev index next >

test/hotspot/gtest/oops/test_arrayOop.cpp

Print this page
@@ -80,11 +80,27 @@
  }
  // T_VOID and T_ADDRESS are not supported by max_array_length()
  
  TEST_VM(arrayOopDesc, base_offset) {
  #ifdef _LP64
-   if (UseCompressedClassPointers) {
+   if (UseCompactObjectHeaders) {
+     EXPECT_EQ(arrayOopDesc::base_offset_in_bytes(T_BOOLEAN), 12);
+     EXPECT_EQ(arrayOopDesc::base_offset_in_bytes(T_BYTE),    12);
+     EXPECT_EQ(arrayOopDesc::base_offset_in_bytes(T_SHORT),   12);
+     EXPECT_EQ(arrayOopDesc::base_offset_in_bytes(T_CHAR),    12);
+     EXPECT_EQ(arrayOopDesc::base_offset_in_bytes(T_INT),     12);
+     EXPECT_EQ(arrayOopDesc::base_offset_in_bytes(T_FLOAT),   12);
+     EXPECT_EQ(arrayOopDesc::base_offset_in_bytes(T_LONG),    16);
+     EXPECT_EQ(arrayOopDesc::base_offset_in_bytes(T_DOUBLE),  16);
+     if (UseCompressedOops) {
+       EXPECT_EQ(arrayOopDesc::base_offset_in_bytes(T_OBJECT), 12);
+       EXPECT_EQ(arrayOopDesc::base_offset_in_bytes(T_ARRAY),  12);
+     } else {
+       EXPECT_EQ(arrayOopDesc::base_offset_in_bytes(T_OBJECT), 16);
+       EXPECT_EQ(arrayOopDesc::base_offset_in_bytes(T_ARRAY),  16);
+     }
+   } else if (UseCompressedClassPointers) {
      EXPECT_EQ(arrayOopDesc::base_offset_in_bytes(T_BOOLEAN), 16);
      EXPECT_EQ(arrayOopDesc::base_offset_in_bytes(T_BYTE),    16);
      EXPECT_EQ(arrayOopDesc::base_offset_in_bytes(T_SHORT),   16);
      EXPECT_EQ(arrayOopDesc::base_offset_in_bytes(T_CHAR),    16);
      EXPECT_EQ(arrayOopDesc::base_offset_in_bytes(T_INT),     16);
< prev index next >