Fix valgrind large_object_space_test

Also some cleanup.

(cherry picked from commit c991403cd8b869e4a38c11c6a58223b82b89a1b2)

Change-Id: I9c1a8093e6356f1b52e332009429b77fa5c1d448
diff --git a/runtime/gc/heap.cc b/runtime/gc/heap.cc
index f039f6b..20e791d 100644
--- a/runtime/gc/heap.cc
+++ b/runtime/gc/heap.cc
@@ -2252,8 +2252,8 @@
   // Set all the cards in the mod-union table since we don't know which objects contain references
   // to large objects.
   mod_union_table->SetCards();
-  large_object_space_->SetAllLargeObjectsAsZygoteObjects(self);
   AddModUnionTable(mod_union_table);
+  large_object_space_->SetAllLargeObjectsAsZygoteObjects(self);
   if (collector::SemiSpace::kUseRememberedSet) {
     // Add a new remembered set for the post-zygote non-moving space.
     accounting::RememberedSet* post_zygote_non_moving_space_rem_set =