Tune heuristics a bit.
First version. Seems to be more in line with what we're seeing.
Change-Id: I5117352c13cb2e95d16f0c9b05b1faf37c05d710
diff --git a/runtime/jit/jit_instrumentation.cc b/runtime/jit/jit_instrumentation.cc
index 2dd953b..8aaa5fa 100644
--- a/runtime/jit/jit_instrumentation.cc
+++ b/runtime/jit/jit_instrumentation.cc
@@ -86,7 +86,6 @@
}
void JitInstrumentationCache::AddSamples(Thread* self, ArtMethod* method, size_t) {
- ScopedObjectAccessUnchecked soa(self);
// Since we don't have on-stack replacement, some methods can remain in the interpreter longer
// than we want resulting in samples even after the method is compiled.
if (method->IsClassInitializer() || method->IsNative()) {
@@ -126,6 +125,7 @@
ArtMethod* caller,
uint32_t dex_pc,
ArtMethod* callee ATTRIBUTE_UNUSED) {
+ instrumentation_cache_->AddSamples(thread, caller, 1);
// We make sure we cannot be suspended, as the profiling info can be concurrently deleted.
thread->StartAssertNoThreadSuspension("Instrumenting invoke");
DCHECK(this_object != nullptr);