Refactor the compilers out of libart.

This builds three separate compilers and dynamically links with the right one
at runtime.

Change-Id: I59d22b9884f41de733c09f97e29ee290236d5f4b
diff --git a/src/indirect_reference_table.h b/src/indirect_reference_table.h
index f6cab95..78617f8 100644
--- a/src/indirect_reference_table.h
+++ b/src/indirect_reference_table.h
@@ -96,7 +96,7 @@
  */
 typedef void* IndirectRef;
 
-/* Magic failure values; must not pass Heap::ValidateObject() or Heap::IsHeapAddress(). */
+// Magic failure values; must not pass Heap::ValidateObject() or Heap::IsHeapAddress().
 static Object* const kInvalidIndirectRefObject = reinterpret_cast<Object*>(0xdead4321);
 static Object* const kClearedJniWeakGlobal = reinterpret_cast<Object*>(0xdead1234);
 
@@ -327,6 +327,7 @@
   static Offset SegmentStateOffset() {
     return Offset(OFFSETOF_MEMBER(IndirectReferenceTable, segment_state_));
   }
+
  private:
   /*
    * Extract the table index from an indirect reference.