11#ifndef USE_DEBUG_COUNTER
12#define USE_DEBUG_COUNTER 0
15#ifdef RB_DEBUG_COUNTER
341#ifndef RUBY_DEBUG_COUNTER_H
342#define RUBY_DEBUG_COUNTER_H 1
344#if !defined(__GNUC__) && USE_DEBUG_COUNTER
345#error "USE_DEBUG_COUNTER is not supported by other than __GNUC__"
349#define RB_DEBUG_COUNTER(name) RB_DEBUG_COUNTER_##name,
352#undef RB_DEBUG_COUNTER
356extern size_t rb_debug_counter[];
370#define RB_DEBUG_COUNTER_INC(type) rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, 1)
371#define RB_DEBUG_COUNTER_INC_UNLESS(type, cond) (!rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, !(cond)))
372#define RB_DEBUG_COUNTER_INC_IF(type, cond) rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, (cond))
375#define RB_DEBUG_COUNTER_INC(type) ((void)0)
376#define RB_DEBUG_COUNTER_INC_UNLESS(type, cond) (cond)
377#define RB_DEBUG_COUNTER_INC_IF(type, cond) (cond)
void rb_debug_counter_show_results(const char *msg)
#define RB_DEBUG_COUNTER(name)
RUBY_SYMBOL_EXPORT_BEGIN size_t ruby_debug_counter_get(const char **names_ptr, size_t *counters_ptr)
void ruby_debug_counter_show_at_exit(int enable)
void ruby_debug_counter_reset(void)
VALUE type(ANYARGS)
ANYARGS-ed function type.