aboutsummaryrefslogtreecommitdiffstats
path: root/tool
Commit message (Collapse)AuthorAgeFilesLines
* tool/gen-mailmap.rb: odaira is removed as he is added in upstreamYusuke Endoh2019-12-151-2/+0
| | | | https://github.com/ruby/ruby-commit-hook/commit/ddc83bea6fe6f4696e140b605db10ef0c922bba6
* tool/gen-mailmap.rb: Added for generating git `.mailmap` fileYusuke Endoh2019-12-151-0/+49
| | | | | `.mailmap` can be used To show canonical names and email addresses. It is helpful for statistics of committers.
* readable function names for inline functions.Koichi Sasada2019-12-131-20/+52
| | | | | | | Now, C functions written by __builtin_cexpr!(code) and others are named as "__builtin_inline#{n}". However, it is difficult to know what the function is. This patch rename them into "__builtin_foo_#{lineno}" when cexpr! is in 'foo' method.
* implement make test-all TESTS=--gc-compact卜部昌平2019-12-121-2/+17
| | | | | | 79eb5e1acac2339c6ec71db723298bdfcd92b233 implemented RUBY_TEST_GC_COMPACT=1 so why not make it also possible via the command line argument.
* support gc_compact_checker on parallel test.Koichi Sasada2019-12-121-0/+1
|
* Make sure we don't push MOVED or NONE on the stackAaron Patterson2019-12-111-0/+2
|
* call GC.compact after each test.Koichi Sasada2019-12-122-0/+11
| | | | | RUBY_TEST_GC_COMPACT=1 enables GC.compact checker which calls GC.compact after each test.
* Try to use `set-output`Kazuhiro NISHIYAMA2019-12-111-5/+5
| | | | because commit info are not necessary in env.
* Update tool/mk_builtin_binary.rbKoichi Sasada2019-12-111-1/+1
| | | Co-Authored-By: Sutou Kouhei <kou@cozmixng.org>
* support cross-compilation.Koichi Sasada2019-12-111-17/+20
| | | | | | | | On cross-compilation, compiled binary can no be created because compiled binary should be created by same interpreter (on cross- compilation, host ruby is used to build ruby (BASERUBY)). So that cross-compilation system loads required scripts in text. It is same as miniruby.
* remove prelude.cKoichi Sasada2019-12-111-1/+0
| | | | | | | | | prelude.c is an automatically generated file by template/prelude.c.tmpl. However it does not contain any required functions. So remove it from dependency. Also miniprelude.c is included by mini_builtin.c and does not need to make miniprelude.o.
* Added the missing gemspec of raccHiroshi SHIBATA2019-12-101-0/+1
|
* Show failed commits only when existsaycabta2019-12-071-2/+4
|
* Introduce an "Inline IVAR cache" structAaron Patterson2019-12-052-3/+4
| | | | | | | | | This commit introduces an "inline ivar cache" struct. The reason we need this is so compaction can differentiate from an ivar cache and a regular inline cache. Regular inline caches contain references to `VALUE` and ivar caches just contain references to the ivar index. With this new struct we can easily update references for inline caches (but not inline var caches as they just contain an int)
* MJIT_CC and MJIT_SUPPORT are not a prefixTakashi Kokubun2019-12-041-1/+1
| | | | | 0b19e15a1239bff9ae854f522f954206ec910cf8 was also for "MJIT_SUPPORT" too.
* Prefer using MJIT_CC for JIT support checkTakashi Kokubun2019-12-041-1/+1
| | | | | because Solaris might have CC=cc and we'd like to check full path MJIT_CC=/opt/developerstudio12.5/bin/cc instead.
* Make TracePoint.stat a singleton method again (#2726)Alan Wu2019-12-041-1/+1
| | | [Bug #16399]
* tool/lib/test/unit/parallel.rb: fail explicitly when failing to get ioYusuke Endoh2019-12-032-2/+8
| | | | | | | `(ulimit -n 30; make test-tool)` fails with unexplicit message: "undefined method `write' for nil:NilClass" due to lack of stdout. This change makes it explicit. [Bug #5577]
* Promote did_you_mean to default gemKevin Deisz2019-11-301-0/+8
| | | | At the moment, there are some problems with regard to bundler + did_you_mean because of did_you_mean being a bundled gem. Since the vendored version of thor inside bundler and ruby itself explicitly requires did_you_mean, it can become difficult to load it when using Bundler.setup. See this issue: https://github.com/yuki24/did_you_mean/issues/117#issuecomment-482733159 for more details.
* [ruby/fileutils] Fix test failure under ruby 2.4David Rodríguez2019-12-011-1/+1
| | | | | | `Exception#full_message` is only defined on ruby 2.5.0 and above. https://github.com/ruby/fileutils/commit/a8968f41ed
* [ruby/fileutils] Fix error printing test failureDavid Rodríguez2019-12-011-1/+1
| | | | | | | | | | | | | | | | | | | `exception_details` is not defined anywhere. This commit fixes the following test crash in ruby 2.4 ``` Error: test_assert_output_lines(TestFileUtils): NoMethodError: undefined method `exception_details' for #<TestFileUtils:0x00005556ef699178> ``` And replaces it with an actual test failure: ``` [Test::Unit::CoreAssertions::MiniTest::Assertion] exception expected, not #<NoMethodError: undefined method `full_message' for #<RuntimeError: ok> Did you mean? message>. ``` https://github.com/ruby/fileutils/commit/2f38ba6e82
* Add to support the single commit for sync_default_gems.rbHiroshi SHIBATA2019-11-301-0/+4
|
* Remove e2mmap from sync_default_gems.rbHiroshi SHIBATA2019-11-301-6/+0
|
* Use more template feature of w.r-l.oNARUSE, Yui2019-11-281-22/+29
|
* rename __builtin_inline!(code) and introduce others.Koichi Sasada2019-11-271-22/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rename __builtin_inline!(code) to __builtin_cstmt(code). Also this commit introduce the following inlining C code features. * __builtin_cstmt!(STMT) (renamed from __builtin_inline!) Define a function which run STMT implicitly and call this function at evatuation time. Note that you need to return some value in STMT. If there is a local variables (includes method parameters), you can read these values. static VALUE func(ec, self) { VALUE x = ...; STMT } Usage: def double a # a is readable from C code. __builtin_cstmt! 'return INT2FIX(FIX2INT(a) * 2);' end * __builtin_cexpr!(EXPR) Define a function which invoke EXPR implicitly like `__builtin_cstmt!`. Different from cstmt!, which compiled with `return EXPR;`. (`return` and `;` are added implicitly) static VALUE func(ec, self) { VALUE x = ...; return EXPPR; } Usage: def double a __builtin_cexpr! 'INT2FIX(FIX2INT(a) * 2)' end * __builtin_cconst!(EXPR) Define a function which invoke EXPR implicitly like cexpr!. However, the function is called once at compile time, not evaluated time. Any local variables are not accessible (because there is no local variable at compile time). Usage: GCC = __builtin_cconst! '__GNUC__' * __builtin_cinit!(STMT) STMT are writtein in auto-generated code. This code does not return any value. Usage: __builtin_cinit! '#include <zlib.h>' def no_compression? __builtin_cconst! 'Z_NO_COMPRESSION ? Qtrue : Qfalse' end
* Write rbinc files to the source directoryNobuyoshi Nakada2019-11-261-3/+11
| | | | | Update the target file itself of the dependency on this script. Fall back to the current working directory if unwritable.
* Add sync task for ruby/opensslHiroshi SHIBATA2019-11-261-0/+13
|
* Add github repo to remove_tagNARUSE, Yui2019-11-221-0/+2
|
* Use jsDelivr instead of raw.githubusercontent.comKazuhiro NISHIYAMA2019-11-221-1/+1
| | | | | | | | | | Try to fix download error on Solaris CI https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11x/ruby-master/log/20191121T162422Z.fail.html.gz ``` tool/downloader.rb:243:in `rescue in download': failed to download config.guess (RuntimeError) Net::HTTPFatalError: 503 "Service Unavailable": https://raw.githubusercontent.com/gcc-mirror/gcc/master/config.guess ```
* Dependents on probes.h need the dummy header tooNobuyoshi Nakada2019-11-181-0/+3
|
* Build ruby-runnerNobuyoshi Nakada2019-11-181-1/+1
|
* Skip dependencies on timestamp filesNobuyoshi Nakada2019-11-181-0/+1
|
* Warn on access/modify of $SAFE, and remove effects of modifying $SAFEJeremy Evans2019-11-181-5/+0
| | | | | | | | | | | | | | | | | This removes the security features added by $SAFE = 1, and warns for access or modification of $SAFE from Ruby-level, as well as warning when calling all public C functions related to $SAFE. This modifies some internal functions that took a safe level argument to no longer take the argument. rb_require_safe now warns, rb_require_string has been added as a version that takes a VALUE and does not warn. One public C function that still takes a safe level argument and that this doesn't warn for is rb_eval_cmd. We may want to consider adding an alternative method that does not take a safe level argument, and warn for rb_eval_cmd.
* Removed sync library from sync toolHiroshi SHIBATA2019-11-131-1/+0
|
* Avoid top-level search for nested constant reference from nil in defined?Dylan Thacker-Smith2019-11-131-0/+1
| | | | | | | | | | | | Fixes [Bug #16332] Constant access was changed to no longer allow top-level constant access through `nil`, but `defined?` wasn't changed at the same time to stay consistent. Use a separate defined type to distinguish between a constant referenced from the current lexical scope and one referenced from another namespace.
* Add commit number of today to notification of GitHub ActionsKazuhiro NISHIYAMA2019-11-131-0/+17
|
* Strip the last line which become trailing spacesNobuyoshi Nakada2019-11-121-1/+1
|
* Get rid of `__` prefix which is presereved by C standardNobuyoshi Nakada2019-11-121-1/+1
|
* tool/lib/leakchecker.rb: show the code location that allocated leaked fdYusuke Endoh2019-11-122-16/+29
| | | | | | | by using ObjectSpace.trace_object_allocations. `make test-all LEAK_CHECKER_TRACE_OBJECT_ALLOCATION=true` will print not only leaked fds but also where it was created.
* format-release uses the result of GitHub ActionsNARUSE, Yui2019-11-121-31/+71
|
* Always use git.ruby-lang.org as originNARUSE, Yui2019-11-121-3/+4
| | | | | naruse sets remote.origin.pushUrl = nonexistent as fail-safe configuration to avoid accidentally push a new branch to origin.
* Revert "Revert "Promote uri to default gems""Hiroshi SHIBATA2019-11-111-0/+2
| | | | | | This reverts commit fdfad905227a0e2e4c224d87181041fb75d5082e. f1f27da6c457684fdbfc0352297e6847f675ce4c resolved this.
* __builtin_inline!Koichi Sasada2019-11-111-5/+53
| | | | | | | | | | | | | | | | | Add an experimental `__builtin_inline!(c_expression)` special intrinsic which run a C code snippet. In `c_expression`, you can access the following variables: * ec (rb_execution_context_t *) * self (const VALUE) * local variables (const VALUE) Not that you can read these variables, but you can not write them. You need to return from this expression and return value will be a result of __builtin_inline!(). Examples: `def foo(x) __builtin_inline!('return rb_p(x);'); end` calls `p(x)`. `def double(x) __builtin_inline!('return INT2NUM(NUM2INT(x) * 2);')` returns x*2.
* Remove binary data at installationNobuyoshi Nakada2019-11-111-1/+1
| | | | | And revert "Relaxed warning assertions", 6f9be8505d172b110ec449478a791d70b9b74afb.
* Remove unneeded exec bits from some filesDavid Rodríguez2019-11-091-0/+0
| | | | | | | | | | | | | I noticed that some files in rubygems were executable, and I could think of no reason why they should be. In general, I think ruby files should never have the executable bit set unless they include a shebang, so I run the following command over the whole repo: ```bash find . -name '*.rb' -type f -executable -exec bash -c 'grep -L "^#!" $1 || chmod -x $1' _ {} \; ```
* Revert "Promote uri to default gems"Hiroshi SHIBATA2019-11-091-2/+0
| | | | | | | This reverts commit c5b4d2a2592942766dc2789f46105b91eba7026a. This commit affects with activation feature of RubyGems. [Bug #16337][ruby-core:95768]
* Full-path of builtin scripts no longer neededNobuyoshi Nakada2019-11-091-4/+2
|
* Add debug printKazuhiro NISHIYAMA2019-11-091-0/+2
| | | | | | | | | | http://ci.rvm.jp/results/trunk-mjit@silicon-docker/2380788 ``` test_all #<Thread:0x000055b6c8e9fca8@/tmp/ruby/v2/src/trunk-mjit/tool/lib/test/unit/parallel.rb:42 run> terminated with exception (report_on_exception is true): <internal:pack>:134:in `pack': no implicit conversion of false into String (TypeError) from /tmp/ruby/v2/src/trunk-mjit/tool/lib/test/unit/parallel.rb:160:in `_report' from /tmp/ruby/v2/src/trunk-mjit/tool/lib/test/unit/parallel.rb:45:in `block in _run_suite' ```
* Promote uri to default gemsHiroshi SHIBATA2019-11-091-0/+2
|
* Promote yaml to default gemsHiroshi SHIBATA2019-11-091-0/+2
|