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/compiler_test.cc b/src/compiler_test.cc
index 417d352..272f838 100644
--- a/src/compiler_test.cc
+++ b/src/compiler_test.cc
@@ -33,7 +33,7 @@
protected:
void CompileAll(const ClassLoader* class_loader) {
- compiler_->CompileAll(class_loader, ClassLoader::GetCompileTimeClassPath(class_loader));
+ compiler_->CompileAll(class_loader, Runtime::Current()->GetCompileTimeClassPath(class_loader));
MakeAllExecutable(class_loader);
}
@@ -54,7 +54,7 @@
void MakeAllExecutable(const ClassLoader* class_loader) {
const std::vector<const DexFile*>& class_path
- = ClassLoader::GetCompileTimeClassPath(class_loader);
+ = Runtime::Current()->GetCompileTimeClassPath(class_loader);
for (size_t i = 0; i != class_path.size(); ++i) {
const DexFile* dex_file = class_path[i];
CHECK(dex_file != NULL);
@@ -126,6 +126,7 @@
}
TEST_F(CompilerTest, AbstractMethodErrorStub) {
+#if defined(__arm__)
CompileVirtualMethod(NULL, "java.lang.Class", "isFinalizable", "()Z");
CompileDirectMethod(NULL, "java.lang.Object", "<init>", "()V");
@@ -139,7 +140,6 @@
jobject jobj_ = env_->NewObject(c_class, constructor);
ASSERT_TRUE(jobj_ != NULL);
-#if defined(__arm__)
Class* jlame = class_linker_->FindClass("Ljava/lang/AbstractMethodError;", class_loader.get());
// Force non-virtual call to AbstractClass foo, will throw AbstractMethodError exception.
env_->CallNonvirtualVoidMethod(jobj_, class_, mid_);