OSDN Git Service

am af5aa1f4: Don\'t treat dvmJitToPatchPredictedChain as a Jit-to-Interp entry point.
[android-x86/dalvik.git] / vm / alloc / VisitInlines.h
index 84a456a..7f90678 100644 (file)
@@ -30,7 +30,7 @@ static void visitFields(Visitor *visitor, Object *obj, void *arg)
         while (refOffsets != 0) {
             size_t rshift = CLZ(refOffsets);
             size_t offset = CLASS_OFFSET_FROM_CLZ(rshift);
-            Object **ref = BYTE_OFFSET(obj, offset);
+            Object **ref = (Object **)BYTE_OFFSET(obj, offset);
             (*visitor)(ref, arg);
             refOffsets &= ~(CLASS_HIGH_BIT >> rshift);
         }
@@ -41,7 +41,7 @@ static void visitFields(Visitor *visitor, Object *obj, void *arg)
             int i;
             for (i = 0; i < clazz->ifieldRefCount; ++i, ++field) {
                 size_t offset = field->byteOffset;
-                Object **ref = BYTE_OFFSET(obj, offset);
+                Object **ref = (Object **)BYTE_OFFSET(obj, offset);
                 (*visitor)(ref, arg);
             }
         }
@@ -86,27 +86,25 @@ static void visitInterfaces(Visitor *visitor, ClassObject *clazz,
  */
 static void visitClassObject(Visitor *visitor, Object *obj, void *arg)
 {
-    ClassObject *classObj;
-    ClassStatus status;
+    ClassObject *asClass;
 
     assert(visitor != NULL);
     assert(obj != NULL);
     assert(obj->clazz != NULL);
     assert(!strcmp(obj->clazz->descriptor, "Ljava/lang/Class;"));
-    classObj = (ClassObject *)obj;
     (*visitor)(&obj->clazz, arg);
-    if (IS_CLASS_FLAG_SET(classObj, CLASS_ISARRAY)) {
-        (*visitor)(&classObj->elementClass, arg);
+    asClass = (ClassObject *)obj;
+    if (IS_CLASS_FLAG_SET(asClass, CLASS_ISARRAY)) {
+        (*visitor)(&asClass->elementClass, arg);
     }
-    status = classObj->status;
-    if (status > CLASS_IDX) {
-        (*visitor)(&classObj->super, arg);
+    if (asClass->status > CLASS_IDX) {
+        (*visitor)(&asClass->super, arg);
     }
-    (*visitor)(&classObj->classLoader, arg);
+    (*visitor)(&asClass->classLoader, arg);
     visitFields(visitor, obj, arg);
-    visitStaticFields(visitor, classObj, arg);
-    if (status > CLASS_IDX) {
-        visitInterfaces(visitor, classObj, arg);
+    visitStaticFields(visitor, asClass, arg);
+    if (asClass->status > CLASS_IDX) {
+      visitInterfaces(visitor, asClass, arg);
     }
 }
 
@@ -154,7 +152,7 @@ static void visitReferenceObject(Visitor *visitor, Object *obj, void *arg)
     assert(obj->clazz != NULL);
     visitDataObject(visitor, obj, arg);
     size_t offset = gDvm.offJavaLangRefReference_referent;
-    Object **ref = BYTE_OFFSET(obj, offset);
+    Object **ref = (Object **)BYTE_OFFSET(obj, offset);
     (*visitor)(ref, arg);
 }