diff options
Diffstat (limited to 'runtime/jit/jit-inl.h')
-rw-r--r-- | runtime/jit/jit-inl.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/runtime/jit/jit-inl.h b/runtime/jit/jit-inl.h index 52099c2e1d..e1f331df73 100644 --- a/runtime/jit/jit-inl.h +++ b/runtime/jit/jit-inl.h @@ -30,10 +30,13 @@ namespace jit { inline void Jit::AddSamples(Thread* self, ArtMethod* method) { if (method->CounterIsHot()) { if (method->IsMemorySharedMethod()) { - if (self->DecrementSharedMethodHotness() == 0) { - self->ResetSharedMethodHotness(); - } else { - return; + // Intrinsics are special and will be considered hot from the first call. + if (!method->IsIntrinsic()) { + if (self->DecrementSharedMethodHotness() == 0) { + self->ResetSharedMethodHotness(); + } else { + return; + } } } else { method->ResetCounter(Runtime::Current()->GetJITOptions()->GetWarmupThreshold()); |