summaryrefslogtreecommitdiffstats
path: root/vm/alloc/MarkSweep.cpp
diff options
context:
space:
mode:
authorDan Bornstein <danfuzz@android.com>2011-04-11 17:08:20 -0700
committerDan Bornstein <danfuzz@android.com>2011-04-13 16:22:47 -0700
commitc6d2470eec726ae0ad95e4fd2d9d7da7cb2cdcba (patch)
treee6dda304a37363526788a42556cfe1c9148a0c49 /vm/alloc/MarkSweep.cpp
parent409aa22f2103aa84abb30dede3ba8a86908ee2f3 (diff)
downloadandroid_dalvik-c6d2470eec726ae0ad95e4fd2d9d7da7cb2cdcba.tar.gz
android_dalvik-c6d2470eec726ae0ad95e4fd2d9d7da7cb2cdcba.tar.bz2
android_dalvik-c6d2470eec726ae0ad95e4fd2d9d7da7cb2cdcba.zip
Add a class flag CLASS_ISCLASS.
This flag is only turned on for the unique class Class, and it is meant to make it possible to quickly test objects for "classiness" as well as trivially figure out if one is looking at the class Class itself. Bonus: Made a few places that directly set class->accessFlags use the prescribed macro for doing same. Change-Id: I89fce708c407b597f28ce610b778123f5dcaecf6
Diffstat (limited to 'vm/alloc/MarkSweep.cpp')
-rw-r--r--vm/alloc/MarkSweep.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/vm/alloc/MarkSweep.cpp b/vm/alloc/MarkSweep.cpp
index e75130cbf..0bb5f02d6 100644
--- a/vm/alloc/MarkSweep.cpp
+++ b/vm/alloc/MarkSweep.cpp
@@ -445,7 +445,7 @@ static void scanInterfaces(const ClassObject *clazz, GcMarkContext *ctx)
static void scanClassObject(const Object *obj, GcMarkContext *ctx)
{
assert(obj != NULL);
- assert(obj->clazz == gDvm.classJavaLangClass);
+ assert(dvmIsClassObject(obj));
assert(ctx != NULL);
markObject((const Object *)obj->clazz, ctx);
const ClassObject *asClass = (const ClassObject *)obj;
@@ -625,7 +625,7 @@ static void scanObject(const Object *obj, GcMarkContext *ctx)
assert(obj->clazz != NULL);
assert(ctx != NULL);
assert(isMarked(obj, ctx));
- if (obj->clazz == gDvm.classJavaLangClass) {
+ if (dvmIsClassObject(obj)) {
scanClassObject(obj, ctx);
} else if (IS_CLASS_FLAG_SET(obj->clazz, CLASS_ISARRAY)) {
scanArrayObject(obj, ctx);