summaryrefslogtreecommitdiff
path: root/runtime/jit/jit-inl.h
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/jit/jit-inl.h')
-rw-r--r--runtime/jit/jit-inl.h11
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());