From: ko1@... Date: 2019-07-30T03:21:03+00:00 Subject: [ruby-core:94006] [Ruby master Feature#15963] Add *_start and *_running methods to VM_COLLECT_USAGE_DETAILS API Issue #15963 has been updated by ko1 (Koichi Sasada). Assignee set to ko1 (Koichi Sasada) Please list new methods to discuss. ``` existing: rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_INSN_STOP", usage_analysis_insn_stop, 0); rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_OPERAND_STOP", usage_analysis_operand_stop, 0); rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_REGISTER_STOP", usage_analysis_register_stop, 0); proposal: rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_INSN_START", usage_analysis_insn_start, 0); rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_OPERAND_START", usage_analysis_operand_start, 0); rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_REGISTER_START", usage_analysis_register_start, 0); rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_INSN_RUNNING", usage_analysis_insn_running, 0); rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_OPERAND_RUNNING", usage_analysis_operand_running, 0); rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_REGISTER_RUNNING", usage_analysis_register_running, 0); ``` do you need `clear` methods? ---------------------------------------- Feature #15963: Add *_start and *_running methods to VM_COLLECT_USAGE_DETAILS API https://bugs.ruby-lang.org/issues/15963#change-80228 * Author: gmcgibbon (Gannon McGibbon) * Status: Open * Priority: Normal * Assignee: ko1 (Koichi Sasada) * Target version: ---------------------------------------- I want to count how many VM instructions get executed for an arbitrary block of ruby code with `VM_COLLECT_USAGE_DETAILS` enabled. However, the current API enables VM usage detail collection immediately and only exposes methods to turn collection off. I've issued a PR to add more methods to the VM usage details API and to disable collection by default: https://github.com/ruby/ruby/pull/2258 -- https://bugs.ruby-lang.org/ Unsubscribe: