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/class_loader.h b/src/class_loader.h
index 018cea9..8d1c696 100644
--- a/src/class_loader.h
+++ b/src/class_loader.h
@@ -17,7 +17,6 @@
 #ifndef ART_SRC_CLASS_LOADER_H_
 #define ART_SRC_CLASS_LOADER_H_
 
-#include <map>
 #include <vector>
 
 #include "dex_file.h"
@@ -27,31 +26,18 @@
 
 // C++ mirror of java.lang.ClassLoader
 class MANAGED ClassLoader : public Object {
- public:
-  static const std::vector<const DexFile*>& GetCompileTimeClassPath(const ClassLoader* class_loader);
-  static void SetCompileTimeClassPath(const ClassLoader* class_loader, std::vector<const DexFile*>& class_path);
-  static bool UseCompileTimeClassPath() {
-    return use_compile_time_class_path;
-  }
-
  private:
   // Field order required by test "ValidateFieldOrderOfJavaCppUnionClasses".
   Object* packages_;
   ClassLoader* parent_;
   Object* proxyCache_;
 
-  typedef std::map<const ClassLoader*, std::vector<const DexFile*> > Table;
-  static Table compile_time_class_paths_;
-
-  static bool use_compile_time_class_path;
-
   friend struct ClassLoaderOffsets;  // for verifying offset information
   DISALLOW_IMPLICIT_CONSTRUCTORS(ClassLoader);
 };
 
 // C++ mirror of dalvik.system.BaseDexClassLoader
-// TODO: add MANAGED when class_path_ removed
-class BaseDexClassLoader : public ClassLoader {
+class MANAGED BaseDexClassLoader : public ClassLoader {
  private:
   // Field order required by test "ValidateFieldOrderOfJavaCppUnionClasses".
   String* original_path_;
@@ -62,8 +48,7 @@
 };
 
 // C++ mirror of dalvik.system.PathClassLoader
-// TODO: add MANAGED when class_path_ removed
-class PathClassLoader : public BaseDexClassLoader {
+class MANAGED PathClassLoader : public BaseDexClassLoader {
  public:
   static PathClassLoader* AllocCompileTime(std::vector<const DexFile*>& dex_files);
   static void SetClass(Class* dalvik_system_PathClassLoader);
@@ -76,4 +61,4 @@
 
 }  // namespace art
 
-#endif  // ART_SRC_OBJECT_H_
+#endif  // ART_SRC_CLASS_LOADER_H_