diff options
| author | 2016-08-01 17:47:04 +0700 | |
|---|---|---|
| committer | 2016-08-10 14:47:58 +0000 | |
| commit | 87de9cfefddfeef9b139e90adf372e3566be3afc (patch) | |
| tree | b9d95f661d80baee8b9395a7d7c38f7359a23320 | |
| parent | ba65cc4a71273904294245cb37ce70e5bce797e3 (diff) | |
ART: Fix JIT profile saver
We miss the case when jit activity notification count exceeds
the threshold. Fix it.
Bug: 30583550
Test: manual test in master
Change-Id: Ib10a34d3c2f5d3cf674b1c4d7a3c1204784865d3
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
| -rw-r--r-- | runtime/jit/profile_saver.cc | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/runtime/jit/profile_saver.cc b/runtime/jit/profile_saver.cc index 5a469e51b4..b35c958b0b 100644 --- a/runtime/jit/profile_saver.cc +++ b/runtime/jit/profile_saver.cc @@ -176,14 +176,13 @@ void ProfileSaver::NotifyJitActivityInternal() { MutexLock wait_mutex(Thread::Current(), wait_lock_); if ((NanoTime() - last_time_ns_saver_woke_up_) > MsToNs(options_.GetMinSavePeriodMs())) { WakeUpSaver(); + } else if (jit_activity_notifications_ > options_.GetMaxNotificationBeforeWake()) { + // Make sure to wake up the saver if we see a spike in the number of notifications. + // This is a precaution to avoid losing a big number of methods in case + // this is a spike with no jit after. + total_number_of_hot_spikes_++; + WakeUpSaver(); } - } else if (jit_activity_notifications_ > options_.GetMaxNotificationBeforeWake()) { - // Make sure to wake up the saver if we see a spike in the number of notifications. - // This is a precaution to avoid "loosing" a big number of methods in case - // this is a spike with no jit after. - total_number_of_hot_spikes_++; - MutexLock wait_mutex(Thread::Current(), wait_lock_); - WakeUpSaver(); } } |