summaryrefslogtreecommitdiff
path: root/tool
AgeCommit message (Collapse)Author
2022-11-07jobserver option may not be at the lastNobuyoshi Nakada
2022-11-07Set `autoclose:` for inherited FDs only [ci skip]Nobuyoshi Nakada
2022-11-06GNU make 4.4 now uses a fifo for the jobserverNobuyoshi Nakada
2022-11-04Don't report changed ENV caused by BundlerPeter Zhu
Bundler's backups changes environment variables starting with BUNDLER_ORIG_. This causes a lot of noise in tests as the leakchecker reports them as changed.
2022-11-04mkconfig.rb: take CPU name from arch flagNobuyoshi Nakada
2022-11-04sync_default_gems.rb: fix a typo [ci skip]Nobuyoshi Nakada
2022-11-04sync_default_gems.rb: fix the position to insert the original URLNobuyoshi Nakada
Since the regexp had expected an empty line before `Co-Authored-By:` trailer lines, it failed to match when the body has the trailer only.
2022-11-04sync_default_gems.rb: accept log input from other than STDINNobuyoshi Nakada
2022-11-02Fix crash in test runner on timeoutPeter Zhu
When a test worker hangs and timeouts, the test runner crashes with the following stack trace: ruby/tool/lib/test/unit.rb:1747:in `puke': undefined method `backtrace' for Timeout::Error:Class (NoMethodError) from ruby/tool/lib/test/unit.rb:790:in `block in _run_parallel' from ruby/tool/lib/test/unit.rb:788:in `each' This commit adds handling for Timeout::Error and outputs a message.
2022-11-02file2lastrev.rb: changed revision may be `nil` [ci skip]Nobuyoshi Nakada
When `--suppress_not_found` option is given, no revision information is available. And remove extraneous newline, when result is empty or ends with a newline.
2022-11-02file2lastrev.rb: try to overwrite the found revision.h as beforeNobuyoshi Nakada
2022-11-02file2lastrev.rb: separate options for `Output` and `VPath`Nobuyoshi Nakada
So the `--srcdir` option in this file can override the same option in `VPath`.
2022-11-01file2lastrev.rb: use output.rb for the optionsNobuyoshi Nakada
2022-11-01file2lastrev.rb: rename output as formatNobuyoshi Nakada
Also: - format -> time_format - output -> formatter
2022-11-01output.rb: extract from generic_erb.rbNobuyoshi Nakada
- writing to a file or stdout - touching timestamp files - overwriting only if changed - colorizing
2022-11-01colorize.rb: support for NO_COLORNobuyoshi Nakada
2022-11-01vpath.rb: tweak --vpath option messageNobuyoshi Nakada
2022-11-01vcs.rb: do not reference the constant before assignmentNobuyoshi Nakada
2022-10-30vcs.rb: copy safe directory configurationNobuyoshi Nakada
Now revision.tmp will be regenerated always and every times, even if the recent file exists in the source directory, as far as using git. On the other hand, VirtualBox mounts shared folders as root, and git rejects the repository there as dubious ownership. Notes: Merged: https://github.com/ruby/ruby/pull/6647
2022-10-30vcs.rb: prettify debug printNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6647
2022-10-28sync_default_gems.rb: do not add extra empty lines [ci skip]Nobuyoshi Nakada
2022-10-28sync_default_gems.rb: append orignal commit URLs to subject only logNobuyoshi Nakada
2022-10-25sync_default_gems.rb: Ignore unmergeable files [ci skip]Nobuyoshi Nakada
2022-10-24Remove iv_index_tbl_entryJohn Hawthorn
Notes: Merged: https://github.com/ruby/ruby/pull/6610
2022-10-24Strip trailing spaces [ci skip]Nobuyoshi Nakada
2022-10-24Fix error when commit hash is removed [ci skip]Nobuyoshi Nakada
2022-10-19Fix and improve coroutines for Darwin (macOS) ppc/ppc64. (#5975)Sergey Fedorov
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-10-19sync_default_gems.rb: commit all after replaced rdoc-ref [ci skip]Nobuyoshi Nakada
2022-10-18sync_default_gems.rb: fold too long subject [ci skip]Nobuyoshi Nakada
Line with substituted issue references with URLs are often very long. Although Git (and GitHub) recommends folding subject lines less than 50 columns, but many commits ignore this, so fold at 68 columns for now.
2022-10-17ruby/ruby-commit-hook has been renamed [ci skip]Takashi Kokubun
to ruby/git.ruby-lang.org
2022-10-18sync_default_gems.rb: fix links to GitHub issuesNobuyoshi Nakada
- Substitute `GH-xxxx` which does not contain `#` too. - Split each substitutions.
2022-10-13Only expose Ruby Shape API if VM_CHECK_MODE is enabledAaron Patterson
2022-10-13Revert "FreeBSD make uses the target under srcdir [ci skip]"Nobuyoshi Nakada
This reverts commit 751ffb276f658518c6fe06461a9d3d1c136c7d5d, which caused build failures on other platforms.
2022-10-13FreeBSD make uses the target under srcdir [ci skip]Nobuyoshi Nakada
2022-10-12file2lastrev.rb: Refactor VCS directory searchNobuyoshi Nakada
Search VCS directory after other options are in effective, i.e., `--srcdir=nonexitent --suppress_not_found` options, as well as the reverse order case, should print the current date only and exit successfully.
2022-10-12sync_default_gems: Replace the URIs to be redirectedNobuyoshi Nakada
The reference generated by using RDoc without the proper `--page-dir` option (or `.rdoc_options`) file may contain `/doc/`. Since these URIs are redirected by the server now, replace such URIs with the corresponding rdoc-refs too.
2022-10-12sync_default_gems: Add rdoc-ref command to testNobuyoshi Nakada
2022-10-12sync_default_gems: Replace the external URIs to docs with rdoc-refNobuyoshi Nakada
2022-10-12sync_default_gems: Should match with the beginning of the stringsNobuyoshi Nakada
`git status -z` result is NUL-separated, and can contain newline characters.
2022-10-11Revert "Revert "This commit implements the Object Shapes technique in CRuby.""Jemma Issroff
This reverts commit 9a6803c90b817f70389cae10d60b50ad752da48f.
2022-09-30Revert "This commit implements the Object Shapes technique in CRuby."Aaron Patterson
This reverts commit 68bc9e2e97d12f80df0d113e284864e225f771c2.
2022-09-30Add `--zone` option to `VCS`Nobuyoshi Nakada
Which controls the timezone offset for `RUBY_RELEASE_DATE`. Notes: Merged: https://github.com/ruby/ruby/pull/6473
2022-09-30Introduce `VCS::Null` for fallbackNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6473
2022-09-30Check for the availability of the command when detectingNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6473
2022-09-30Pull up `VCS.short_revision` from `VCS::SVN`Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6473
2022-09-28This commit implements the Object Shapes technique in CRuby.Jemma Issroff
Object Shapes is used for accessing instance variables and representing the "frozenness" of objects. Object instances have a "shape" and the shape represents some attributes of the object (currently which instance variables are set and the "frozenness"). Shapes form a tree data structure, and when a new instance variable is set on an object, that object "transitions" to a new shape in the shape tree. Each shape has an ID that is used for caching. The shape structure is independent of class, so objects of different types can have the same shape. For example: ```ruby class Foo def initialize # Starts with shape id 0 @a = 1 # transitions to shape id 1 @b = 1 # transitions to shape id 2 end end class Bar def initialize # Starts with shape id 0 @a = 1 # transitions to shape id 1 @b = 1 # transitions to shape id 2 end end foo = Foo.new # `foo` has shape id 2 bar = Bar.new # `bar` has shape id 2 ``` Both `foo` and `bar` instances have the same shape because they both set instance variables of the same name in the same order. This technique can help to improve inline cache hits as well as generate more efficient machine code in JIT compilers. This commit also adds some methods for debugging shapes on objects. See `RubyVM::Shape` for more details. For more context on Object Shapes, see [Feature: #18776] Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org> Co-Authored-By: Eileen M. Uchitelle <eileencodes@gmail.com> Co-Authored-By: John Hawthorn <john@hawthorn.email>
2022-09-28Install all file trees for lldb [ci skip]Nobuyoshi Nakada
It is no longer single lldb_cruby.py only.
2022-09-26Revert this until we can figure out WB issues or remove shapes from GCAaron Patterson
Revert "* expand tabs. [ci skip]" This reverts commit 830b5b5c351c5c6efa5ad461ae4ec5085e5f0275. Revert "This commit implements the Object Shapes technique in CRuby." This reverts commit 9ddfd2ca004d1952be79cf1b84c52c79a55978f4.
2022-09-26This commit implements the Object Shapes technique in CRuby.Jemma Issroff
Object Shapes is used for accessing instance variables and representing the "frozenness" of objects. Object instances have a "shape" and the shape represents some attributes of the object (currently which instance variables are set and the "frozenness"). Shapes form a tree data structure, and when a new instance variable is set on an object, that object "transitions" to a new shape in the shape tree. Each shape has an ID that is used for caching. The shape structure is independent of class, so objects of different types can have the same shape. For example: ```ruby class Foo def initialize # Starts with shape id 0 @a = 1 # transitions to shape id 1 @b = 1 # transitions to shape id 2 end end class Bar def initialize # Starts with shape id 0 @a = 1 # transitions to shape id 1 @b = 1 # transitions to shape id 2 end end foo = Foo.new # `foo` has shape id 2 bar = Bar.new # `bar` has shape id 2 ``` Both `foo` and `bar` instances have the same shape because they both set instance variables of the same name in the same order. This technique can help to improve inline cache hits as well as generate more efficient machine code in JIT compilers. This commit also adds some methods for debugging shapes on objects. See `RubyVM::Shape` for more details. For more context on Object Shapes, see [Feature: #18776] Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org> Co-Authored-By: Eileen M. Uchitelle <eileencodes@gmail.com> Co-Authored-By: John Hawthorn <john@hawthorn.email> Notes: Merged: https://github.com/ruby/ruby/pull/6386
2022-09-24Allow changing conversion macro in MJIT bindgenTakashi Kokubun
This is necessary for object shapes.