diff options
| author | 2015-06-22 14:35:42 +0100 | |
|---|---|---|
| committer | 2015-06-22 15:39:11 +0100 | |
| commit | c08ab29796eeaa3b5863fbd987cd96fe7538d40c (patch) | |
| tree | 11aa6f276ebeea9800697a92f017e312f94643ac /compiler | |
| parent | 2d655f1ce89a714094a4f55ac75edcf9a34c7e24 (diff) | |
ART: Don't do pre-linked calls to the interpreter bridge.
Bug: 21897404
Change-Id: I6cca9d3b436df2eed2b0192607de0faf5cc2ecf7
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/driver/compiler_driver.cc | 4 |
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. |