ruby/tool
ko1 76c4cca19c add performance counting mechanism for MRI debug/tuning purpose.
* How to enable this feature?
  * define USE_DEBUG_COUNTER as 1.
  * you can disable to output the result with
    RUBY_DEBUG_COUNTER_DISABLE environment variable
    even if USE_DEBUG_COUNTER == 1.

* How to add new counter?
  * add COUNTER(<name>) line on debug_counter.h.
  * include "debug_counter.h"
  * insert RB_DEBUG_COUNTER_INC(<name>) line on your favorite place.

* counter output example:
  [RUBY_DEBUG_COUNTER]    mc_inline_hit   999
  [RUBY_DEBUG_COUNTER]    mc_inline_miss  3
  [RUBY_DEBUG_COUNTER]    mc_global_hit   23
  [RUBY_DEBUG_COUNTER]    mc_global_miss  273
  [RUBY_DEBUG_COUNTER]    mc_global_state_miss    3
  [RUBY_DEBUG_COUNTER]    mc_class_serial_miss    0
  [RUBY_DEBUG_COUNTER]    mc_cme_complement       0
  [RUBY_DEBUG_COUNTER]    mc_cme_complement_hit   0
  [RUBY_DEBUG_COUNTER]    mc_search_super 1384
  [RUBY_DEBUG_COUNTER]    ivar_get_hit    0
  [RUBY_DEBUG_COUNTER]    ivar_get_miss   0
  [RUBY_DEBUG_COUNTER]    ivar_set_hit    0
  [RUBY_DEBUG_COUNTER]    ivar_set_miss   0
  [RUBY_DEBUG_COUNTER]    ivar_get        431
  [RUBY_DEBUG_COUNTER]    ivar_set        465

  * mc_... is related to method caching.
  * ivar_... is related to instance variable accesses.

* compare with dtrace/system tap features, there are completely
  no performacne penalties when it is disabled.

* This feature is supported only on __GNUC__ compilers.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-21 08:18:15 +00:00
..
test * enc/trans/EMOJI/*.src, enc/trans/emoji*, enc/x-emoji.c, test/ruby/enc/test_emoji.rb, tool/enc-emoji-citrus-gen.rb, tool/enc-emoji4unicode.rb, tool/jisx0208.rb, tool/test/test_jisx0208.rb: new encodings to support emoji charsets, which are used by Japanese mobile phones [ruby-dev:40528]. Thanks Yoji Shidara for a lot of contribution. 2010-03-09 09:15:42 +00:00
asm_parse.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
bisect.sh Fix cmd is referenced but not assigned 2016-10-06 12:15:00 +00:00
build-transcode * enc/trans/iso2022.trans: renamed from iso2022.erb.c. 2008-08-11 07:39:52 +00:00
change_maker.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
checksum.rb checksum.rb: check the target 2015-05-07 07:09:43 +00:00
debug_counter.rb add performance counting mechanism for MRI debug/tuning purpose. 2017-02-21 08:18:15 +00:00
downloader.rb Regexp supports Unicoe 9.0.0's \X 2016-11-30 17:29:19 +00:00
enc-emoji-citrus-gen.rb * enc/trans/EMOJI/*.src, enc/trans/emoji*, enc/x-emoji.c, test/ruby/enc/test_emoji.rb, tool/enc-emoji-citrus-gen.rb, tool/enc-emoji4unicode.rb, tool/jisx0208.rb, tool/test/test_jisx0208.rb: new encodings to support emoji charsets, which are used by Japanese mobile phones [ruby-dev:40528]. Thanks Yoji Shidara for a lot of contribution. 2010-03-09 09:15:42 +00:00
enc-emoji4unicode.rb * enc/trans/EMOJI/*.src, enc/trans/emoji*, enc/x-emoji.c, test/ruby/enc/test_emoji.rb, tool/enc-emoji-citrus-gen.rb, tool/enc-emoji4unicode.rb, tool/jisx0208.rb, tool/test/test_jisx0208.rb: new encodings to support emoji charsets, which are used by Japanese mobile phones [ruby-dev:40528]. Thanks Yoji Shidara for a lot of contribution. 2010-03-09 09:15:42 +00:00
enc-unicode.rb Merge Onigmo 6.0.0 2016-12-10 17:47:04 +00:00
eval.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
expand-config.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
extlibs.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
fake.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
file2lastrev.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
gem-unpack.rb * tool/downloader.rb: Removed verification of gem certification. 2016-10-12 06:24:59 +00:00
gen_dummy_probes.rb probes.dmyh: remove preprocessor directives 2016-07-06 05:03:14 +00:00
gen_ruby_tapset.rb get rid of ambiguous parentheses warnings 2016-11-29 16:06:54 +00:00
generic_erb.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
id2token.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
ifchange tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
insns2vm.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
install-sh * README.ja: Update redmine.ruby-lang.org to bugs.ruby-lang.org 2011-12-19 21:07:09 +00:00
instruction.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
jisx0208.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
make-snapshot make-snapshot: fix circular dependency 2016-12-13 03:55:13 +00:00
make_hgraph.rb * tool/make_hgraph.rb: added. 2015-05-29 08:39:50 +00:00
mdoc2man.rb Add support for the `Lk` macro to tool/mdoc2man.rb 2016-09-23 12:40:16 +00:00
merger.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
mk_call_iseq_optimized.rb * vm_core.h: revisit the structure of frame, block and env. 2016-07-28 11:02:30 +00:00
mkconfig.rb mkconfig.rb: add a magic comment to rbconfig.rb 2016-11-17 07:19:49 +00:00
mkrunnable.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
node_name.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
parse.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
probes_to_wiki.rb probes_to_wiki.rb: fix comment and reduce unnecessary array 2013-07-11 01:46:40 +00:00
rbinstall.rb rbinstall.rb: umask hack 2017-02-07 02:49:02 +00:00
rbuninstall.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
redmine-backporter.rb fix a constant name typo in redmine-backporter.rb 2016-11-11 15:43:43 +00:00
release.sh * tool/release.sh: BRE accepts \{m,\} expression. use it for future many-digits 2016-04-01 03:27:17 +00:00
rmdirs tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
runruby.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
strip-rdoc.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
transcode-tblgen.rb transcode-tblgen.rb: dup literal string 2016-10-28 14:18:50 +00:00
update-deps update-deps: exclude timestamps 2016-07-06 05:37:14 +00:00
vcs.rb vcs.rb: no ext/date in vcs.rb 2016-12-14 08:25:56 +00:00
vpath.rb prelude.c.tmpl: strip prefix 2014-11-19 01:08:00 +00:00
vtlh.rb tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00
ytab.sed tool: add descriptions and fix typos 2016-07-02 21:01:04 +00:00