Ensure we fence the writing of clazz to an Object post allocation.

We hold the heap lock during the calloc of an object in the GCed heap.
We do a non-volatile store following this for the clazz, this may lead to a
race where an object is allocated but appears to have no clazz.

Found investigating Bug: 7028104

Change-Id: I390ad4c7b9632127bd27393742be347b84d9269a
diff --git a/vm/oo/Object.h b/vm/oo/Object.h
index 4e6103a..2f6fcaf 100644
--- a/vm/oo/Object.h
+++ b/vm/oo/Object.h
@@ -221,7 +221,7 @@
  * void DVM_OBJECT_INIT(Object *obj, ClassObject *clazz_)
 #define DVM_OBJECT_INIT(obj, clazz_) \
-    dvmSetFieldObject(obj, OFFSETOF_MEMBER(Object, clazz), clazz_)
+    dvmSetFieldObjectVolatile(obj, OFFSETOF_MEMBER(Object, clazz), clazz_)
  * Data objects have an Object header followed by their instance data.