1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/tool
卜部昌平 d45a013a1a extend rb_call_cache
Prior to this changeset, majority of inline cache mishits resulted
into the same method entry when rb_callable_method_entry() resolves
a method search.  Let's not call the function at the first place on
such situations.

In doing so we extend the struct rb_call_cache from 44 bytes (in
case of 64 bit machine) to 64 bytes, and fill the gap with
secondary class serial(s).  Call cache's class serials now behavies
as a LRU cache.

Calculating -------------------------------------
                           ours         2.7         2.6
vm2_poly_same_method     2.339M      1.744M      1.369M i/s - 6.000M times in 2.565086s 3.441329s 4.381386s

Comparison:
             vm2_poly_same_method
                ours:   2339103.0 i/s
                 2.7:   1743512.3 i/s - 1.34x  slower
                 2.6:   1369429.8 i/s - 1.71x  slower
2019-11-07 17:41:30 +09:00
..
lib Try to run assert_output_unchanged with racc tests 2019-10-31 08:39:48 +09:00
m4 typedef rb_jmpbuf_t to void *[5] if __builtin_setjmp is used 2019-09-21 13:24:58 +09:00
ruby_vm extend rb_call_cache 2019-11-07 17:41:30 +09:00
test fix assertion number. 2019-10-02 17:19:14 +09:00
asm_parse.rb
bisect.sh
build-transcode
checksum.rb
colors
darwin-cc
downloader.rb
enc-emoji-citrus-gen.rb
enc-emoji4unicode.rb
enc-unicode.rb
eval.rb
expand-config.rb
extlibs.rb
fake.rb
fetch-bundled_gems.rb Use git pull instead of git fetch if master branch 2019-09-04 12:46:26 +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 Move format-release to tool and fix bugs 2019-10-22 21:44:19 +09:00
gem-unpack.rb
gen_dummy_probes.rb
gen_ruby_tapset.rb
generic_erb.rb
git-refresh
gperf.sed
id2token.rb
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 Fix typo [ci skip] 2019-10-08 00:00:24 +09:00
make_hgraph.rb
mdoc2man.rb
merger.rb
mjit_archflag.sh
mk_call_iseq_optimized.rb more on struct rb_call_data 2019-10-25 12:24:22 +09:00
mkconfig.rb
mkrunnable.rb
node_name.rb
parse.rb
prereq.status
probes_to_wiki.rb
pure_parser.rb
rbinstall.rb add include/ruby/backward/cxxanyargs.hpp 2019-09-06 15:50:58 +09:00
rbuninstall.rb
redmine-backporter.rb
release.sh tool/release.sh uses ruby-actions' result 2019-10-22 22:15:52 +09:00
rmdirs
run-gcov.rb
run-lcov.rb
runruby.rb
strip-rdoc.rb
sync_default_gems.rb Promote cgi to default gems 2019-11-07 16:36:14 +09:00
test-bundled-gems.rb Do not occupy ARGV by XRUBY command 2019-11-05 08:45:19 +09:00
test-coverage.rb
transcode-tblgen.rb
transform_mjit_header.rb
travis_retry.sh
update-deps
vtlh.rb
ytab.sed