summaryrefslogtreecommitdiff
path: root/tool
AgeCommit message (Collapse)Author
2018-01-27vcs.rb: prepend DebugSystem to VCSnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-27bare_instructions.rb: show class name on inspectk0kubun
as it's helpful for debugging. I'm not sure what's the good output for RubyVM::TraceInstructions, so I left it as it is. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-27insns2vm.rb: add missing word to helpk0kubun
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-27insns2vm.rb: make #generate_parser privatek0kubun
which is only used by #router. To make it private, we need to stop defining them on top-level. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-27dumper.rb: stop getting --destdir option valuek0kubun
via current directory. It's kind of a global state and fragile to implementation changes in other places, and how the `Dir.getwd` is set is not obvious from just reading around `RubyVM::Dumper#initialize` if it depends on the global state. tool/ruby_vm/controllers/application_controller.rb: explicitly pass destdir to RubyVM::Dumper. tool/ruby_vm/scripts/insns2vm.rb: explicitly pass destdir parsed from optparse. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-26vcs.rb: old version cannot refine modulesnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-26vcs.rb: dcommit for each commitnobu
svn to git bridge on ci.ruby-lang.org sometimes stalls when dcommitting some commits at once. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-26vcs.rb: debug print in system methodnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-26move ADD_PC around to optimize PC manipluiationsshyouhei
This commit introduces new attribute handles_flame and if that is _not_ the case, places ADD_PC right after INC_SP. This improves locality of PC manipulations to prevents unnecessary register spill- outs. As a result, it reduces the size of vm_exec_core from 32,688 bytes to 32,384 bytes on my machine. Speedup is very faint, but certain. ----------------------------------------------------------- benchmark results: minimum results in each 3 measurements. Execution time (sec) name before after so_ackermann 0.476 0.464 so_array 0.742 0.728 so_binary_trees 5.493 5.466 so_concatenate 3.619 3.395 so_count_words 0.190 0.184 so_exception 0.249 0.239 so_fannkuch 0.994 0.953 so_fasta 1.369 1.374 so_k_nucleotide 1.111 1.111 so_lists 0.470 0.481 so_mandelbrot 2.059 2.050 so_matrix 0.466 0.465 so_meteor_contest 2.712 2.781 so_nbody 1.154 1.204 so_nested_loop 0.852 0.846 so_nsieve 1.636 1.623 so_nsieve_bits 2.073 2.039 so_object 0.616 0.584 so_partial_sums 1.464 1.481 so_pidigits 1.075 1.082 so_random 0.321 0.317 so_reverse_complement 0.555 0.558 so_sieve 0.495 0.490 so_spectralnorm 1.634 1.627 Speedup ratio: compare with the result of `before' (greater is better) name after so_ackermann 1.025 so_array 1.019 so_binary_trees 1.005 so_concatenate 1.066 so_count_words 1.030 so_exception 1.040 so_fannkuch 1.043 so_fasta 0.996 so_k_nucleotide 1.000 so_lists 0.978 so_mandelbrot 1.004 so_matrix 1.001 so_meteor_contest 0.975 so_nbody 0.959 so_nested_loop 1.007 so_nsieve 1.008 so_nsieve_bits 1.017 so_object 1.056 so_partial_sums 0.989 so_pidigits 0.994 so_random 1.014 so_reverse_complement 0.996 so_sieve 1.010 so_spectralnorm 1.004 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-20Emacs friendliness [ci skip]shyouhei
Just add comment by: sed -i $'1i\\\n# -*- Autoconf -*-' tool/m4/*.m4 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-20refactor split configure.ac into filesshyouhei
This does not (yet) change anything. The generated configure file is the identical to previous one (except several empty lines added and deleted). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-15tool/ruby_vm/models/attribute.rb: void for empty argumentsnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-15more ytab.sed fixesnobu
* tool/ytab.sed: fix for more old bison which does not support %lex-param at yydestruct (missed at the previous commit). define yy_stack_print macro to add `p` argument instead of replacement at callers. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-15more ytab.sed fixesnobu
* tool/ytab.sed: `p` is too short to distinguish alone from other names. fix for more old bison which does not support %lex-param at yydestruct. add `p` argument to non-prototype declaration of yy_stack_print. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-15tool/ytab.sed: Support some old bison implementationsmame
At least, I confirmed bison 2.3 (because macOS uses the version). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-14parse.y: Use "p" for the variable of struct parser_params consistentlymame
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-13__VA_ARGS__ is a C99ismshyouhei
give up CALL_ATTRIBUTE macro. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-12merge revision: 61746shyouhei
`signed` is required for Rasbian (x86_64). * tool/ruby_vm/views/_insn_stack_increase.erb: specify `signed` explicitly for systems which use `unsigned` for `char` type. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-12tool/ruby_vm support for pre-2.0 BASERUBYshyouhei
This was not requested :) but actually easier than the previous so I just did it anyway. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-12tool/ruby_vm support for pre-2.1 BASERUBYshyouhei
as requested by devs, support for BASERUBY prior to 2.1 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-12tool/ruby_vm support for pre-2.3 BASERUBYshyouhei
as requested by devs, support for BASERUBY prior to 2.3 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-12delete tool/instruction.rb (2nd try)shyouhei
Previous commit changed insns.def format. Now is the time for its generators. In doing so I chose to modernize the system, not just patch. My attempt includes - extensive use of Onigumo regular expressions - split from one big file (instruction.rb) into separated MVC - partial view Also, let me take this opportunity to kill old unused features such as - stack caching - minsns / yasmdata which are never seriously used - yarvarch document generation (moved to doc/) - vast majority of unused arguments to insns2vm.rb This commit generates VM source codes that cleanly compile, and the generated binary passes tests. At least for me. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-12new insns.def format (2nd try)shyouhei
- Gave up @j comments - Room for sp_inc to be a proper grammer element git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-10tool/downloader.rb: retry against Errno::ETIMEDOUTk0kubun
instead of Errno::ECONNREFUSED. As I commented in r61498, at that moment I was not sure if the actual exception is really `Errno::ECONNREFUSED` or not. In https://ci.appveyor.com/project/ruby/ruby/build/1.0.6974, I could confirm that the download can fail with `Errno::ETIMEDOUT`. So I want to retry that. Let's add `Errno::ECONNREFUSED` too if it fails with the exception. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-10merge revisions 61753:61750 61747:61740 61737:61728shyouhei
Revert all the VM generator rewrites; requested by naruse git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-10Fixed typos.hsbt
* tool/ruby_vm/loaders/opt_operand_def.rb: grammer -> grammar * tool/ruby_vm/scripts/insns2vm.rb: beginnig -> beginning git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09`signed` is required for Rasbian (x86_64).ko1
* tool/ruby_vm/views/_insn_stack_increase.erb: specify `signed` explicitly for systems which use `unsigned` for `char` type. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09grep_v is ruby 2.3 featurenaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09Here document <<~ is Ruby 2.3 featurenaruse
baseruby should support wider ruby versions git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09insns_info.inc.tmpl: share large tableseshyouhei
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09insns_info.inc: position independentshyouhei
* template/insns_info.inc.tmpl (insn_name_info): make position independent for large strings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09comma at the end of enum is a C99ism.shyouhei
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09delete tool/instruction.rbshyouhei
Previous commit changed insns.def format. Now is the time for its generators. In doing so I chose to modernize the system, not just patch. My attempt includes - extensive use of Onigumo regular expressions - split from one big file (instruction.rb) into separated MVC - partial view Also, let me take this opportunity to kill old unused features such as - stack caching - minsns / yasmdata which are never seriously used - yarvarch document generation (moved to doc/) - vast majority of unused arguments to insns2vm.rb This commit generates VM source codes that cleanly compile, and the generated binary passes tests. At least for me. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09* append newline at EOF.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09new insns.def formatshyouhei
- Gave up @j comments - Room for sp_inc to be a proper grammer element git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09update-deps: strip -j optionnobu
* update-deps: strip -j option from ENV['GNUMAKEFLAGS'], not dirstack to get confused by intermingled entering/leaveing directory messages. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-05tool/rbinstall.rb: allow owner to have write permissionsnormal
Denying write permissions to the owner seems wrong. Oddly, this problem only manifests in the "ruby_2_4" branch when installing bundled gems (rake and friends). It does not happen with "ruby_2_3", or "trunk", so it might be related to RubyGems changes. * tool/rbinstall.rb: set umask to 022 [ruby-core:84420] [Bug #14227] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-27tool/downloader.rb: don't suppress exceptionk0kubun
on the end of retry failure. Fixed mistake in r61498 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-27tool/downloader.rb: retry downloadsk0kubun
because it's randomly failing on CI like https://ci.appveyor.com/project/ruby/ruby/build/1.0.6724 Actually I'm not sure whether the exception class is Errno::ECONNREFUSED or not. Please change the rescued exception to the correct one if it's wrong. I changed to log exception class too in this commit. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-27fake.rb: set libdirnobu
* tool/fake.rb: set "libdir" to build directory too, so that spec/ruby/optional/capi/spec_helper.rb can find libruby_so. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-22Postponing the Bundler merge.hsbt
I faced a big issue about Bundler with ruby core. I have no time to resolve it issue before 2.5 final release. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-19vcs: --add-author-fromnobu
* tool/vcs.rb (VCS::GIT#commit): no --add-author-from option if author equals committer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-18vcs.rb: --add-author-from optionnobu
From: Nobuyoshi Nakada <nobu@ruby-lang.org> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-16aliasesusa
* tool/merger.rb: aliases for removetag command. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-15gperf.sed: static declarationsnobu
* tool/gperf.sed: comment out arguments part only, to keep the following declarations static. [Feature #13883] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-15add `removetag` commandusa
* tool/merger.rb (remove_tag): add `removetag` command. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-15check the existence of specified tagusa
* tool/merger.rb (tag): check the existence of specified tag before tagging to get rid of careless mistakes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-13vcs.rb: raise NotFoundError when command not foundnobu
* tool/vcs.rb (VCS#get_revisions): raise VCS::NotFoundError when command not found. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-13Revert r61054naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-12Revert "switch from http to https for Unicode data file downloads"hsbt
This reverts commit 90de118a75921a08497b41de2950971073b3c924. The environment of mswinci couldn't handle https download. (It's certificates problem, We should upgrade its environment) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e