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: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>