summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2019-12-23 16:30:45 +0900
committerKoichi Sasada <ko1@atdot.net>2019-12-23 16:31:17 +0900
commit9eeaae432b9a894e28e3906435f3d454d8fd025c (patch)
treed65dd738b33b6762b5baf5080f4fd95905a84b3f
parent7779ade48c2786992e41c0ab87761ab467f4be49 (diff)
add more debug counters to count numeric objects.
-rw-r--r--debug_counter.h18
-rw-r--r--gc.c8
2 files changed, 19 insertions, 7 deletions
diff --git a/debug_counter.h b/debug_counter.h
index ee00d9df4b..b9515f4802 100644
--- a/debug_counter.h
+++ b/debug_counter.h
@@ -247,8 +247,6 @@ RB_DEBUG_COUNTER(obj_struct_embed)
RB_DEBUG_COUNTER(obj_struct_transient)
RB_DEBUG_COUNTER(obj_struct_ptr)
-RB_DEBUG_COUNTER(obj_regexp_ptr)
-
RB_DEBUG_COUNTER(obj_data_empty)
RB_DEBUG_COUNTER(obj_data_xfree)
RB_DEBUG_COUNTER(obj_data_imm_free)
@@ -258,9 +256,19 @@ RB_DEBUG_COUNTER(obj_match_under4)
RB_DEBUG_COUNTER(obj_match_ge4)
RB_DEBUG_COUNTER(obj_match_ge8)
RB_DEBUG_COUNTER(obj_match_ptr)
-RB_DEBUG_COUNTER(obj_file_ptr)
+
+RB_DEBUG_COUNTER(obj_iclass_ptr)
+RB_DEBUG_COUNTER(obj_class_ptr)
+RB_DEBUG_COUNTER(obj_module_ptr)
+
RB_DEBUG_COUNTER(obj_bignum_ptr)
+RB_DEBUG_COUNTER(obj_bignum_embed)
+RB_DEBUG_COUNTER(obj_float)
+RB_DEBUG_COUNTER(obj_complex)
+RB_DEBUG_COUNTER(obj_rational)
+RB_DEBUG_COUNTER(obj_regexp_ptr)
+RB_DEBUG_COUNTER(obj_file_ptr)
RB_DEBUG_COUNTER(obj_symbol)
RB_DEBUG_COUNTER(obj_imemo_ment)
@@ -275,10 +283,6 @@ RB_DEBUG_COUNTER(obj_imemo_ifunc)
RB_DEBUG_COUNTER(obj_imemo_memo)
RB_DEBUG_COUNTER(obj_imemo_parser_strterm)
-RB_DEBUG_COUNTER(obj_iclass_ptr)
-RB_DEBUG_COUNTER(obj_class_ptr)
-RB_DEBUG_COUNTER(obj_module_ptr)
-
/* ar_table */
RB_DEBUG_COUNTER(artable_hint_hit)
RB_DEBUG_COUNTER(artable_hint_miss)
diff --git a/gc.c b/gc.c
index f6e75e8c78..728aea9408 100644
--- a/gc.c
+++ b/gc.c
@@ -2750,7 +2750,11 @@ obj_free(rb_objspace_t *objspace, VALUE obj)
}
break;
case T_RATIONAL:
+ RB_DEBUG_COUNTER_INC(obj_rational);
+ break;
case T_COMPLEX:
+ RB_DEBUG_COUNTER_INC(obj_complex);
+ break;
case T_MOVED:
break;
case T_ICLASS:
@@ -2774,6 +2778,7 @@ obj_free(rb_objspace_t *objspace, VALUE obj)
break;
case T_FLOAT:
+ RB_DEBUG_COUNTER_INC(obj_float);
break;
case T_BIGNUM:
@@ -2781,6 +2786,9 @@ obj_free(rb_objspace_t *objspace, VALUE obj)
xfree(BIGNUM_DIGITS(obj));
RB_DEBUG_COUNTER_INC(obj_bignum_ptr);
}
+ else {
+ RB_DEBUG_COUNTER_INC(obj_bignum_embed);
+ }
break;
case T_NODE: