Refinements to array and class object size computation.
* Rename dvmArrayObjectLength to dvmArrayObjectSize. In the context
of arrays length may refer to the length of the array data and not
the size of the array object instance.
* Add a new method dvmClassObjectSize which computes the total size of
a class object including its static fields.
Change-Id: I693ec8e66dfa5df35c9f35474c80411ea917c899
diff --git a/vm/oo/Class.c b/vm/oo/Class.c
index bbb8a35..b7211ec 100644
--- a/vm/oo/Class.c
+++ b/vm/oo/Class.c
@@ -4952,3 +4952,13 @@
return dvmCompareDescriptorAndMethodProto(descriptor, method);
}
+
+size_t dvmClassObjectSize(const ClassObject *clazz)
+{
+ size_t size;
+
+ assert(clazz != NULL);
+ size = offsetof(ClassObject, sfields);
+ size += sizeof(StaticField) * clazz->sfieldCount;
+ return size;
+}