Merge "mirror: Make Class::Status 64-bit field"
diff --git a/runtime/asm_support.h b/runtime/asm_support.h
index f4830e2..b1cc9ce 100644
--- a/runtime/asm_support.h
+++ b/runtime/asm_support.h
@@ -159,21 +159,21 @@
 #define MIRROR_CLASS_IF_TABLE_OFFSET (16 + MIRROR_OBJECT_HEADER_SIZE)
 ADD_TEST_EQ(MIRROR_CLASS_IF_TABLE_OFFSET,
             art::mirror::Class::IfTableOffset().Int32Value())
-#define MIRROR_CLASS_ACCESS_FLAGS_OFFSET (56 + MIRROR_OBJECT_HEADER_SIZE)
-ADD_TEST_EQ(MIRROR_CLASS_ACCESS_FLAGS_OFFSET,
-            art::mirror::Class::AccessFlagsOffset().Int32Value())
-#define MIRROR_CLASS_OBJECT_SIZE_OFFSET (88 + MIRROR_OBJECT_HEADER_SIZE)
-ADD_TEST_EQ(MIRROR_CLASS_OBJECT_SIZE_OFFSET,
-            art::mirror::Class::ObjectSizeOffset().Int32Value())
-#define MIRROR_CLASS_OBJECT_SIZE_ALLOC_FAST_PATH_OFFSET (92 + MIRROR_OBJECT_HEADER_SIZE)
-ADD_TEST_EQ(MIRROR_CLASS_OBJECT_SIZE_ALLOC_FAST_PATH_OFFSET,
-            art::mirror::Class::ObjectSizeAllocFastPathOffset().Int32Value())
-#define MIRROR_CLASS_OBJECT_PRIMITIVE_TYPE_OFFSET (96 + MIRROR_OBJECT_HEADER_SIZE)
-ADD_TEST_EQ(MIRROR_CLASS_OBJECT_PRIMITIVE_TYPE_OFFSET,
-            art::mirror::Class::PrimitiveTypeOffset().Int32Value())
-#define MIRROR_CLASS_STATUS_OFFSET (104 + MIRROR_OBJECT_HEADER_SIZE)
+#define MIRROR_CLASS_STATUS_OFFSET (56 + MIRROR_OBJECT_HEADER_SIZE)
 ADD_TEST_EQ(MIRROR_CLASS_STATUS_OFFSET,
             art::mirror::Class::StatusOffset().Int32Value())
