From f7035dd3ff665dce14657cf244c10c2d4b2b43c7 Mon Sep 17 00:00:00 2001 From: k0kubun Date: Sun, 14 Apr 2019 07:10:34 +0000 Subject: [PATCH] Do not reset non-increment-only counters to prevernt underflow. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- debug_counter.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/debug_counter.c b/debug_counter.c index 4a0655380f..b9c32c1d15 100644 --- a/debug_counter.c +++ b/debug_counter.c @@ -47,7 +47,16 @@ VALUE rb_debug_counter_reset(void) { for (int i = 0; i < RB_DEBUG_COUNTER_MAX; i++) { - rb_debug_counter[i] = 0; + switch (i) { + case RB_DEBUG_COUNTER_mjit_length_unit_queue: + case RB_DEBUG_COUNTER_mjit_length_active_units: + case RB_DEBUG_COUNTER_mjit_length_compact_units: + // These counters may be decreased and should not be reset. + break; + default: + rb_debug_counter[i] = 0; + break; + } } return Qnil; }