Put wrappers on all stores of Object pointers into heap Objects.

Also:
Changed ++ loops to [i] loops where I'm touching.
Added some asserts.
Added dvmHeapSourceContainsAddress
Added dvmIsValidObjectAddress

Change-Id: I6586688246064aecabb1e22e1dca276fecee7795
diff --git a/vm/native/dalvik_system_VMStack.c b/vm/native/dalvik_system_VMStack.c
index 4a1ce53..8db4a6b 100644
--- a/vm/native/dalvik_system_VMStack.c
+++ b/vm/native/dalvik_system_VMStack.c
@@ -150,18 +150,16 @@
     /*
      * Fill in the array.
      */
-    ClassObject** objects = (ClassObject**) classes->contents;
-
-    unsigned int sidx = 0;
-    for (idx = kSkip; (int) idx < methodCount && sidx < size; idx++) {
-        const Method* meth = methods[idx];
-
-        if (dvmIsReflectionMethod(meth))
+    unsigned int objCount = 0;
+    for (idx = kSkip; (int) idx < methodCount; idx++) {
+        if (dvmIsReflectionMethod(methods[idx])) {
             continue;
-
-        *objects++ = meth->clazz;
-        sidx++;
+        }
+        dvmSetObjectArrayElement(classes, objCount,
+                                 (Object *)methods[idx]->clazz);
+        objCount++;
     }
+    assert(objCount == classes->length);
 
 bail:
     free(methods);