Removed compiled resolution trampoline.
Created assembly versions of resolution trampoline for portable and
quick. Removed compiled version from the image.
Change-Id: I183e110c4e102fb45ce6e7f4e855f8bed7986251
diff --git a/src/class_linker.cc b/src/class_linker.cc
index cee1881..9dee36a 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -1034,12 +1034,11 @@
return;
}
- // Check if object is an uncompiled method and point the to the interpreter entry point.
+ // Check if object is a method without its code set and point it to the resolution trampoline.
if (obj->IsMethod()) {
mirror::AbstractMethod* method = obj->AsMethod();
if (method->GetCode() == NULL) {
- const void* interpreter_entry = GetInterpreterEntryPoint();
- method->SetCode(interpreter_entry);
+ method->SetCode(GetResolutionTrampoline());
}
}
}
@@ -1607,7 +1606,7 @@
if (method->IsStatic() && !method->IsConstructor()) {
// For static methods excluding the class initializer, install the trampoline.
- method->SetCode(runtime->GetResolutionStubArray(Runtime::kStaticMethod)->GetData());
+ method->SetCode(GetResolutionTrampoline());
}
if (method->IsNative()) {