Compute size of source_space after lazy field initialization.

Fixes image_test.

Change-Id: I3ba8072cf34d881b36c43dfbe8c6b1d895c1b21c
diff --git a/src/image_writer.cc b/src/image_writer.cc
index 151aeb3..f92989d 100644
--- a/src/image_writer.cc
+++ b/src/image_writer.cc
@@ -71,12 +71,13 @@
     return false;
   }
 
+  PruneNonImageClasses();  // Remove junk
+  ComputeLazyFieldsForImageClasses();  // Add useful information
+  Heap::CollectGarbage(false);  // Remove garbage
+  Heap::GetAllocSpace()->Trim();  // Trim size of source_space
   if (!AllocMemory()) {
     return false;
   }
-  PruneNonImageClasses();
-  ComputeLazyFieldsForImageClasses();
-  Heap::CollectGarbage(false);
 #ifndef NDEBUG
   CheckNonImageClassesRemoved();
 #endif