Refactor the temporary solution of the stubs.
Also, fix test 032 and 088.
Change-Id: I84049356b29ca6d9a5c852c926190de76b285780
diff --git a/src/object.cc b/src/object.cc
index 7fdff31..0bcf5c7 100644
--- a/src/object.cc
+++ b/src/object.cc
@@ -566,20 +566,16 @@
self->PushNativeToManagedRecord(&record);
#endif
+#if defined(ART_USE_LLVM_COMPILER)
+ art_fix_stub_from_code(const_cast<Method*>(this));
+#endif
+
// Call the invoke stub associated with the method.
// Pass everything as arguments.
const Method::InvokeStub* stub = GetInvokeStub();
bool have_executable_code = (GetCode() != NULL);
-#if defined(ART_USE_LLVM_COMPILER)
- if (stub == NULL || !have_executable_code) {
- art_ensure_link_from_code(const_cast<Method*>(this));
- stub = GetInvokeStub();
- have_executable_code = (GetCode() != NULL);
- }
-#endif
-
if (Runtime::Current()->IsStarted() && have_executable_code && stub != NULL) {
bool log = false;
if (log) {