summaryrefslogtreecommitdiffstats
path: root/runtime/class_linker.cc
diff options
context:
space:
mode:
authorCalin Juravle <calin@google.com>2016-04-20 14:22:09 +0100
committerCalin Juravle <calin@google.com>2016-04-27 12:46:00 +0100
commite5de54cfab5f14ba0b8ff25d8d60901c7021943f (patch)
treebaf3de07d57ee640d80648dfb168aaa10a02e9e3 /runtime/class_linker.cc
parent43c8e872578cf27efcc0edce70119164e313f648 (diff)
downloadandroid_art-e5de54cfab5f14ba0b8ff25d8d60901c7021943f.tar.gz
android_art-e5de54cfab5f14ba0b8ff25d8d60901c7021943f.tar.bz2
android_art-e5de54cfab5f14ba0b8ff25d8d60901c7021943f.zip
Split profile recording from jit compilation
We still use ProfileInfo objects to record profile information. That gives us the flexibility to add the inline caches in the future and the convenience of the already implemented GC. If UseJIT is false and SaveProfilingInfo true, we will only record the ProfileInfo and never launch compilation tasks. Bug: 27916886 Change-Id: I6e4768dc5d58f2f85f947b276b4244aa11ce3fca
Diffstat (limited to 'runtime/class_linker.cc')
-rw-r--r--runtime/class_linker.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index 149601f27e..dc01d52218 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -2044,6 +2044,7 @@ void ClassLinker::DeleteClassLoader(Thread* self, const ClassLoaderData& data) {
Runtime* const runtime = Runtime::Current();
JavaVMExt* const vm = runtime->GetJavaVM();
vm->DeleteWeakGlobalRef(self, data.weak_root);
+ // Notify the JIT that we need to remove the methods and/or profiling info.
if (runtime->GetJit() != nullptr) {
jit::JitCodeCache* code_cache = runtime->GetJit()->GetCodeCache();
if (code_cache != nullptr) {
@@ -2761,7 +2762,7 @@ bool ClassLinker::ShouldUseInterpreterEntrypoint(ArtMethod* method, const void*
}
if (runtime->IsNativeDebuggable()) {
- DCHECK(runtime->UseJit() && runtime->GetJit()->JitAtFirstUse());
+ DCHECK(runtime->UseJitCompilation() && runtime->GetJit()->JitAtFirstUse());
// If we are doing native debugging, ignore application's AOT code,
// since we want to JIT it with extra stackmaps for native debugging.
// On the other hand, keep all AOT code from the boot image, since the