summaryrefslogtreecommitdiffstats
path: root/vm/alloc/MarkSweep.cpp
diff options
context:
space:
mode:
authorCarl Shapiro <cshapiro@google.com>2011-05-06 17:02:43 -0700
committerCarl Shapiro <cshapiro@google.com>2011-05-06 17:02:43 -0700
commita7323974309c3b81cfe342db635d0bf30f36ff62 (patch)
treef311a4f332cd32c7f937696fb2d4a9aa5c9240db /vm/alloc/MarkSweep.cpp
parentdc2a1881fe75a8dd961fb24509621c7c97694c9a (diff)
downloadandroid_dalvik-a7323974309c3b81cfe342db635d0bf30f36ff62.tar.gz
android_dalvik-a7323974309c3b81cfe342db635d0bf30f36ff62.tar.bz2
android_dalvik-a7323974309c3b81cfe342db635d0bf30f36ff62.zip
Establish a subclass relationships among the field types.
Change-Id: Id349b359489bb6b1bbb4ab78d29d85c0e6b33799
Diffstat (limited to 'vm/alloc/MarkSweep.cpp')
-rw-r--r--vm/alloc/MarkSweep.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/vm/alloc/MarkSweep.cpp b/vm/alloc/MarkSweep.cpp
index 79588f2eb..710f2e661 100644
--- a/vm/alloc/MarkSweep.cpp
+++ b/vm/alloc/MarkSweep.cpp
@@ -392,7 +392,7 @@ static void scanFields(const Object *obj, GcMarkContext *ctx)
while (refOffsets != 0) {
size_t rshift = CLZ(refOffsets);
size_t offset = CLASS_OFFSET_FROM_CLZ(rshift);
- Object *ref = dvmGetFieldObject((Object*)obj, offset);
+ Object *ref = dvmGetFieldObject(obj, offset);
markObject(ref, ctx);
refOffsets &= ~(CLASS_HIGH_BIT >> rshift);
}
@@ -402,8 +402,8 @@ static void scanFields(const Object *obj, GcMarkContext *ctx)
clazz = clazz->super) {
InstField *field = clazz->ifields;
for (int i = 0; i < clazz->ifieldRefCount; ++i, ++field) {
- void *addr = BYTE_OFFSET((Object *)obj, field->byteOffset);
- Object *ref = (Object *)((JValue *)addr)->l;
+ void *addr = BYTE_OFFSET(obj, field->byteOffset);
+ Object *ref = ((JValue *)addr)->l;
markObject(ref, ctx);
}
}
@@ -418,9 +418,9 @@ static void scanStaticFields(const ClassObject *clazz, GcMarkContext *ctx)
assert(clazz != NULL);
assert(ctx != NULL);
for (int i = 0; i < clazz->sfieldCount; ++i) {
- char ch = clazz->sfields[i].field.signature[0];
+ char ch = clazz->sfields[i].signature[0];
if (ch == '[' || ch == 'L') {
- Object *obj = (Object *)clazz->sfields[i].value.l;
+ Object *obj = clazz->sfields[i].value.l;
markObject(obj, ctx);
}
}