ruby/tool
Takashi Kokubun b16a2aa938
Reduce code size for rb_class_of
by inlining only hot path.

=== mame/optcarrot ===

$ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark.yml --repeat-count=24 --output=all
before --jit: ruby 2.8.0dev (2020-05-18T05:21:31Z master 0e5a58b6bf) +JIT [x86_64-linux]
after --jit: ruby 2.8.0dev (2020-05-18T06:12:04Z master 0e3d71a8d1) +JIT [x86_64-linux]
last_commit=Reduce code size for rb_class_of
Calculating -------------------------------------
                                 before --jit           after --jit
Optcarrot Lan_Master.nes    71.62880463568773     70.95730063273503 fps
                            71.73973684273152     71.98447841929851
                            75.03923801841310     75.54262519509039
                            75.16300287174957     77.64029272984344
                            75.16834828625935     78.67861469580785
                            75.17670723726911     78.81879353707393
                            75.67637908020630     79.18188850392886
                            76.19843953215396     79.66484891814478
                            77.28166716118808     79.80278072861037
                            77.38509903325165     80.05859292679696
                            78.12693418455953     80.34624804808006
                            78.73654441746730     80.66326571254345
                            79.25387513454415     80.69760605740196
                            79.44137881689524     81.32053489212245
                            79.50497657368358     81.50250852553751
                            79.62401328582868     82.27544931834611
                            79.79178811723664     82.67455264522741
                            81.20275352937418     82.93857260493297
                            81.57027048640776     83.15019118788184
                            81.63373188649095     83.20728816044721
                            81.93420437766426     83.25027576772972
                            82.05716136357167     83.27072145898173
                            82.21070805525066     83.36008265822194
                            82.56924063784872     83.36112268888493

=== benchmark-driver/sinatra ===

[rps]
before: 13143.49 rps
after: 13505.70 rps

[inlined rb_class_of size]
before: 11.5K
after: 3.8K

(calculated by `dwarftree --die inlined_subroutine --flat --merge --show-size`)
2020-05-17 23:38:19 -07:00
..
bundler Added test_gems.rb for setup dependencies 2020-05-13 07:54:37 +09:00
lib Added --test-order=nosort option 2020-05-17 16:34:06 +09:00
m4 Merge pull request #2991 from shyouhei/ruby.h 2020-04-08 13:28:13 +09:00
ruby_vm Reduce code size for rb_class_of 2020-05-17 23:38:19 -07:00
test Workaround for Minitest5 2020-05-08 07:38:50 +09:00
actions-commit-info.sh Try to use set-output 2019-12-11 14:03:30 +09:00
asm_parse.rb
bisect.sh Recent commits of trunk do not have svn revision 2019-05-07 22:53:45 +09:00
build-transcode
checksum.rb Move vpath.rb into tool library direcotry. 2019-07-15 13:16:16 +09:00
colors Move to tool/lib from test/lib. 2019-07-02 07:59:54 +09:00
darwin-cc
downloader.rb Use https for downloading Unicode data. 2020-03-09 13:39:23 +09:00
enc-emoji-citrus-gen.rb Put jisx0208.rb to under the library directory. 2019-07-15 11:16:29 +09:00
enc-emoji4unicode.rb
enc-unicode.rb Embed the Emoji version 2018-11-27 06:44:02 +00:00
eval.rb
expand-config.rb
extlibs.rb extlibs.rb: fixed Downloader.cache_file call and return value 2020-05-14 17:19:39 +09:00
fake.rb
fetch-bundled_gems.rb fetch-bundled_gems.rb: Fixed the position of -c 2020-04-25 13:56:24 +09:00
file2lastrev.rb Exit gently if no VCS found but --suppress_not_found is given 2019-09-07 17:26:28 +09:00
format-release fix typo 2019-12-25 17:01:26 +09:00
gem-unpack.rb Remove unneeded exec bits from some files 2019-11-09 21:36:30 +09:00
gen-mailmap.rb Use CDN instead of raw.githubusercontent.com 2019-12-16 16:59:23 +09:00
gen_dummy_probes.rb
gen_ruby_tapset.rb
generic_erb.rb Removed needless LOAD_PATH modification. 2019-07-15 13:44:37 +09:00
git-refresh
gperf.sed
id2token.rb Removed needless LOAD_PATH modification. 2019-07-15 13:44:37 +09:00
ifchange
insns2vm.rb
install-sh
leaked-globals st.c: Use rb_st_* prefix instead of st_* (#2479) 2019-09-22 22:12:18 +09:00
make-snapshot Revert "Moved aclocal.m4 to macro directory" 2020-04-05 11:53:07 +09:00
make_hgraph.rb
mdoc2man.rb
merger.rb Add github repo to remove_tag 2019-11-22 19:05:58 +09:00
mjit_archflag.sh mjit_archflag.sh: fix bare word in the header 2018-11-22 06:09:07 +00:00
mjit_tabs.rb Make file names and variable names consistent 2020-03-23 22:33:01 -07:00
mk_builtin_loader.rb Also scan rescue clauses 2020-04-04 12:38:00 +09:00
mkconfig.rb [DOC] Updated module name [ci skip] 2020-03-30 15:53:55 +09:00
mkrunnable.rb
node_name.rb
parse.rb
prereq.status Substitute autoconf variables by prereq.status 2019-07-02 09:44:37 +09:00
probes_to_wiki.rb
pure_parser.rb Bison 3.5.91 now defaults parse.error to "simple" 2020-05-04 18:10:02 +09:00
rbinstall.rb rbinstall.rb: get rid of installing duplicate files 2020-05-09 01:22:16 +09:00
rbuninstall.rb rbuninstall.rb: show paths without destdir as well as rbinstall.rb 2020-05-09 13:45:50 +09:00
redmine-backporter.rb tool/redmine-backporter.rb: fix typo 2020-03-13 22:27:54 +09:00
release.sh fix version regexp 2019-12-25 18:02:53 +09:00
rmdirs
run-gcov.rb
run-lcov.rb
runruby.rb Fix some bundler specs (#2380) 2019-08-20 09:46:31 +09:00
strip-rdoc.rb
sync_default_gems.rb git co is alias of git checkout 2020-04-25 12:15:01 +09:00
test-bundled-gems.rb Test bundled gems with timeout 2020-01-19 11:35:10 +09:00
test-coverage.rb
transcode-tblgen.rb more on NULL versus functions. 2020-02-07 14:24:19 +09:00
transform_mjit_header.rb Mark some JIT-ed functions as COLDFUNC 2020-05-17 22:21:31 -07:00
travis_retry.sh We did not have tool/ before checkout 2019-08-12 14:37:26 +09:00
update-deps remove prelude.c 2019-12-11 11:24:42 +09:00
vtlh.rb
ytab.sed Bison 3.59.1 folds yydestruct function header 2020-05-04 13:35:38 +09:00