aboutsummaryrefslogtreecommitdiffstats
path: root/tool
Commit message (Collapse)AuthorAgeFilesLines
* insns_info.inc: position independentshyouhei2018-01-092-20/+43
| | | | | | | * 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
* comma at the end of enum is a C99ism.shyouhei2018-01-091-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* delete tool/instruction.rbshyouhei2018-01-0937-1260/+1751
| | | | | | | | | | | | | | | | | | | | | | | 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
* * append newline at EOF.svn2018-01-091-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* new insns.def formatshyouhei2018-01-093-3/+33
| | | | | | | - 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
* update-deps: strip -j optionnobu2018-01-091-0/+4
| | | | | | | | * 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
* tool/rbinstall.rb: allow owner to have write permissionsnormal2018-01-051-1/+1
| | | | | | | | | | | | | | 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
* tool/downloader.rb: don't suppress exceptionk0kubun2017-12-271-0/+2
| | | | | | | | 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
* tool/downloader.rb: retry downloadsk0kubun2017-12-271-2/+19
| | | | | | | | | | | 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
* fake.rb: set libdirnobu2017-12-271-0/+1
| | | | | | | * 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
* Postponing the Bundler merge.hsbt2017-12-221-9/+0
| | | | | | | 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
* vcs: --add-author-fromnobu2017-12-191-1/+11
| | | | | | | * 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
* vcs.rb: --add-author-from optionnobu2017-12-181-1/+1
| | | | | | From: Nobuyoshi Nakada <nobu@ruby-lang.org> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* aliasesusa2017-12-161-1/+1
| | | | | | | * tool/merger.rb: aliases for removetag command. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gperf.sed: static declarationsnobu2017-12-151-2/+2
| | | | | | | * 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
* add `removetag` commandusa2017-12-151-0/+33
| | | | | | | * 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
* check the existence of specified tagusa2017-12-151-0/+4
| | | | | | | | * 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
* vcs.rb: raise NotFoundError when command not foundnobu2017-12-131-0/+2
| | | | | | | * 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
* Revert r61054naruse2017-12-131-45/+31
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "switch from http to https for Unicode data file downloads"hsbt2017-12-121-1/+1
| | | | | | | | | 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
* switch from http to https for Unicode data file downloadsduerst2017-12-121-1/+1
| | | | | | (patch from MSP-Greg (Greg L), this closes issue #13962) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/coverage/coverage.c: remove COVERAGE_EXPERIMENTAL_MODEmame2017-12-121-1/+0
| | | | | | A NEWS entry is also added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_exec.h: introduce macros for abstarction.ko12017-12-111-2/+2
| | | | | | | | | | | | | | * vm_exec.h: declare two macros * START_OF_ORIGINAL_INSN() * DISPATCH_ORIGINAL_INSN() instead of inserting label and goto lines. For OPT_CALL_THREADED_CODE, first macro is empty and second macro is simply call the original insn function. * tool/instruction.rb: use above macros. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* support gperf 3.1nobu2017-12-082-1/+32
| | | | | | | | | | * tool/gperf.sed: extracted sed commands to a script. ANSI-C code produced by gperf 3.1 declares length arguments as `size_t`. it causes conflict with existing declarations, and needs casts for a local variable and return statements. [Feature #13883] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vcs.rb: fix r61054nobu2017-12-061-2/+2
| | | | | | | | * tool/vcs.rb (VCS::SVN.get_revisions): cmd_readd_at expects the whole arguments for IO.popen as the second argument, that is an array of command and mode. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file2lastrev.rb: suppress_not_foundnobu2017-12-061-1/+2
| | | | | | | * tool/file2lastrev.rb: exit successfully when command not found, and if --suppress_not_found is given. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vcs.rb: raise NotFoundError when command not foundnobu2017-12-061-31/+45
| | | | | | | * tool/vcs.rb (cmd_pipe_at, cmd_read_at, system): moved from GIT to VCS, and now raise VCS::NotFoundError when command not found. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revamp method coverage to support define_methodmame2017-12-052-4/+13
| | | | | | | | | | | | | | Traditionally, method coverage measurement was implemented by inserting `trace2` instruction to the head of method iseq. So, it just measured methods defined by `def` keyword. This commit drastically changes the measuring mechanism of method coverage; at `RUBY_EVENT_CALL`, it keeps a hash from rb_method_entry_t* to runs (i.e., it counts the runs per method entry), and at `Coverage.result`, it creates the result hash by enumerating all `rb_method_entry_t*` objects (by `ObjectSpace.each_object`). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Set binmode to handle non ASCII commit messagenaruse2017-12-031-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix for emoji-data.txtnobu2017-12-021-3/+3
| | | | | | | | | | | * common.mk: download emoji-data.txt. As emoji data files are located in a separate directory in Unicode.org site, reearranged Unicode data files directories same as the site. * tool/enc-unicode.rb (get_file): search emoji data files in the second argument path. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enc-unicode.rb: for gperf 3.1nobu2017-12-021-0/+1
| | | | | | | * tool/enc-unicode.rb: support for gperf 3.1, which defines length arguments as `size_t` but a local variable as `unsigned int`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Update to Onigmo 6.1.3-669ac9997619954c298da971fcfacccf36909d05.naruse2017-12-011-9/+12
| | | | | | [Bug #13892] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Ignored obsoleted `bundle_ruby` command from upstream.hsbt2017-11-271-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove `trace` instruction. [Feature #14104]ko12017-11-141-15/+38
| | | | | | | | | | | | | | | | | | | | | | | | | * tool/instruction.rb: create `trace_` prefix instructions. * compile.c (ADD_TRACE): do not add `trace` instructions but add TRACE link elements. TRACE elements will be unified with a next instruction as instruction information. * vm_trace.c (update_global_event_hook): modify all ISeqs when hooks are enabled. * iseq.c (rb_iseq_trace_set): added to toggle `trace_` instructions. * vm_insnhelper.c (vm_trace): added. This function is a body of `trace_` prefix instructions. * vm_insnhelper.h (JUMP): save PC to a control frame. * insns.def (trace): removed. * vm_exec.h (INSN_ENTRY_SIG): add debug output (disabled). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mk_call_iseq_optimized.rb: add mode string [ci skip]nobu2017-11-091-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/runruby.rb: fix RUNRUBY_USE_GDB casenobu2017-11-071-2/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* runruby.rb: add -C/--chdir optionnobu2017-11-051-1/+10
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* runruby.rb: support run.gdb by --debugger optionnobu2017-11-051-11/+30
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rbinstall.rb: show categories of default gemsnobu2017-10-301-5/+6
| | | | | | | | * tool/rbinstall.rb (#install_default_gem): show categories of default gems, pure ruby libraries and libraries with extensions. [ruby-core:83600] [Bug #14065] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* `vm_call_handler` and related functions accept `ec` instead of `th`.ko12017-10-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vm_core.h (vm_call_handler): fix to accept `ec` instead of `th`. * vm_args.c: the following functions accept `ec` instead of `th`. * raise_argument_error * argument_arity_error * argument_kw_error * setup_parameters_complex * vm_eval.c: ditto. * vm_call0 * vm_call0_cfunc_with_frame * vm_call0_cfunc * vm_call0_body * vm_insnhelper.c: ditto * vm_call_iseq_setup_tailcall_0start * vm_call_iseq_setup_normal_0start * vm_callee_setup_arg * vm_call_iseq_setup * vm_call_iseq_setup_2 * vm_call_iseq_setup_normal * vm_call_iseq_setup_tailcall * vm_cfp_consistent_p * vm_call_cfunc_with_frame * vm_call_cfunc * vm_call_ivar * vm_call_attrset * vm_call_bmethod_body * vm_call_bmethod * vm_call_opt_send * vm_call_opt_call * vm_call_method_missing * vm_call_zsuper * current_method_entry * vm_call_method_each_type * vm_call_method_nome * vm_call_method * vm_call_general * vm_call_super_method * tool/mk_call_iseq_optimized.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test-bundled-gems-fetchnobu2017-10-251-12/+22
| | | | | | | * tool/fetch-bundled_gems.rb: get rid of tool/git-refresh which requries Bourne shell. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fixed conflicted variables. v is already used another condition.hsbt2017-10-251-2/+2
| | | | | | [Misc #14050][ruby-core:83553] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix up r60243nobu2017-10-211-1/+1
| | | | | | | * tool/vcs.rb (VCS::GIT.get_revisions): use last revision also as changed revision when the head does not have svn ID. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Rename spec/rspec to .bundle.hsbt2017-10-211-1/+1
| | | | | | It used without rspec installation for test-* task. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* [EXPERIMENTAL] Added test-bundled-gems task.hsbt2017-10-212-1/+19
| | | | | | | `test-bundled-gems` invoke test suite of bundled gems with build environment. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add RUNRUBY_USE_GDB envvar for runruby.rb.ko12017-10-211-0/+8
| | | | | | | | | | | | * tool/runruby.rb: add RUNRUBY_USE_GDB environment variable. If RUNRUBY_USE_GDB=true then use 'gdb --args'. If there is 'run.gdb' file (made by 'make run.gdb') on current directory, run gdb with this file ('gdb -x run.gdb --args'). This envval is useful when you want to run test-all (and so on) with gdb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vcs.rb: try to extract revision number from tagsnobu2017-10-211-2/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* distinguish pass and fail by highlight [ci skip]nobu2017-10-142-2/+2
| | | | | | | | | * tool/colorize.rb: remove highlight attribute from "pass" to make distinguishable from "fail" by other than red-green colors. * tool/ifchange: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rbinstall.rb: fix for --cmd-type=cmdnobu2017-10-131-28/+32
| | | | | | | * tool/rbinstall.rb (PROLOG_SCRIPT): fix wrapper code for cmd script. [Bug#13997] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rbinstall.rb: shell code as commentsnobu2017-10-121-1/+2
| | | | | | | * tool/rbinstall.rb (PROLOG_SCRIPT): wrap shell code by =begin/=end as comments. [ruby-core:83202] [Bug#13997] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e