hotspot/src/share/vm/interpreter/invocationCounter.hpp
inline void InvocationCounter::decay() {
{- -------------------------------------------
(1) この InvocationCounter の値を半分にする.
(ただし, 値が 1 の場合は (半減して 0 になると実行されていないメソッドと勘違いされてまずいので) 1 のままにしておく)
---------------------------------------- -}
int c = count();
int new_count = c >> 1;
// prevent from going to zero, to distinguish from never-executed methods
if (c > 0 && new_count == 0) new_count = 1;
set(state(), new_count);
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.