summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vm_exec.c31
-rw-r--r--vm_exec.h7
2 files changed, 1 insertions, 37 deletions
@@ -15,37 +15,6 @@
static void vm_analysis_insn(int insn);
#endif
-MAYBE_UNUSED(static void vm_insns_counter_count_insn(int insn));
-#if USE_INSNS_COUNTER
-static size_t rb_insns_counter[VM_INSTRUCTION_SIZE];
-
-static void
-vm_insns_counter_count_insn(int insn)
-{
- rb_insns_counter[insn]++;
-}
-
-__attribute__((destructor))
-static void
-vm_insns_counter_show_results_at_exit(void)
-{
- int insn_end = (ruby_vm_event_enabled_global_flags & ISEQ_TRACE_EVENTS)
- ? VM_INSTRUCTION_SIZE : VM_INSTRUCTION_SIZE / 2;
-
- size_t total = 0;
- for (int insn = 0; insn < insn_end; insn++)
- total += rb_insns_counter[insn];
-
- for (int insn = 0; insn < insn_end; insn++) {
- fprintf(stderr, "[RUBY_INSNS_COUNTER]\t%-32s%'12"PRIuSIZE" (%4.1f%%)\n",
- insn_name(insn), rb_insns_counter[insn],
- 100.0 * rb_insns_counter[insn] / total);
- }
-}
-#else
-static void vm_insns_counter_count_insn(int insn) {}
-#endif
-
#if VMDEBUG > 0
#define DECL_SC_REG(type, r, reg) register type reg_##r
@@ -40,10 +40,6 @@ typedef rb_iseq_t *ISEQ;
#define throwdebug if(0)ruby_debug_printf
/* #define throwdebug ruby_debug_printf */
-#ifndef USE_INSNS_COUNTER
-#define USE_INSNS_COUNTER 0
-#endif
-
/************************************************/
#if defined(DIS_XXX)
error !
@@ -80,8 +76,7 @@ error !
(reg_cfp->pc - ISEQ_BODY(reg_cfp->iseq)->iseq_encoded), \
RSTRING_PTR(rb_iseq_path(reg_cfp->iseq)), \
rb_iseq_line_no(reg_cfp->iseq, reg_pc - ISEQ_BODY(reg_cfp->iseq)->iseq_encoded)); \
- } \
- if (USE_INSNS_COUNTER) vm_insns_counter_count_insn(BIN(insn));
#define INSN_DIS_SIG(insn)