summaryrefslogtreecommitdiff
path: root/compiler/driver/compiler_driver.cc
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2015-06-22 15:57:16 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2015-06-22 15:57:17 +0000
commitc30e721b5ddcb4ba6835c5b721e1c5095f4a3d7f (patch)
treefc3b040e9eb71e6cc2035f7a35b883e1033c02f6 /compiler/driver/compiler_driver.cc
parentf91fb4a6a565809dd077ee128d11f30b67e6f2ff (diff)
parentc08ab29796eeaa3b5863fbd987cd96fe7538d40c (diff)
Merge "ART: Don't do pre-linked calls to the interpreter bridge."
Diffstat (limited to 'compiler/driver/compiler_driver.cc')
-rw-r--r--compiler/driver/compiler_driver.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc
index 84b6a52bda..4cdf75bba4 100644
--- a/compiler/driver/compiler_driver.cc
+++ b/compiler/driver/compiler_driver.cc
@@ -1410,7 +1410,9 @@ void CompilerDriver::GetCodeAndMethodForDirectCall(InvokeType* type, InvokeType
is_in_image = IsImageClass(method->GetDeclaringClassDescriptor());
} else {
is_in_image = instruction_set_ != kX86 && instruction_set_ != kX86_64 &&
- heap->FindSpaceFromObject(method->GetDeclaringClass(), false)->IsImageSpace();
+ heap->FindSpaceFromObject(method->GetDeclaringClass(), false)->IsImageSpace() &&
+ !cl->IsQuickToInterpreterBridge(
+ reinterpret_cast<const void*>(compiler_->GetEntryPointOf(method)));
}
if (!is_in_image) {
// We can only branch directly to Methods that are resolved in the DexCache.