summaryrefslogtreecommitdiffstats
path: root/vm/Sync.c
diff options
context:
space:
mode:
Diffstat (limited to 'vm/Sync.c')
-rw-r--r--vm/Sync.c36
1 files changed, 1 insertions, 35 deletions
diff --git a/vm/Sync.c b/vm/Sync.c
index 1da6c4526..c00a630bc 100644
--- a/vm/Sync.c
+++ b/vm/Sync.c
@@ -1216,40 +1216,6 @@ u4 dvmIdentityHashCode(Object *obj)
return (u4)obj;
}
#else
-static size_t arrayElementWidth(const ArrayObject *array)
-{
- const char *descriptor;
-
- if (dvmIsObjectArray(array)) {
- return sizeof(Object *);
- } else {
- descriptor = array->obj.clazz->descriptor;
- switch (descriptor[1]) {
- case 'B': return 1; /* byte */
- case 'C': return 2; /* char */
- case 'D': return 8; /* double */
- case 'F': return 4; /* float */
- case 'I': return 4; /* int */
- case 'J': return 8; /* long */
- case 'S': return 2; /* short */
- case 'Z': return 1; /* boolean */
- }
- }
- LOGE("object %p has an unhandled descriptor '%s'", array, descriptor);
- dvmDumpThread(dvmThreadSelf(), false);
- dvmAbort();
- return 0; /* Quiet the compiler. */
-}
-
-static size_t arrayObjectLength(const ArrayObject *array)
-{
- size_t length;
-
- length = offsetof(ArrayObject, contents);
- length += array->length * arrayElementWidth(array);
- return length;
-}
-
/*
* Returns the identity hash code of the given object.
*/
@@ -1283,7 +1249,7 @@ retry:
* aligned word following the instance data.
*/
if (IS_CLASS_FLAG_SET(obj->clazz, CLASS_ISARRAY)) {
- length = arrayObjectLength((ArrayObject *)obj);
+ length = dvmArrayObjectLength((ArrayObject *)obj);
length = (length + 3) & ~3;
} else {
length = obj->clazz->objectSize;