mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
d5ec9ec308
* rb_call_info (ci) has compiled fixed information. * if ci->flag & VM_CALL_KWARG, then rb_call_info is also rb_call_info_with_kwarg. This technique reduce one word for major rb_call_info data. * rb_calling_info has temporary data (argc, blockptr, recv). for each method dispatch. This data is allocated only on machine stack. * rb_call_cache is for inline method cache. Before this patch, only rb_call_info_t data is passed. After this patch, above three structs are passed. This patch improves: * data locarity (rb_call_info is now read-only data). * reduce memory consumption (rb_call_info_with_kwarg, rb_calling_info). * compile.c: use above data. * insns.def: ditto. * iseq.c: ditto. * vm_args.c: ditto. * vm_eval.c: ditto. * vm_insnhelper.c: ditto. * vm_insnhelper.h: ditto. * iseq.h: add iseq_compile_data::ci_index and iseq_compile_data::ci_kw_indx. * tool/instruction.rb: introduce TS_CALLCACHE operand type. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e |
||
---|---|---|
.. | ||
test | ||
asm_parse.rb | ||
bisect.sh | ||
build-transcode | ||
change_maker.rb | ||
checksum.rb | ||
downloader.rb | ||
enc-emoji-citrus-gen.rb | ||
enc-emoji4unicode.rb | ||
enc-unicode.rb | ||
eval.rb | ||
expand-config.rb | ||
extlibs.rb | ||
fake.rb | ||
file2lastrev.rb | ||
gem-unpack.rb | ||
gen_dummy_probes.rb | ||
gen_ruby_tapset.rb | ||
generic_erb.rb | ||
id2token.rb | ||
ifchange | ||
insns2vm.rb | ||
install-sh | ||
instruction.rb | ||
jisx0208.rb | ||
make-snapshot | ||
make_hgraph.rb | ||
mdoc2man.rb | ||
merger.rb | ||
mkconfig.rb | ||
mkrunnable.rb | ||
node_name.rb | ||
parse.rb | ||
probes_to_wiki.rb | ||
rbinstall.rb | ||
rbuninstall.rb | ||
redmine-backporter.rb | ||
release.sh | ||
rmdirs | ||
rubytest.rb | ||
runruby.rb | ||
strip-rdoc.rb | ||
transcode-tblgen.rb | ||
update-deps | ||
vcs.rb | ||
vpath.rb | ||
vtlh.rb | ||
ytab.sed |