aboutsummaryrefslogtreecommitdiffstats
path: root/tool
Commit message (Collapse)AuthorAgeFilesLines
...
* Set typeflag [Bug #15461]nobu2018-12-251-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add a tool to update w.r-l.o files on releasenaruse2018-12-251-0/+204
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Keep RUBY_RELEASE_DATE's definitionnaruse2018-12-251-1/+2
| | | | | | if it uses Y/M/D macros. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rbinstall.rb: purge %x[git ls-files] toonobu2018-12-201-0/+1
| | | | | | [Bug #13423] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rbinstall.rb: syntax error in gemspecnobu2018-12-201-6/+3
| | | | | | | * tool/rbinstall.rb (load_gemspec): do not hide syntax errors in a gemspec file. check if the result instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* avoid passing unnecessary options to download methodduerst2018-12-191-0/+5
| | | | | | | | | The option --unicode-beta for tool/downloader.rb introduced in r66448 must not be passed as an option to actual download machinery. Thanks to MSP-Greg (Greg L.) for bug report and patch. This closes issue #15434. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add option to deal with Unicode beta data filesduerst2018-12-191-0/+9
| | | | | | | | | | | | | | | | | | | Unicode uses file names with explicit versions for beta publication. This commit introduces a variable on the makefile level to distinguish between beta and regular versions of file names. common.mk: Define new variable UNICODE_BETA, usually set to NO, but would be YES during tests with beta data files. Pass the value of this variable to tool/downloader.rb with option --unicode-beta. tool/downloader.rb: Receive and store value of --unicode-beta. Raise an exception if value is YES, because we don't yet actually deal with this case. Continue as usual if value is not YES. This completes the changes needed in the makefile. Upcomming changes will only affect tool/downloader.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Install script of default gems as is to its libexec dirusa2018-12-131-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Limit uplevel travarsingnobu2018-12-101-1/+5
| | | | | | | | * tool/vcs.rb (VCS.detect): limit level of travarsing parent directories, 0 by the default. curretly always detecting at the source directory itself. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Detection ordernobu2018-12-101-7/+6
| | | | | | | * tool/vcs.rb (VCS.detect): detect each VCS while travarsing parent directories. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Remove unnecessary require of fileutilsnobu2018-12-101-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Today I updated my ruby core clone, and I run the usual steps to compile ruby. When running "make", I run into the following error: ``` (... stuff ...) encdb.h unchanged Traceback (most recent call last): 5: from ./tool/mkconfig.rb:19:in `<main>' 4: from ./tool/mkconfig.rb:19:in `require' 3: from /home/deivid/Code/ruby/lib/fileutils.rb:4:in `<top (required)>' 2: from /home/deivid/Code/ruby/lib/fileutils.rb:4:in `require' 1: from /home/deivid/Code/ruby/rbconfig.rb:11:in `<top (required)>' /home/deivid/Code/ruby/rbconfig.rb:13:in `<module:RbConfig>': ruby lib version (2.5.0) doesn't match executable version (2.6.0) (RuntimeError) uncommon.mk:780: recipe for target '.rbconfig.time' failed make: *** [.rbconfig.time] Error 1 ``` Apparently, the script that generates the root `rbconfig.rb` file requires `fileutils`, which in turn requires 'rbconfig' (for mjit-headers it says in a comment), which uses the `rbconfig.rb` config file in the root folder if it exists. In my case, this file existed but had been generated on 2.5.0, thus causing the error. I think we can avoid this sort of circular dependency by not requiring `fileutils`, since it does not seem to be used anywhere in the `tool/mkconfig.rb` script since r55338. [Fix GH-2045] From: David Rodríguez <deivid.rodriguez@riseup.net> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add UNICODE_EMOJI_VERSION to RbConfig [Feature #15341]nobu2018-12-071-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* update-deps: support coroutine dependenciesnobu2018-12-031-1/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/downloader.rb: retry Net::OpenTimeoutk0kubun2018-12-011-1/+1
| | | | | | | to prevent random failure https://travis-ci.org/ruby/ruby/jobs/461667474 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Embed the Emoji versionnobu2018-11-271-23/+42
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Support targetting TracePoint [Feature #15289]ko12018-11-262-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vm_trace.c (rb_tracepoint_enable_for_target): support targetting TracePoint. [Feature #15289] Tragetting TracePoint is only enabled on specified method, proc and so on, example: `tp.enable(target: code)`. `code` should be consisted of InstructionSeuqnece (iseq) (RubyVM::InstructionSeuqnece.of(code) should not return nil) If code is a tree of iseq, TracePoint is enabled on all of iseqs in a tree. Enabled tragetting TracePoints can not enabled again with and without target. * vm_core.h (rb_iseq_t): introduce `rb_iseq_t::local_hooks` to store local hooks. `rb_iseq_t::aux::trace_events` is renamed to `global_trace_events` to contrast with `local_hooks`. * vm_core.h (rb_hook_list_t): add `rb_hook_list_t::running` to represent how many Threads/Fibers are used this list. If this field is 0, nobody using this hooks and we can delete it. This is why we can remove code from cont.c. * vm_core.h (rb_vm_t): because of above change, we can eliminate `rb_vm_t::trace_running` field. Also renamed from `rb_vm_t::event_hooks` to `global_hooks`. * vm_core.h, vm.c (ruby_vm_event_enabled_global_flags): renamed from `ruby_vm_event_enabled_flags. * vm_core.h, vm.c (ruby_vm_event_local_num): added to count enabled targetting TracePoints. * vm_core.h, vm_trace.c (rb_exec_event_hooks): accepts hook list. * vm_core.h (rb_vm_global_hooks): added for convinience. * method.h (rb_method_bmethod_t): added to maintain Proc and `rb_hook_list_t` for bmethod (defined by define_method). * prelude.rb (TracePoint#enable): extracet a keyword parameter (because it is easy than writing in C). It calls `TracePoint#__enable` internal method written in C. * vm_insnhelper.c (vm_trace): check also iseq->local_hooks. * vm.c (invoke_bmethod): check def->body.bmethod.hooks. * vm.c (hook_before_rewind): check iseq->local_hooks and def->body.bmethod.hooks before rewind by exception. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Sync the executables of rdoc from upstream repository.hsbt2018-11-261-1/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Use libexec for distination directory.hsbt2018-11-261-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Followed up r65963. Use libexec directory with sync tool.hsbt2018-11-261-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ChangeLog compatibility [ci skip]nobu2018-11-251-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | * tool/vcs.rb (VCS::GIT#export_changelog): improve the compatibility with svn-log. remained differences are: - in svn-log - accented characters, left/right single quotation marks, and non-break spaces are translated to ASCII characters - other non-ASCII characters are excoded as `{U+XXXX}` - in git-log - tabs are expanded - in git-log (intentional) - lines looking too indented are unindented - empty lines between headers and bodies are squeezed git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Use stub executables generated by RubyGems istead of original executables.hsbt2018-11-251-1/+1
| | | | | | | | | | | | It resolved the conflict issues when invoking `gem i rdoc` and the binstub issues with Bundler and Rails. [Bug #5060][ruby-core:38257][Fix GH-2023] * https://github.com/rubygems/rubygems/pull/2338 * https://github.com/heroku/heroku-buildpack-ruby/issues/829 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit_archflag.sh: fix bare word in the headernobu2018-11-221-1/+1
| | | | | | [ruby-dev:50674] [Bug #15319] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in: get rid of `local` for Solaris shnobu2018-11-211-1/+0
| | | | | | [ruby-dev:50673] [Bug #15319] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix for Solaris shnobu2018-11-191-1/+1
| | | | | | | | | * Makefile.in (mjit_config.h): removed unnecessary assignment. * tool/mjit_archflag.sh (define_arch_flags): need to quote on Solaris. [ruby-dev:50669] [Bug #15319] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* _colorize_result_prepare.m4: do not save CONFIGURE_TTYnobu2018-11-191-5/+5
| | | | | | | | redirection to a tty, file or pipe is not a permanent status. `rb_cv_` prefix means that it should be saved/restored across re-configurations. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* update-deps: fix runtime error [ci skip]nobu2018-11-181-1/+1
| | | | | | * tool/update-deps (init_global): environment strings are frozen. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Make some internal functions staticnobu2018-11-161-2/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rbinstall.rb: do not install rdoc flag files [ci skip]nobu2018-11-161-2/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* . command in some sh cannot take argumentsnobu2018-11-151-14/+16
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/mjit_archflag.sh: separated, too many escapesnobu2018-11-151-0/+39
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add RbConfig.fire_update!nobu2018-11-142-24/+43
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .travis.yml: specify --tty=noshyouhei2018-11-131-1/+7
| | | | | | | | | | | To reduce the amount of output, prefer --tty=no instead of --color=never. This option not only disables color output but also kill some tty-related features, like spinners. Travis limits its output by the physical size of the log, not by the number of lines. This change should make more room for new logs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix for bison 3.2 [Bug #15284]nobu2018-11-111-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Use friendlier terminology in leaf helpersnobu2018-11-111-6/+6
| | | | | | | | [Fix GH-2009] From: Juanito Fatas <juanito.fatas@shopify.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Following up r65583. Removed VCR files when retrieving code from upstream.hsbt2018-11-071-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c: move ASAN check to configureshyouhei2018-11-061-0/+1
| | | | | | | | | | | | | | Availability of attributes are checked in configure these days, rather than compiler macros. Also __attribute__((no_address_safety_analysis)) is considered deprecated in both GCC and Clang. Use the current best practice if available. See also: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html https://clang.llvm.org/docs/AddressSanitizer.html git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix a typo [ci skip]kazu2018-11-051-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Create MJIT header with strict permissionnobu2018-11-051-2/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Added bundler as default gems. Revisit [Feature #12733]hsbt2018-11-021-0/+9
| | | | | | | | | | | * bin/*, lib/bundler/*, lib/bundler.rb, spec/bundler, man/*: Merge from latest stable branch of bundler/bundler repository and added workaround patches. I will backport them into upstream. * common.mk, defs/gmake.mk: Added `test-bundler` task for test suite of bundler. * tool/sync_default_gems.rb: Added sync task for bundler. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* _mjit_compile_send.erb: do not inline tailcall ISeqk0kubun2018-10-301-1/+2
| | | | | | | | | | | because it's not supported by this file. Also, shared `def_iseq_ptr` instead of copying the main definition of it. vm_core.h: moved `def_iseq_ptr` to this place. added `inline` to avoid compiler warnings since it's not used in some files including vm_core.h. vm_insnhelper.c: moved `def_iseq_ptr` to vm_core.h. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* less verbose code by sharing attribute definitionsshyouhei2018-10-291-5/+19
| | | | | | | | | | The idea behind this commit is that handles_sp and leaf are two concepts that are not mutually independent. By making one explicitly depend another, we can reduces the number of lines of codes written, thus making things concise. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bare_instructions.rb: sort attributes [ci skip]shyouhei2018-10-291-1/+3
| | | | | | | | | This enhances stability of the generated source code (namely insns_info.inc) across attribute insertion / deletion. It does not change the compiled binary at all; just a bit of readability. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Added initialization task for default gems.hsbt2018-10-251-9/+30
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* _mjit_compile_ivar.erb: cancel on undefined ivark0kubun2018-10-241-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | I assumed somehow this check was not needed, but it did need. By canceling this instead of just warning here, we didn't lose the current performance so much. test_jit.rb: test the case that reproduces SEGV by that. TestGemStreamUI.rb: delete. This test on --jit-wait is fixed. === Optcarrot Benchmark === $ benchmark-driver benchmark.yml --rbenv 'before::before --disable-gems --jit;after::after --disable-gems --jit' -v --repeat-count 24 before: ruby 2.6.0dev (2018-10-24 trunk 65355) +JIT [x86_64-linux] after: ruby 2.6.0dev (2018-10-24 trunk 65355) +JIT [x86_64-linux] last_commit=_mjit_compile_ivar.erb: cancel on undefined ivar Calculating ------------------------------------- before after Optcarrot Lan_Master.nes 85.344 84.849 fps Comparison: Optcarrot Lan_Master.nes before: 85.3 fps after: 84.8 fps - 1.01x slower git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* _mjit_compile_send.erb: fix wrong cc usagesk0kubun2018-10-231-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit.c: remove wrongly-committed debug codek0kubun2018-10-211-1/+0
| | | | | | | | | | | | | | | | | | | | mistake in r65279. === Optcarrot Benchmark === $ benchmark-driver benchmark.yml --rbenv 'before::before --disable-gems --jit;after::after --disable-gems --jit' -v --repeat-count 24 before: ruby 2.6.0dev (2018-10-21 trunk 65277) +JIT [x86_64-linux] after: ruby 2.6.0dev (2018-10-21 trunk 65279) +JIT [x86_64-linux] last_commit=mjit.c: remove wrongly-committed debug code Calculating ------------------------------------- before after Optcarrot Lan_Master.nes 85.008 86.078 fps Comparison: Optcarrot Lan_Master.nes after: 86.1 fps before: 85.0 fps - 1.01x slower git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit.c: copy call cache values to MJIT workerk0kubun2018-10-211-5/+8
| | | | | | | | | | | | | | | | | | | | same as r65275 but for call cache. === Optcarrot Benchmark === $ benchmark-driver benchmark.yml --rbenv 'before::before --disable-gems --jit;after::after --disable-gems --jit' -v --repeat-count 24 before: ruby 2.6.0dev (2018-10-21 trunk 65277) +JIT [x86_64-linux] after: ruby 2.6.0dev (2018-10-21 trunk 65277) +JIT [x86_64-linux] last_commit=mjit.c: copy call cache values to MJIT worker Calculating ------------------------------------- before after Optcarrot Lan_Master.nes 85.372 85.359 fps Comparison: Optcarrot Lan_Master.nes before: 85.4 fps after: 85.4 fps - 1.00x slower git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* _mjit_compile_send.erb: don't split send_guardk0kubun2018-10-212-15/+6
| | | | | | | | | to another file, because it's no longer shared. It was created when attr_reader was inlined but it's no longer included. common.mk: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit.c: copy inline cache values to MJIT workerk0kubun2018-10-211-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on VM_CHECK_INTS. Letting MJIT worker directly see inline cache which may be being updated could result in inconsistent IC index and serial. mjit_worker.c: request the copy job after dequeue, and receive the result synchronously. tool/ruby_vm/views/_mjit_compile_ivar.erb: use the copied IC mjit_compile.c: change the interface to pass is_entries mjit.h: ditto === Optcarrot Benchmark === Thankfully this didn't have major performance regression. $ benchmark-driver benchmark.yml --rbenv 'before::before --disable-gems --jit;after::after --disable-gems --jit' -v --repeat-count 24 before: ruby 2.6.0dev (2018-10-21 trunk 65263) +JIT [x86_64-linux] after: ruby 2.6.0dev (2018-10-21 trunk 65263) +JIT [x86_64-linux] last_commit=mjit.c: copy inline cache values to MJIT worker Calculating ------------------------------------- before after Optcarrot Lan_Master.nes 85.421 85.454 fps Comparison: Optcarrot Lan_Master.nes after: 85.5 fps before: 85.4 fps - 1.00x slower git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert r65213 and r65215k0kubun2018-10-201-1/+1
| | | | | | as we didn't agree on the actual implementation yet git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e