mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
23dc0dbc4a
hooks (old macro name is COLLECT_USAGE_ANALYSIS). This feature is only for VM developers. (I'm not sure I can use `VM developers' (the plural form) in this sentence). If VM_COLLECT_USAGE_DETAILS is not 0, VM enables the following usage collection features: (1) insntruction: collect intruction usages. (2) operand: collect operand usages. (3) register: collect register usages. The results are stored in RubyVM::USAGE_ANALYSIS_INSN for (1, 2), RubyVM::USAGE_ANALYSIS_INSN_BIGRAM for (1) and RubyVM::USAGE_ANALYSIS_REGS for (3). You can stop collecting usages with RubyVM::USAGE_ANALYSIS_INSN_STOP(), RubyVM::USAGE_ANALYSIS_OPERAND_STOP(), RubyVM::USAGE_ANALYSIS_REGISTER_STOP() for (1), (2), (3) respectively. You can also change the hook functions by setting C level global variables `ruby_vm_collect_usage_func_(insn|operand|register)' for (1), (2), (3) respectively. See codes for more details. * tool/instruction.rb: fix macro names. * iseq.c (insn_operand_intern): make it export (used in vm.c). fix to skip several processes if not needed (pointer is 0). * vm_dump.c: move codes for collection features to vm.c. * vm_exec.h: rename macro and function names. * vm_insnhelper.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e |
||
---|---|---|
.. | ||
test | ||
asm_parse.rb | ||
build-transcode | ||
change_maker.rb | ||
compile_prelude.rb | ||
config.guess | ||
config.sub | ||
enc-emoji-citrus-gen.rb | ||
enc-emoji4unicode.rb | ||
enc-unicode.rb | ||
eval.rb | ||
file2lastrev.rb | ||
generic_erb.rb | ||
id2token.rb | ||
ifchange | ||
insns2vm.rb | ||
install-sh | ||
instruction.rb | ||
jisx0208.rb | ||
make-snapshot | ||
mdoc2man.rb | ||
merger.rb | ||
mkconfig.rb | ||
mkrunnable.rb | ||
node_name.rb | ||
parse.rb | ||
rbinstall.rb | ||
rmdirs | ||
rubytest.rb | ||
runruby.rb | ||
strip-rdoc.rb | ||
transcode-tblgen.rb | ||
update-deps | ||
vtlh.rb | ||
ytab.sed |