diff options
| author | 2016-02-25 20:55:22 +0000 | |
|---|---|---|
| committer | 2016-02-25 20:55:23 +0000 | |
| commit | 9ed87a8f69c3a8fbd47950ccc02a95c223bae5af (patch) | |
| tree | 1b157a4cbd2c2a9ff75fc33a242e3ff9945e2f6d /runtime/class_linker.cc | |
| parent | 6d174eebe711d52d59df04890375d3f67bc5682e (diff) | |
| parent | 6ea1a0e2168c8d9b6d97c075c73a72d84080f45b (diff) | |
Merge "AOT compile framework code as non-debuggable"
Diffstat (limited to 'runtime/class_linker.cc')
| -rw-r--r-- | runtime/class_linker.cc | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc index 9ea082769a..cd4daeb7bd 100644 --- a/runtime/class_linker.cc +++ b/runtime/class_linker.cc @@ -2608,18 +2608,6 @@ const void* ClassLinker::GetOatMethodQuickCodeFor(ArtMethod* method) { return nullptr; } -const void* ClassLinker::GetQuickOatCodeFor(const DexFile& dex_file, - uint16_t class_def_idx, - uint32_t method_idx) { - bool found; - OatFile::OatClass oat_class = FindOatClass(dex_file, class_def_idx, &found); - if (!found) { - return nullptr; - } - uint32_t oat_method_idx = GetOatMethodIndexFromMethodIndex(dex_file, class_def_idx, method_idx); - return oat_class.GetOatMethod(oat_method_idx).GetQuickCode(); -} - bool ClassLinker::ShouldUseInterpreterEntrypoint(ArtMethod* method, const void* quick_code) { if (UNLIKELY(method->IsNative() || method->IsProxyMethod())) { return false; @@ -2650,6 +2638,11 @@ bool ClassLinker::ShouldUseInterpreterEntrypoint(ArtMethod* method, const void* return true; } + if (Dbg::IsDebuggerActive()) { + // Boot image classes are AOT-compiled as non-debuggable. + return runtime->GetHeap()->IsInBootImageOatFile(quick_code); + } + return false; } |