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"
}
]