+#define MIRROR_CLASS_ACCESS_FLAGS_OFFSET (64 + MIRROR_OBJECT_HEADER_SIZE)
+ADD_TEST_EQ(MIRROR_CLASS_ACCESS_FLAGS_OFFSET,
+            art::mirror::Class::AccessFlagsOffset().Int32Value())
+#define MIRROR_CLASS_OBJECT_SIZE_OFFSET (96 + MIRROR_OBJECT_HEADER_SIZE)
+ADD_TEST_EQ(MIRROR_CLASS_OBJECT_SIZE_OFFSET,
+            art::mirror::Class::ObjectSizeOffset().Int32Value())
+#define MIRROR_CLASS_OBJECT_SIZE_ALLOC_FAST_PATH_OFFSET (100 + MIRROR_OBJECT_HEADER_SIZE)
+ADD_TEST_EQ(MIRROR_CLASS_OBJECT_SIZE_ALLOC_FAST_PATH_OFFSET,
+            art::mirror::Class::ObjectSizeAllocFastPathOffset().Int32Value())
+#define MIRROR_CLASS_OBJECT_PRIMITIVE_TYPE_OFFSET (104 + MIRROR_OBJECT_HEADER_SIZE)
+ADD_TEST_EQ(MIRROR_CLASS_OBJECT_PRIMITIVE_TYPE_OFFSET,
+            art::mirror::Class::PrimitiveTypeOffset().Int32Value())
 
 #define PRIMITIVE_TYPE_SIZE_SHIFT_SHIFT 16
 ADD_TEST_EQ(PRIMITIVE_TYPE_SIZE_SHIFT_SHIFT,
diff --git a/runtime/mirror/class.h b/runtime/mirror/class.h
index 4c9b146..c752e33 100644
--- a/runtime/mirror/class.h
+++ b/runtime/mirror/class.h
@@ -1434,6 +1434,9 @@
   // Static fields length-prefixed array.
   uint64_t sfields_;
 
+  // State of class initialization.
+  uint64_t status_;
+
   // Access flags; low 16 bits are defined by VM spec.
   uint32_t access_flags_;
 
@@ -1477,9 +1480,6 @@
   // Bitmap of offsets of ifields.
   uint32_t reference_instance_offsets_;
 
-  // State of class initialization.
-  Status status_;
-
   // The offset of the first virtual method that is copied from an interface. This includes miranda,
   // default, and default-conflict methods. Having a hard limit of ((2 << 16) - 1) for methods
   // defined on a single class is well established in Java so we will use only uint16_t's here.
diff --git a/test/913-heaps/expected.txt b/test/913-heaps/expected.txt
index 6144881..2ec0f94 100644
--- a/test/913-heaps/expected.txt
+++ b/test/913-heaps/expected.txt
@@ -5,43 +5,43 @@
 root@root --(stack-local[id=1,tag=3000,depth=3,method=doFollowReferencesTest,vreg=1,location= 28])--> 3000@0 [size=136, length=-1]
 root@root --(stack-local[id=1,tag=3000,depth=5,method=run,vreg=2,location= 0])--> 3000@0 [size=136, length=-1]
 root@root --(thread)--> 3000@0 [size=136, length=-1]
-1001@0 --(superclass)--> 1000@0 [size=123, length=-1]
-1002@0 --(interface)--> 2001@0 [size=124, length=-1]
-1002@0 --(superclass)--> 1001@0 [size=123, length=-1]
-1@1000 --(class)--> 1000@0 [size=123, length=-1]
+1001@0 --(superclass)--> 1000@0 [size=176, length=-1]
+1002@0 --(interface)--> 2001@0 [size=128, length=-1]
+1002@0 --(superclass)--> 1001@0 [size=176, length=-1]
+1@1000 --(class)--> 1000@0 [size=176, length=-1]
 1@1000 --(field@2)--> 2@1000 [size=16, length=-1]
 1@1000 --(field@3)--> 3@1001 [size=24, length=-1]
-2001@0 --(interface)--> 2000@0 [size=124, length=-1]
-2@1000 --(class)--> 1000@0 [size=123, length=-1]
-3@1001 --(class)--> 1001@0 [size=123, length=-1]
+2001@0 --(interface)--> 2000@0 [size=128, length=-1]
+2@1000 --(class)--> 1000@0 [size=176, length=-1]
+3@1001 --(class)--> 1001@0 [size=176, length=-1]
 3@1001 --(field@4)--> 4@1000 [size=16, length=-1]
 3@1001 --(field@5)--> 5@1002 [size=36, length=-1]
-4@1000 --(class)--> 1000@0 [size=123, length=-1]
+4@1000 --(class)--> 1000@0 [size=176, length=-1]
 500@0 --(array-element@1)--> 2@1000 [size=16, length=-1]
-5@1002 --(class)--> 1002@0 [size=123, length=-1]
+5@1002 --(class)--> 1002@0 [size=176, length=-1]
 5@1002 --(field@10)--> 1@1000 [size=16, length=-1]
 5@1002 --(field@8)--> 500@0 [size=20, length=2]
 5@1002 --(field@9)--> 6@1000 [size=16, length=-1]
-6@1000 --(class)--> 1000@0 [size=123, length=-1]
+6@1000 --(class)--> 1000@0 [size=176, length=-1]
 ---
-1001@0 --(superclass)--> 1000@0 [size=123, length=-1]
-1002@0 --(interface)--> 2001@0 [size=124, length=-1]
-1002@0 --(superclass)--> 1001@0 [size=123, length=-1]
-1@1000 --(class)--> 1000@0 [size=123, length=-1]
+1001@0 --(superclass)--> 1000@0 [size=176, length=-1]
+1002@0 --(interface)--> 2001@0 [size=128, length=-1]
+1002@0 --(superclass)--> 1001@0 [size=176, length=-1]
+1@1000 --(class)--> 1000@0 [size=176, length=-1]
 1@1000 --(field@2)--> 2@1000 [size=16, length=-1]
 1@1000 --(field@3)--> 3@1001 [size=24, length=-1]
-2001@0 --(interface)--> 2000@0 [size=124, length=-1]
-2@1000 --(class)--> 1000@0 [size=123, length=-1]
-3@1001 --(class)--> 1001@0 [size=123, length=-1]
+2001@0 --(interface)--> 2000@0 [size=128, length=-1]
+2@1000 --(class)--> 1000@0 [size=176, length=-1]
+3@1001 --(class)--> 1001@0 [size=176, length=-1]
 3@1001 --(field@4)--> 4@1000 [size=16, length=-1]
 3@1001 --(field@5)--> 5@1002 [size=36, length=-1]
-4@1000 --(class)--> 1000@0 [size=123, length=-1]
+4@1000 --(class)--> 1000@0 [size=176, length=-1]
 500@0 --(array-element@1)--> 2@1000 [size=16, length=-1]
-5@1002 --(class)--> 1002@0 [size=123, length=-1]
+5@1002 --(class)--> 1002@0 [size=176, length=-1]
 5@1002 --(field@10)--> 1@1000 [size=16, length=-1]
 5@1002 --(field@8)--> 500@0 [size=20, length=2]
 5@1002 --(field@9)--> 6@1000 [size=16, length=-1]
-6@1000 --(class)--> 1000@0 [size=123, length=-1]
+6@1000 --(class)--> 1000@0 [size=176, length=-1]
 ---
 root@root --(jni-global)--> 1@1000 [size=16, length=-1]
 root@root --(jni-local[id=1,tag=3000,depth=0,method=followReferences])--> 1@1000 [size=16, length=-1]
@@ -52,51 +52,51 @@
 root@root --(stack-local[id=1,tag=3000,depth=5,method=run,vreg=2,location= 0])--> 3000@0 [size=136, length=-1]
 root@root --(thread)--> 1@1000 [size=16, length=-1]
 root@root --(thread)--> 3000@0 [size=136, length=-1]
-1001@0 --(superclass)--> 1000@0 [size=123, length=-1]
-1002@0 --(interface)--> 2001@0 [size=124, length=-1]
-1002@0 --(superclass)--> 1001@0 [size=123, length=-1]
-1@1000 --(class)--> 1000@0 [size=123, length=-1]
+1001@0 --(superclass)--> 1000@0 [size=176, length=-1]
+1002@0 --(interface)--> 2001@0 [size=128, length=-1]
+1002@0 --(superclass)--> 1001@0 [size=176, length=-1]
+1@1000 --(class)--> 1000@0 [size=176, length=-1]
 1@1000 --(field@2)--> 2@1000 [size=16, length=-1]
 1@1000 --(field@3)--> 3@1001 [size=24, length=-1]
-2001@0 --(interface)--> 2000@0 [size=124, length=-1]
-2@1000 --(class)--> 1000@0 [size=123, length=-1]
-3@1001 --(class)--> 1001@0 [size=123, length=-1]
+2001@0 --(interface)--> 2000@0 [size=128, length=-1]
+2@1000 --(class)--> 1000@0 [size=176, length=-1]
+3@1001 --(class)--> 1001@0 [size=176, length=-1]
 3@1001 --(field@4)--> 4@1000 [size=16, length=-1]
 3@1001 --(field@5)--> 5@1002 [size=36, length=-1]
-4@1000 --(class)--> 1000@0 [size=123, length=-1]
+4@1000 --(class)--> 1000@0 [size=176, length=-1]
 500@0 --(array-element@1)--> 2@1000 [size=16, length=-1]
-5@1002 --(class)--> 1002@0 [size=123, length=-1]
+5@1002 --(class)--> 1002@0 [size=176, length=-1]
 5@1002 --(field@10)--> 1@1000 [size=16, length=-1]
 5@1002 --(field@8)--> 500@0 [size=20, length=2]
 5@1002 --(field@9)--> 6@1000 [size=16, length=-1]
-6@1000 --(class)--> 1000@0 [size=123, length=-1]
+6@1000 --(class)--> 1000@0 [size=176, length=-1]
 ---
-1001@0 --(superclass)--> 1000@0 [size=123, length=-1]
-1002@0 --(interface)--> 2001@0 [size=124, length=-1]
-1002@0 --(superclass)--> 1001@0 [size=123, length=-1]
-1@1000 --(class)--> 1000@0 [size=123, length=-1]
+1001@0 --(superclass)--> 1000@0 [size=176, length=-1]
+1002@0 --(interface)--> 2001@0 [size=128, length=-1]
+1002@0 --(superclass)--> 1001@0 [size=176, length=-1]
+1@1000 --(class)--> 1000@0 [size=176, length=-1]
 1@1000 --(field@2)--> 2@1000 [size=16, length=-1]
 1@1000 --(field@3)--> 3@1001 [size=24, length=-1]
-2001@0 --(interface)--> 2000@0 [size=124, length=-1]
-2@1000 --(class)--> 1000@0 [size=123, length=-1]
-3@1001 --(class)--> 1001@0 [size=123, length=-1]
+2001@0 --(interface)--> 2000@0 [size=128, length=-1]
+2@1000 --(class)--> 1000@0 [size=176, length=-1]
+3@1001 --(class)--> 1001@0 [size=176, length=-1]
 3@1001 --(field@4)--> 4@1000 [size=16, length=-1]
 3@1001 --(field@5)--> 5@1002 [size=36, length=-1]
-4@1000 --(class)--> 1000@0 [size=123, length=-1]
+4@1000 --(class)--> 1000@0 [size=176, length=-1]
 500@0 --(array-element@1)--> 2@1000 [size=16, length=-1]
-5@1002 --(class)--> 1002@0 [size=123, length=-1]
+5@1002 --(class)--> 1002@0 [size=176, length=-1]
 5@1002 --(field@10)--> 1@1000 [size=16, length=-1]
 5@1002 --(field@8)--> 500@0 [size=20, length=2]
 5@1002 --(field@9)--> 6@1000 [size=16, length=-1]
-6@1000 --(class)--> 1000@0 [size=123, length=-1]
+6@1000 --(class)--> 1000@0 [size=176, length=-1]
 ---
 root@root --(thread)--> 3000@0 [size=136, length=-1]
 ---
-3@1001 --(class)--> 1001@0 [size=123, length=-1]
+3@1001 --(class)--> 1001@0 [size=176, length=-1]
 ---
 root@root --(thread)--> 3000@0 [size=136, length=-1]
 ---
-3@1001 --(class)--> 1001@0 [size=123, length=-1]
+3@1001 --(class)--> 1001@0 [size=176, length=-1]
 ---
 root@root --(jni-local[id=1,tag=3000,depth=0,method=followReferences])--> 3000@0 [size=136, length=-1]
 root@root --(stack-local[id=1,tag=3000,depth=2,method=doFollowReferencesTestNonRoot,vreg=13,location= 30])--> 1@1000 [size=16, length=-1]
@@ -104,8 +104,8 @@
 root@root --(stack-local[id=1,tag=3000,depth=5,method=run,vreg=2,location= 0])--> 3000@0 [size=136, length=-1]
 root@root --(thread)--> 3000@0 [size=136, length=-1]
 ---
-1001@0 --(superclass)--> 1000@0 [size=123, length=-1]
-3@1001 --(class)--> 1001@0 [size=123, length=-1]
+1001@0 --(superclass)--> 1000@0 [size=176, length=-1]
+3@1001 --(class)--> 1001@0 [size=176, length=-1]
 3@1001 --(field@4)--> 4@1000 [size=16, length=-1]
 3@1001 --(field@5)--> 5@1002 [size=36, length=-1]
 ---
@@ -119,8 +119,8 @@
 root@root --(thread)--> 1@1000 [size=16, length=-1]
 root@root --(thread)--> 3000@0 [size=136, length=-1]
 ---
-1001@0 --(superclass)--> 1000@0 [size=123, length=-1]
-3@1001 --(class)--> 1001@0 [size=123, length=-1]
+1001@0 --(superclass)--> 1000@0 [size=176, length=-1]
+3@1001 --(class)--> 1001@0 [size=176, length=-1]
 3@1001 --(field@4)--> 4@1000 [size=16, length=-1]
 3@1001 --(field@5)--> 5@1002 [size=36, length=-1]
 ---
@@ -202,43 +202,43 @@
 root@root --(stack-local[id=1,tag=3000,depth=3,method=doFollowReferencesTest,vreg=1,location= 28])--> 3000@0 [size=136, length=-1]
 root@root --(stack-local[id=1,tag=3000,depth=5,method=run,vreg=2,location= 0])--> 3000@0 [size=136, length=-1]
 root@root --(thread)--> 3000@0 [size=136, length=-1]
-1001@0 --(superclass)--> 1000@0 [size=123, length=-1]
-1002@0 --(interface)--> 2001@0 [size=124, length=-1]
-1002@0 --(superclass)--> 1001@0 [size=123, length=-1]
-1@1000 --(class)--> 1000@0 [size=123, length=-1]
+1001@0 --(superclass)--> 1000@0 [size=176, length=-1]
+1002@0 --(interface)--> 2001@0 [size=128, length=-1]
+1002@0 --(superclass)--> 1001@0 [size=176, length=-1]
+1@1000 --(class)--> 1000@0 [size=176, length=-1]
 1@1000 --(field@2)--> 2@1000 [size=16, length=-1]
 1@1000 --(field@3)--> 3@1001 [size=24, length=-1]
-2001@0 --(interface)--> 2000@0 [size=124, length=-1]
-2@1000 --(class)--> 1000@0 [size=123, length=-1]
-3@1001 --(class)--> 1001@0 [size=123, length=-1]
+2001@0 --(interface)--> 2000@0 [size=128, length=-1]
+2@1000 --(class)--> 1000@0 [size=176, length=-1]
+3@1001 --(class)--> 1001@0 [size=176, length=-1]
 3@1001 --(field@4)--> 4@1000 [size=16, length=-1]
 3@1001 --(field@5)--> 5@1002 [size=36, length=-1]
-4@1000 --(class)--> 1000@0 [size=123, length=-1]
+4@1000 --(class)--> 1000@0 [size=176, length=-1]
 500@0 --(array-element@1)--> 2@1000 [size=16, length=-1]
-5@1002 --(class)--> 1002@0 [size=123, length=-1]
+5@1002 --(class)--> 1002@0 [size=176, length=-1]
 5@1002 --(field@10)--> 1@1000 [size=16, length=-1]
 5@1002 --(field@8)--> 500@0 [size=20, length=2]
 5@1002 --(field@9)--> 6@1000 [size=16, length=-1]
-6@1000 --(class)--> 1000@0 [size=123, length=-1]
+6@1000 --(class)--> 1000@0 [size=176, length=-1]
 ---
-1001@0 --(superclass)--> 1000@0 [size=123, length=-1]
-1002@0 --(interface)--> 2001@0 [size=124, length=-1]
-1002@0 --(superclass)--> 1001@0 [size=123, length=-1]
-1@1000 --(class)--> 1000@0 [size=123, length=-1]
+1001@0 --(superclass)--> 1000@0 [size=176, length=-1]
+1002@0 --(interface)--> 2001@0 [size=128, length=-1]
+1002@0 --(superclass)--> 1001@0 [size=176, length=-1]
+1@1000 --(class)--> 1000@0 [size=176, length=-1]
 1@1000 --(field@2)--> 2@1000 [size=16, length=-1]
 1@1000 --(field@3)--> 3@1001 [size=24, length=-1]
-2001@0 --(interface)--> 2000@0 [size=124, length=-1]
-2@1000 --(class)--> 1000@0 [size=123, length=-1]
-3@1001 --(class)--> 1001@0 [size=123, length=-1]
+2001@0 --(interface)--> 2000@0 [size=128, length=-1]
+2@1000 --(class)--> 1000@0 [size=176, length=-1]
+3@1001 --(class)--> 1001@0 [size=176, length=-1]
 3@1001 --(field@4)--> 4@1000 [size=16, length=-1]
 3@1001 --(field@5)--> 5@1002 [size=36, length=-1]
-4@1000 --(class)--> 1000@0 [size=123, length=-1]
+4@1000 --(class)--> 1000@0 [size=176, length=-1]
 500@0 --(array-element@1)--> 2@1000 [size=16, length=-1]
-5@1002 --(class)--> 1002@0 [size=123, length=-1]
+5@1002 --(class)--> 1002@0 [size=176, length=-1]
 5@1002 --(field@10)--> 1@1000 [size=16, length=-1]
 5@1002 --(field@8)--> 500@0 [size=20, length=2]
 5@1002 --(field@9)--> 6@1000 [size=16, length=-1]
-6@1000 --(class)--> 1000@0 [size=123, length=-1]
+6@1000 --(class)--> 1000@0 [size=176, length=-1]
 ---
 root@root --(jni-global)--> 1@1000 [size=16, length=-1]
 root@root --(jni-local[id=1,tag=3000,depth=0,method=followReferences])--> 1@1000 [size=16, length=-1]
@@ -249,99 +249,99 @@
 root@root --(stack-local[id=1,tag=3000,depth=5,method=run,vreg=2,location= 0])--> 3000@0 [size=136, length=-1]
 root@root --(thread)--> 1@1000 [size=16, length=-1]
 root@root --(thread)--> 3000@0 [size=136, length=-1]
-1001@0 --(superclass)--> 1000@0 [size=123, length=-1]
-1002@0 --(interface)--> 2001@0 [size=124, length=-1]
-1002@0 --(superclass)--> 1001@0 [size=123, length=-1]
-1@1000 --(class)--> 1000@0 [size=123, length=-1]
+1001@0 --(superclass)--> 1000@0 [size=176, length=-1]
+1002@0 --(interface)--> 2001@0 [size=128, length=-1]
+1002@0 --(superclass)--> 1001@0 [size=176, length=-1]
+1@1000 --(class)--> 1000@0 [size=176, length=-1]
 1@1000 --(field@2)--> 2@1000 [size=16, length=-1]
 1@1000 --(field@3)--> 3@1001 [size=24, length=-1]
-2001@0 --(interface)--> 2000@0 [size=124, length=-1]
-2@1000 --(class)--> 1000@0 [size=123, length=-1]
-3@1001 --(class)--> 1001@0 [size=123, length=-1]
+2001@0 --(interface)--> 2000@0 [size=128, length=-1]
+2@1000 --(class)--> 1000@0 [size=176, length=-1]
+3@1001 --(class)--> 1001@0 [size=176, length=-1]
 3@1001 --(field@4)--> 4@1000 [size=16, length=-1]
 3@1001 --(field@5)--> 5@1002 [size=36, length=-1]
-4@1000 --(class)--> 1000@0 [size=123, length=-1]
+4@1000 --(class)--> 1000@0 [size=176, length=-1]
 500@0 --(array-element@1)--> 2@1000 [size=16, length=-1]
-5@1002 --(class)--> 1002@0 [size=123, length=-1]
+5@1002 --(class)--> 1002@0 [size=176, length=-1]
 5@1002 --(field@10)--> 1@1000 [size=16, length=-1]
 5@1002 --(field@8)--> 500@0 [size=20, length=2]
 5@1002 --(field@9)--> 6@1000 [size=16, length=-1]
-6@1000 --(class)--> 1000@0 [size=123, length=-1]
+6@1000 --(class)--> 1000@0 [size=176, length=-1]
 ---
-1001@0 --(superclass)--> 1000@0 [size=123, length=-1]
-1002@0 --(interface)--> 2001@0 [size=124, length=-1]
-1002@0 --(superclass)--> 1001@0 [size=123, length=-1]
-1@1000 --(class)--> 1000@0 [size=123, length=-1]
+1001@0 --(superclass)--> 1000@0 [size=176, length=-1]
+1002@0 --(interface)--> 2001@0 [size=128, length=-1]
+1002@0 --(superclass)--> 1001@0 [size=176, length=-1]
+1@1000 --(class)--> 1000@0 [size=176, length=-1]
 1@1000 --(field@2)--> 2@1000 [size=16, length=-1]
 1@1000 --(field@3)--> 3@1001 [size=24, length=-1]
-2001@0 --(interface)--> 2000@0 [size=124, length=-1]
-2@1000 --(class)--> 1000@0 [size=123, length=-1]
-3@1001 --(class)--> 1001@0 [size=123, length=-1]
+2001@0 --(interface)--> 2000@0 [size=128, length=-1]
+2@1000 --(class)--> 1000@0 [size=176, length=-1]
+3@1001 --(class)--> 1001@0 [size=176, length=-1]
 3@1001 --(field@4)--> 4@1000 [size=16, length=-1]
 3@1001 --(field@5)--> 5@1002 [size=36, length=-1]
-4@1000 --(class)--> 1000@0 [size=123, length=-1]
+4@1000 --(class)--> 1000@0 [size=176, length=-1]
 500@0 --(array-element@1)--> 2@1000 [size=16, length=-1]
-5@1002 --(class)--> 1002@0 [size=123, length=-1]
+5@1002 --(class)--> 1002@0 [size=176, length=-1]
 5@1002 --(field@10)--> 1@1000 [size=16, length=-1]
 5@1002 --(field@8)--> 500@0 [size=20, length=2]
 5@1002 --(field@9)--> 6@1000 [size=16, length=-1]
-6@1000 --(class)--> 1000@0 [size=123, length=-1]
+6@1000 --(class)--> 1000@0 [size=176, length=-1]
 ---
 ---- tagged classes
 root@root --(jni-local[id=1,tag=3000,depth=0,method=followReferences])--> 3000@0 [size=136, length=-1]
 root@root --(stack-local[id=1,tag=3000,depth=3,method=doFollowReferencesTest,vreg=1,location= 28])--> 3000@0 [size=136, length=-1]
 root@root --(stack-local[id=1,tag=3000,depth=5,method=run,vreg=2,location= 0])--> 3000@0 [size=136, length=-1]
 root@root --(thread)--> 3000@0 [size=136, length=-1]
-1001@0 --(superclass)--> 1000@0 [size=123, length=-1]
-1002@0 --(interface)--> 2001@0 [size=124, length=-1]
-1002@0 --(superclass)--> 1001@0 [size=123, length=-1]
-1@1000 --(class)--> 1000@0 [size=123, length=-1]
-2001@0 --(interface)--> 2000@0 [size=124, length=-1]
-2@1000 --(class)--> 1000@0 [size=123, length=-1]
-3@1001 --(class)--> 1001@0 [size=123, length=-1]
-4@1000 --(class)--> 1000@0 [size=123, length=-1]
-5@1002 --(class)--> 1002@0 [size=123, length=-1]
+1001@0 --(superclass)--> 1000@0 [size=176, length=-1]
+1002@0 --(interface)--> 2001@0 [size=128, length=-1]
+1002@0 --(superclass)--> 1001@0 [size=176, length=-1]
+1@1000 --(class)--> 1000@0 [size=176, length=-1]
+2001@0 --(interface)--> 2000@0 [size=128, length=-1]
+2@1000 --(class)--> 1000@0 [size=176, length=-1]
+3@1001 --(class)--> 1001@0 [size=176, length=-1]
+4@1000 --(class)--> 1000@0 [size=176, length=-1]
+5@1002 --(class)--> 1002@0 [size=176, length=-1]
 5@1002 --(field@8)--> 500@0 [size=20, length=2]
-6@1000 --(class)--> 1000@0 [size=123, length=-1]
+6@1000 --(class)--> 1000@0 [size=176, length=-1]
 ---
-1001@0 --(superclass)--> 1000@0 [size=123, length=-1]
-1002@0 --(interface)--> 2001@0 [size=124, length=-1]
-1002@0 --(superclass)--> 1001@0 [size=123, length=-1]
-1@1000 --(class)--> 1000@0 [size=123, length=-1]
-2001@0 --(interface)--> 2000@0 [size=124, length=-1]
-2@1000 --(class)--> 1000@0 [size=123, length=-1]
-3@1001 --(class)--> 1001@0 [size=123, length=-1]
-4@1000 --(class)--> 1000@0 [size=123, length=-1]
-5@1002 --(class)--> 1002@0 [size=123, length=-1]
+1001@0 --(superclass)--> 1000@0 [size=176, length=-1]
+1002@0 --(interface)--> 2001@0 [size=128, length=-1]
+1002@0 --(superclass)--> 1001@0 [size=176, length=-1]
+1@1000 --(class)--> 1000@0 [size=176, length=-1]
+2001@0 --(interface)--> 2000@0 [size=128, length=-1]
+2@1000 --(class)--> 1000@0 [size=176, length=-1]
+3@1001 --(class)--> 1001@0 [size=176, length=-1]
+4@1000 --(class)--> 1000@0 [size=176, length=-1]
+5@1002 --(class)--> 1002@0 [size=176, length=-1]
 5@1002 --(field@8)--> 500@0 [size=20, length=2]
-6@1000 --(class)--> 1000@0 [size=123, length=-1]
+6@1000 --(class)--> 1000@0 [size=176, length=-1]
 ---
 root@root --(jni-local[id=1,tag=3000,depth=0,method=followReferences])--> 3000@0 [size=136, length=-1]
 root@root --(stack-local[id=1,tag=3000,depth=5,method=run,vreg=2,location= 0])--> 3000@0 [size=136, length=-1]
 root@root --(thread)--> 3000@0 [size=136, length=-1]
-1001@0 --(superclass)--> 1000@0 [size=123, length=-1]
-1002@0 --(interface)--> 2001@0 [size=124, length=-1]
-1002@0 --(superclass)--> 1001@0 [size=123, length=-1]
-1@1000 --(class)--> 1000@0 [size=123, length=-1]
-2001@0 --(interface)--> 2000@0 [size=124, length=-1]
-2@1000 --(class)--> 1000@0 [size=123, length=-1]
-3@1001 --(class)--> 1001@0 [size=123, length=-1]
-4@1000 --(class)--> 1000@0 [size=123, length=-1]
-5@1002 --(class)--> 1002@0 [size=123, length=-1]
+1001@0 --(superclass)--> 1000@0 [size=176, length=-1]
+1002@0 --(interface)--> 2001@0 [size=128, length=-1]
+1002@0 --(superclass)--> 1001@0 [size=176, length=-1]
+1@1000 --(class)--> 1000@0 [size=176, length=-1]
+2001@0 --(interface)--> 2000@0 [size=128, length=-1]
+2@1000 --(class)--> 1000@0 [size=176, length=-1]
+3@1001 --(class)--> 1001@0 [size=176, length=-1]
+4@1000 --(class)--> 1000@0 [size=176, length=-1]
+5@1002 --(class)--> 1002@0 [size=176, length=-1]
 5@1002 --(field@8)--> 500@0 [size=20, length=2]
-6@1000 --(class)--> 1000@0 [size=123, length=-1]
+6@1000 --(class)--> 1000@0 [size=176, length=-1]
 ---
-1001@0 --(superclass)--> 1000@0 [size=123, length=-1]
-1002@0 --(interface)--> 2001@0 [size=124, length=-1]
-1002@0 --(superclass)--> 1001@0 [size=123, length=-1]
-1@1000 --(class)--> 1000@0 [size=123, length=-1]
-2001@0 --(interface)--> 2000@0 [size=124, length=-1]
-2@1000 --(class)--> 1000@0 [size=123, length=-1]
-3@1001 --(class)--> 1001@0 [size=123, length=-1]
-4@1000 --(class)--> 1000@0 [size=123, length=-1]
-5@1002 --(class)--> 1002@0 [size=123, length=-1]
+1001@0 --(superclass)--> 1000@0 [size=176, length=-1]
+1002@0 --(interface)--> 2001@0 [size=128, length=-1]
+1002@0 --(superclass)--> 1001@0 [size=176, length=-1]
+1@1000 --(class)--> 1000@0 [size=176, length=-1]
+2001@0 --(interface)--> 2000@0 [size=128, length=-1]
+2@1000 --(class)--> 1000@0 [size=176, length=-1]
+3@1001 --(class)--> 1001@0 [size=176, length=-1]
+4@1000 --(class)--> 1000@0 [size=176, length=-1]
+5@1002 --(class)--> 1002@0 [size=176, length=-1]
 5@1002 --(field@8)--> 500@0 [size=20, length=2]
-6@1000 --(class)--> 1000@0 [size=123, length=-1]
+6@1000 --(class)--> 1000@0 [size=176, length=-1]
 ---
 ---- untagged classes
 root@root --(stack-local[id=1,tag=3000,depth=2,method=doFollowReferencesTestNonRoot,vreg=13,location= 30])--> 1@1000 [size=16, length=-1]
diff --git a/test/knownfailures.json b/test/knownfailures.json
index 84758c9..2a8a879 100644
--- a/test/knownfailures.json
+++ b/test/knownfailures.json
@@ -736,5 +736,11 @@
         "tests": "664-aget-verifier",
         "description": ["Aget on potentially null array fails verification."],
         "bug": "b/64683522"
+    },
+    {
+        "tests": "913-heaps",
+        "description": ["Fails on 64-bit"],
+        "variant": "64",
+        "bug": "b/65459070"
     }
 ]