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/signal_catcher.cc b/src/signal_catcher.cc
index 4230834..bc358ed 100644
--- a/src/signal_catcher.cc
+++ b/src/signal_catcher.cc
@@ -30,6 +30,7 @@
 #include "heap.h"
 #include "os.h"
 #include "runtime.h"
+#include "scoped_heap_lock.h"
 #include "thread.h"
 #include "thread_list.h"
 #include "utils.h"
@@ -131,7 +132,7 @@
 
 void SignalCatcher::HandleSigUsr1() {
   LOG(INFO) << "SIGUSR1 forcing GC (no HPROF)";
-  Heap::CollectGarbage(false);
+  Runtime::Current()->GetHeap()->CollectGarbage(false);
 }
 
 int SignalCatcher::WaitForSignal(sigset_t& mask) {