More space refactoring.

Add common interface, AllocSpace.

Renamed the old AllocSpace to DLMallocSpace.

Added an new option enforce_target_size_, which when enabled, doesn't let
the heap grow past ideal heap size calculated during last Gc.

Removed redundant AllocationSize calls.

Moved large object space to its own file instead of being in space.h/cc.

Change-Id: I15e60531114bf213800599737cbd66ef44b46b15
diff --git a/src/mem_map.h b/src/mem_map.h
index 1748a0e..3327a37 100644
--- a/src/mem_map.h
+++ b/src/mem_map.h
@@ -17,6 +17,8 @@
 #ifndef ART_SRC_MEM_MAP_H_
 #define ART_SRC_MEM_MAP_H_
 
+#include <string>
+
 #include <stddef.h>
 #include <sys/mman.h>  // For the PROT_* and MAP_* constants.
 #include <sys/types.h>
@@ -83,8 +85,10 @@
   void UnMapAtEnd(byte* new_end);
 
  private:
-  MemMap(byte* begin, size_t size, void* base_begin, size_t base_size, int prot);
+  MemMap(const std::string& name, byte* begin, size_t size, void* base_begin, size_t base_size,
+         int prot);
 
+  std::string name_;
   byte* const begin_;  // Start of data.
   size_t size_;  // Length of data.