This fixes a recently introduced bug where the deferred count is being unnecessarily decremented to counteract an increment elsewhere that is no longer happening. This caused the values to flip around to "very large" 64-bit numbers.
if (ADAPTIVE_COUNTER_IS_ZERO(next_instr->cache)) { \
STAT_INC((INSTNAME), deopt); \
} \
- else { \
- /* This is about to be (incorrectly) incremented: */ \
- STAT_DEC((INSTNAME), deferred); \
- } \
} while (0)
#else
#define UPDATE_MISS_STATS(INSTNAME) ((void)0)