Граф коммитов

1826 Коммитов

Автор SHA1 Сообщение Дата
Nobuyoshi Nakada d7aa1260b6
Remove files/directories for git/github which are committed [ci skip] 2019-08-31 14:45:57 +09:00
Yusuke Endoh 8cb9efbbe6 tool/rbinstall.rb: remove a keyword-argument warning 2019-08-31 07:17:46 +09:00
Nobuyoshi Nakada 96b32aad93
Exclude ripper y.output from packages [ci skip] 2019-08-30 11:26:48 +09:00
Nobuyoshi Nakada 98ccdd744a
Export the last modified revision for tags [ci skip] 2019-08-30 11:23:21 +09:00
Nobuyoshi Nakada e593d5b31a
Suppress uninitialized instance variable warnings [ci skip] 2019-08-30 11:23:21 +09:00
Nobuyoshi Nakada 55f496c89b
Support revision in git-svn log 2019-08-30 11:23:21 +09:00
Nobuyoshi Nakada 1191049436
Updated comment of VCS#get_revisions [ci skip] 2019-08-30 11:23:21 +09:00
Kazuhiro NISHIYAMA a8b310e14c
7z does not accept gzip's options
e.g. `GZIP=-9`
2019-08-30 00:35:37 +09:00
aycabta 2c1e902cba Don't pick up lib/readline.rb from ruby/reline 2019-08-29 21:49:19 +09:00
Nobuyoshi Nakada c1d0b6adfc
Revert "Treat RUBY_REVISION as an integer on old rubies"
This reverts commit 6454808c52.

It is no longer needed, as `VCS::SVN#get_revisions` now returns
`Integer` as revision numbers, and `short_revision` should deal
with it.
2019-08-28 16:51:49 +09:00
NAKAMURA Usaku 2b55df7315
`revision` might be an Integer 2019-08-28 15:57:30 +09:00
nagachika ed8d2e1cfd tool/merger.rb: fix tag existence check with subversion. 2019-08-28 14:50:21 +09:00
Nobuyoshi Nakada c9dc569a94
Ensure the last and changed revisions as Integers 2019-08-28 12:32:43 +09:00
NAKAMURA Usaku 6454808c52
Treat RUBY_REVISION as an integer on old rubies 2019-08-28 00:19:25 +09:00
Nobuyoshi Nakada 2cd68a38d9
Short revision of SVN should be an Integer 2019-08-27 23:43:41 +09:00
aycabta 978ff1ff3a Pick lib/readline.rb from ruby/reline 2019-08-27 05:24:13 +09:00
Nobuyoshi Nakada 48f1a38f23
Limit ChangeLog entries
Since the previous release date, when the starting message is not
found.
2019-08-26 18:27:17 +09:00
Nobuyoshi Nakada c775ab5e28
`local_path?` is a class method [ci skip] 2019-08-25 18:27:57 +09:00
Yusuke Endoh cc6fe15241 tool/lib/vcs.rb: explicitly fail when notes/commits is not available 2019-08-25 16:59:45 +09:00
Kazuhiro NISHIYAMA 1b03d2d76b
Revert workaround 2019-08-25 13:58:30 +09:00
Nobuyoshi Nakada b341e98b04
Simplified f13a00f5b4 [ci skip] 2019-08-25 11:38:15 +09:00
Nobuyoshi Nakada f13a00f5b4
Export all commits as ChangeLog when no starting commit is found [ci skip] 2019-08-25 11:24:53 +09:00
Kazuhiro NISHIYAMA 03ee12a3b8
Add workaround (2nd try)
https://rubyci.org/logs/rubyci.s3.amazonaws.com/gentoo/ruby-master/log/20190824T153002Z.fail.html.gz
```
/home/gentoo/chkbuild/tmp/build/20190824T153002Z/ruby/tool/lib/vcs.rb:577:in `export_changelog': cannot find the beginning revision of the branch (RuntimeError)
    from ./tool/make-snapshot:353:in `block in package'
    from ./tool/make-snapshot:351:in `chdir'
    from ./tool/make-snapshot:351:in `package'
    from ./tool/make-snapshot:523:in `block in <main>'
    from ./tool/make-snapshot:523:in `collect'
    from ./tool/make-snapshot:523:in `<main>'
```
2019-08-25 00:50:34 +09:00
Kazuhiro NISHIYAMA df348310dc
Add workaround for some CIs
https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian8/ruby-master/log/20190824T093005Z.fail.html.gz
```
branches:
* trunk
  remotes/origin/trunk
```
and
```
fatal: Remote branch master not found in upstream origin
```
2019-08-24 23:17:12 +09:00
Kazuhiro NISHIYAMA 97ad7862d5
Add debug print
matser branch not found on some CIs
https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian9/ruby-master/log/20190824T063005Z.fail.html.gz
```
fatal: Remote branch master not found in upstream origin
```
2019-08-24 16:22:37 +09:00
Kazuhiro NISHIYAMA fe83ed47e7
Try to fix `make dist` error on chkbuild
https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian9/ruby-master/log/20190823T213004Z.fail.html.gz
https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian8/ruby-master/log/20190824T003006Z.fail.html.gz
2019-08-24 10:20:44 +09:00
David Rodríguez 3b55394b07 Ensure all default gems have an gem folder
Even if they don't ship with any executables. This makes rbinstall
behaviour consistent with rubygems `gem install --default` command.
2019-08-23 18:20:46 +10:00
Nobuyoshi Nakada af12172035
Removed unused literal assignments [ci skip] 2019-08-20 19:29:43 +09:00
Nobuyoshi Nakada 7a07c54bef
Subjects may contain a comma [ci skip] 2019-08-20 19:29:35 +09:00
David Rodríguez 5a384e2c08 Fix some bundler specs (#2380)
* These seem to consistenly pass already

* Show actual command when running `make test-bundler`

Current the setup command that installs the necessary gems for testing
bundler was printed, but not the actual command that runs the tests.
That was a bit confusing.

* Borrow trick from setproctitle specs

* A title that long doesn't get set sometimes

No idea why, but the test doesn't need that the title is that long.

* Fix most gem helper spec ruby-core failures

* Fix the rest of the gem helper failures

* Fix version spec by improving the assertion

* Remove unnecessary `BUNDLE_RUBY` environment var

We can use `RUBY` when necessary, and `BUNDLE_RUBY` is not a good name
because bundler considers `BUNDLE_*` variables as settings.

* Rename `BUNDLE_GEM` to `GEM_COMMAND`

This is more descriptive I think, and also friendlier for bundler
because `BUNDLE_` env variables are interpreted by bundler as settings,
and this is not a bundler setting.

This fixes one bundler spec failure in config specs against ruby-core.

* Fix quality spec when run in core

Use the proper path helper.

* Fix dummy lib builder to never load default gems

If a dummy library is named as a default gem, when requiring the library
from its executable, the default gem would be loaded when running from
core, because in core all default gems share path with bundler, and thus
they are always in the $LOAD_PATH. We fix the issue by loading lib
relatively inside dummy lib executables.

* More exact assertions

Sometimes I have the problem that I do some "print debugging" inside
specs, and suddently the spec passes. This happens when the assertion is
too relaxed, and the things I print make it match, specially when they
are simple strings like "1.0" than can be easily be part of gem paths
that I print for debugging.

I fix this by making a more exact assertion.

* Detect the correct shebang when ENV["RUBY"] is set

* Relax assertion

So that the spec passes even if another paths containing "ext" are in
the load path. This works to fix a ruby-core issue, but it's a better
assertion in general. We just want to know that the extension path was
added.

* Use folder structure independent path helper

It should fix this spec for ruby-core.

* Fix the last failing spec on ruby-core

* Skip `bundle open <default_gem>` spec when no default gems
2019-08-20 09:46:31 +09:00
NAKAMURA Usaku 4515bcc922
Omit version.h when merging 2019-08-19 15:37:28 +09:00
Hiroshi SHIBATA 51edcbad5b
Use master branch instead of trunk. 2019-08-18 18:08:59 +09:00
Hiroshi SHIBATA 9132153930
Ignore tags on default gems from ruby core repository. 2019-08-18 18:08:59 +09:00
Hiroshi SHIBATA 3ecb5125c6
Gem::ConfigMap is deprecated now 2019-08-18 13:25:31 +09:00
aycabta 0bbbe82986 Fix copy path of ruby/reline's test 2019-08-18 07:52:49 +09:00
SHIBATA Hiroshi 216d230080
Move some assertions to CoreAssertions. (#2354)
They are used by default gems like forwardable.

    * assert_raise_with_message
    * assert_warning
    * assert_warn
2019-08-14 07:44:26 +09:00
Nobuyoshi Nakada 75d9fa8b07
Detect VCS from the current directory by default [ci skip] 2019-08-13 12:24:55 +09:00
Nobuyoshi Nakada 0d1af9f942
Push commits notes too [ci skip] 2019-08-13 12:24:40 +09:00
Nobuyoshi Nakada 066a3498c6
Include commits notes in ChangeLog 2019-08-12 19:02:55 +09:00
Takashi Kokubun b1ef14176b
We did not have tool/ before checkout
anyway we don't need authorization here.
Also retry does not seem to work in the original version, so let's
extend this with retries as a separate github action later.
2019-08-12 14:37:26 +09:00
Takashi Kokubun 4f10a61eaa
Stop relying on actions/checkout
because it randomly fails on authorization like:
https://github.com/ruby/ruby/runs/190887455
Also the backoff seems too short. Maybe we need tool/travis_retry.sh for
this too.

Cloning ruby/ruby does not need authorization. We don't need to use
actions/checkout.
2019-08-12 14:30:43 +09:00
Kazuhiro NISHIYAMA f731cc0984
Use `end_with?` instead of Regexp with missing escape 2019-08-11 10:15:05 +09:00
Koichi Sasada 3cbd56d574 complement `test_` prefix.
`make test-all TESTS=name` can specify running test files by name.
name can be dirname ('dir/') or a file ('.../test_foo.rb'). This
patch complement `test_` prefix for a test. So we only need to
specify `TESTS=ruby/hash` which means `TESTS=ruby/test_hash.rb`.
2019-08-09 16:08:15 +09:00
Hiroshi SHIBATA b39efb163d
Aliases capture_output to capture_io for test-unit compatiblity. 2019-08-08 17:19:23 +09:00
Hiroshi SHIBATA f5481e35ab
Added separator for failing commits from default gems. 2019-08-07 22:30:10 +09:00
Hiroshi SHIBATA 67cde179c5
Skip merge commit created by bundlerbot. 2019-08-07 22:29:02 +09:00
Takashi Kokubun 330e3f19c3
Refactor .travis.yml by introducing travis_retry.sh
Not using official travis_retry.bash, because it's not supporting to
modify backoff seconds.
0ad8f1886b/lib/travis/build/bash/travis_retry.bash

Not using official `travis_apt_get_update` function because it does not
propagate exit status to be used by retries.
0ad8f1886b/lib/travis/build/bash/travis_apt_get_update.bash

Co-Authored-By: Nobuyoshi Nakada <nobu@ruby-lang.org>
2019-08-07 21:47:03 +09:00
Nobuyoshi Nakada 29092d35d3
Moved FailDesc to EnvUtil.failure_description
So EnvUtil does not depends on test/unit.
2019-08-05 10:48:49 +09:00
Marcus Stollsteimer 7614cc5b24
Fix release post output for tool/format-release
Different entries should be separated by an empty line.

Closes: https://github.com/ruby/ruby/pull/2137
2019-08-04 08:58:20 +09:00
Hiroshi SHIBATA d569d721f9
Move assert_ruby_status and assert_throw to CoreAssertions for default gems. 2019-08-03 22:17:45 +09:00
Nobuyoshi Nakada 6623cde731
Added more attributes [ci skip] 2019-08-03 14:56:07 +09:00
Nobuyoshi Nakada 4d75346187
Refine error message
Highlight failed command and suggest installing the command.
[Bug #16042]
2019-08-03 14:20:36 +09:00
Hiroshi SHIBATA eb638b75b3
It can be share to use CoreAssertions for default gems.
ref. https://github.com/ruby/logger/pull/35
2019-08-02 21:09:43 +09:00
Koichi Sasada cac44def0b backtrace can be nil.
Surprisingly, on SystemStackError#backtrace can return nil.
2019-07-31 15:14:50 +09:00
Koichi Sasada efac0a2384 Revert "add debug code"
This reverts commit e83ec207cd.
2019-07-31 15:14:50 +09:00
Koichi Sasada e83ec207cd add debug code 2019-07-31 12:46:34 +09:00
Nobuyoshi Nakada 47144f91a1
Separate VCS::GIT#upstream 2019-07-30 16:44:29 +09:00
nagachika 73530a9619 tool/merger.rb: execute 'svn update' after 'svn ci' to update revision info on working copy. 2019-07-27 20:15:53 +09:00
Hiroshi SHIBATA 58bb7f0ca1
Skip the some of commits when sync default gems from upstream.
* Skip failed to sync commits because it needs to pick manually.
  * Skip empty commit.
2019-07-27 15:47:32 +08:00
Hiroshi SHIBATA 012d39c4e6
Added ignore files to sync_default_gems_with_commits and make constant them. 2019-07-27 15:47:24 +08:00
Hiroshi SHIBATA 95aa60f6cd
Ignore Merge commit and insufficiency commit for ruby core repository. 2019-07-26 17:20:07 +08:00
Hiroshi SHIBATA 071bf88970
Improve the commits list for cherry-picking from default gems.
* Ignore Merge commit from the commit lists before trying to
    pick commit.
  * Show the commits list at first.
2019-07-26 16:06:54 +08:00
Hiroshi SHIBATA 348c9687bf
Escape parentheses for syntax hilighting for VScode. 2019-07-26 15:45:18 +08:00
Hiroshi SHIBATA 51f22deadb
Adjust the test direcotry structure of rdoc. 2019-07-26 15:34:15 +08:00
Nobuyoshi Nakada 7e33f324e1
Get rid of failures about coverage
Run test suites explicitly instead of auto-running, to get rid of
failures when simplecov is not installed but COVERAGE is set.
2019-07-25 20:57:32 +09:00
Nobuyoshi Nakada 8e53d18e67
Separated tool/test/runner.rb and test/runner.rb
As `make test-tool` does not use gems, and no Rubygems stuffs is
needed, so moved such things to test/runner.rb.  Also no longer
nees `--test-target-dir` option.
2019-07-25 16:57:38 +09:00
Nobuyoshi Nakada 46771abfe5
Use libraries in the base directory if given 2019-07-25 16:57:37 +09:00
Nobuyoshi Nakada 4c1db84d17
Added --base-directory option 2019-07-25 16:57:37 +09:00
Nobuyoshi Nakada f5ea054810
Moved NoMemoryError hook
Moved NoMemoryError hook from AutoRunner.run to Runner#run, so
it will work even in non-autorunning mode.
2019-07-25 16:57:37 +09:00
Nobuyoshi Nakada a850be68a5
Moved NoMemoryError hook to Test::Unit::AutoRunner 2019-07-25 08:42:16 +09:00
Nobuyoshi Nakada 82ae462113
Do not fetch remote tags 2019-07-25 08:19:03 +09:00
Nobuyoshi Nakada dc954cbb75
@@project_dir in Gem::TestCase is no longer used 2019-07-24 20:08:40 +09:00
Hiroshi SHIBATA 9f9a6dbc14
Allways fetch the latest commit from default gems repository. 2019-07-22 18:00:37 +09:00
Nobuyoshi Nakada d1c2b19698
Fixed exception message 2019-07-22 13:51:14 +09:00
Nobuyoshi Nakada f6461fa890
Only the first argument can be --test-target-dir option
Raise the proper exception when that option is not given but
non-option argument is.
2019-07-22 13:07:03 +09:00
Yusuke Endoh 24712eeec3 tool/test/runner.rb: support --test-target-dir option
tool/test/runner.rb had been copied from test/runner.rb.
test/runner.rb was for `make test-all`, and tool/test/runner.rb was for
`make test-testframework` and `make test-tool`.
But I want to avoid the code clones.

This change makes tool/test/runner.rb support --test-target-dir option
which allows tool/test/runner.rb to run `make test-all`.
Now we can remove test/runner.rb.
2019-07-21 19:19:08 +09:00
Hiroshi SHIBATA b401fb35a4
Removed needless LOAD_PATH modification.
We can use require_relative now.
2019-07-15 13:44:37 +09:00
Hiroshi SHIBATA badfbdf32c
Move vpath.rb into tool library direcotry. 2019-07-15 13:16:16 +09:00
Hiroshi SHIBATA ac6d137157
Added test-tool target for the test suite of tool/test files. 2019-07-15 11:16:29 +09:00
Hiroshi SHIBATA 41c5f9a166
Put jisx0208.rb to under the library directory. 2019-07-15 11:16:29 +09:00
Hiroshi SHIBATA 08b340d2f6
Separate the assertions of ruby core tests from test/unit/assertions. 2019-07-15 09:40:22 +09:00
Hiroshi SHIBATA e8ddbc0239
Put colorize to library directory.
Same as 66299e7ca83d379d13abaa5411f3e0419334cabb
2019-07-15 09:40:22 +09:00
Hiroshi SHIBATA 0a711b0edf
Put vcs .rb to under the lib direcotory.
Because it's the common library for tool files.
2019-07-15 09:40:22 +09:00
Nobuyoshi Nakada ff3704031a
Insert a newline before `=end`
For a certain editor which cannot handle here-document properly.
2019-07-15 09:28:44 +09:00
Takashi Kokubun e8b6f63039
Drop `make change` and tool/change_maker.rb
because we're not writing ChangeLog anymore.
2019-07-15 06:17:31 +09:00
Hiroshi SHIBATA 8549774430 Tweak upstream information of upstream commit. 2019-07-14 23:07:31 +09:00
Hiroshi SHIBATA a3493521a5 abort sync commit history when it failed to modify commit message. 2019-07-14 21:53:19 +09:00
Hiroshi SHIBATA 8e6a68c18e Use force flag for filter-branch. 2019-07-14 21:53:19 +09:00
Hiroshi SHIBATA c8e1be6f1f Skip merge commit with rubygems and bundler. 2019-07-14 21:53:19 +09:00
Hiroshi SHIBATA 46491af74c Modified commit message with upstream repository name. 2019-07-14 21:53:19 +09:00
Hiroshi SHIBATA 265e94a7fa Added chrry-pick feature from upstream repository. 2019-07-14 21:53:19 +09:00
Hiroshi SHIBATA be082e2800 Try to sync with commit history for default gems. 2019-07-14 21:53:18 +09:00
Takashi Kokubun d30d404bc4
MJIT Support for getblockparamproxy 2019-07-14 18:04:19 +09:00
Koichi Sasada 47e571c951 complement '.rb' on `test-all TESTS=test_xxx`
for test-all rule, we can specify a file with TESTS option like
`TESTS=test_xxx.rb`. However, we can eliminate last '.rb' suffix
so this patch try with '.rb' suffix if the given path is not available.
2019-07-14 17:52:19 +09:00
Hiroshi SHIBATA 4ce935cd5d Removed FileUtils for file manipulations with module inclusion. 2019-07-14 15:24:33 +09:00
Hiroshi SHIBATA a73f452476 Use FileUtils.mkdir_p instead of mkdir command directoly. 2019-07-14 15:24:33 +09:00
Hiroshi SHIBATA e91ff4dbaf Use FileUtils.cp_r instead of cp command directoly. 2019-07-14 15:24:33 +09:00
Hiroshi SHIBATA d25f355c65 Fixup dccb0e1ec94e7b9c13c715939ae7e0ccc4ffb23e 2019-07-14 15:24:33 +09:00
Hiroshi SHIBATA 7d24a7ed7b Use FileUtils.rm_rf instead of rm command directly. 2019-07-14 15:24:33 +09:00
Hiroshi SHIBATA 7504d676c8 Do not use hard-coded file path of default gems upstream. 2019-07-14 15:24:32 +09:00
Takashi Kokubun 34b3ef29b6
Drop obsoleted mjit_cancel_ivar debug_counter
ivar_cancel label is handling mjit_cancel_ivar_inline instead.
2019-07-14 14:09:33 +09:00
Hiroshi SHIBATA 9f275f7971
Restore support library for only test files that are digest and csv. 2019-07-09 21:16:49 +09:00
Hiroshi SHIBATA f9a2440866
Restore support library for only test files. 2019-07-09 21:04:07 +09:00
Hiroshi SHIBATA ad38f02645
Adopt the directory structure of ruby repository for racc extension. 2019-07-08 20:31:40 +09:00
Nobuyoshi Nakada fc4dd7d3e2
Git branch name can contain `#{}` too 2019-07-07 19:05:33 +09:00
Nobuyoshi Nakada 19a4c42d61
Unescape #{} in the last commit title
Get rid of unknown escape sequence warning, as `#` is not a
special character in C.

```
version.c:126:26: warning: unknown escape sequence '\#' [-Wunknown-escape-sequence]
    fputs("last_commit=" RUBY_LAST_COMMIT_TITLE, stdout);
                         ^~~~~~~~~~~~~~~~~~~~~~
revision.h:4:42: note: expanded from macro 'RUBY_LAST_COMMIT_TITLE'
                                         ^~
```
2019-07-07 19:01:48 +09:00
Koichi Sasada 712a66b074 Revert "Avoid corrupting VM stack on inlined setlocal"
This reverts commit ea30dd7025.
because it fails when VM_CHECK_MODE=1.
2019-07-03 03:37:25 +09:00
Takashi Kokubun ea30dd7025
Avoid corrupting VM stack on inlined setlocal
setlocal relies on cfp->ep, and frame-omitted method inlining introduced
in Ruby 2.7 kept it wrong.

This change might slow down frame-omitted method inlining for cfp->ep
manipulation, and it obviously complicates the implementaion more. By
introducing an optimization that changes Ruby's local variable to C
local variable, we could optimize it and simplify the cfp->ep
manipulation later.

[Bug #15971]
2019-07-02 23:35:52 +09:00
Takashi Kokubun 0b858425e1
Use GitHub ruby.git for make-snapshot
Previously @hsbt disabled https git clone from git.ruby-lang.org.

Using git.ruby-lang.org for non-commit purposes is discouraged. GitHub
mirror is actually recommended because it's reliable than single-hosted
git.ruby-lang.org, the mirror is almost always well-maintained, and its
latency is very small (usually about 10s).

So we should just use GitHub here.

[Bug #15969]
2019-07-02 10:40:41 +09:00
Nobuyoshi Nakada 580b7600c7
Substitute autoconf variables by prereq.status 2019-07-02 09:44:37 +09:00
Nobuyoshi Nakada 83fed5a4ed
Adjust minitest file path 2019-07-02 09:37:18 +09:00
Nobuyoshi Nakada 5aed62454c
Adjust minitest file path 2019-07-02 09:26:11 +09:00
Hiroshi SHIBATA c68781e918 Split test files for test-framework that are test-unit and minitest to tool direcotry. 2019-07-02 07:59:54 +09:00
Hiroshi SHIBATA c3c0e3f5c9 Move to tool/lib from test/lib. 2019-07-02 07:59:54 +09:00
Nobuyoshi Nakada 7ff2bfed92
Alias "master" and "trunk" 2019-07-01 23:16:47 +09:00
Nobuyoshi Nakada acee938484
Default ASMEXT 2019-07-01 21:32:02 +09:00
Nobuyoshi Nakada be14f62caf
Default @debug to $DEBUG 2019-06-28 12:41:03 +09:00
Nobuyoshi Nakada 4562dad94c
Removed unused variable 2019-06-28 12:39:14 +09:00
Jeremy Evans 51361272f9 Respect --dest-dir when removing old default gems
Before this, tool/rbinstall would try to remove a gem file that
it may not have access too.

Fixes issue introduced in f550da512c.
2019-06-25 19:02:48 -07:00
Hiroshi SHIBATA 9b23aab290 Fixed the wrong path for io-console. 2019-06-25 15:56:20 +09:00
Nobuyoshi Nakada bdcfba547d
vcs.rb: handle --dryrun option 2019-06-23 22:35:10 +09:00
Nobuyoshi Nakada 8a1dd9b84b
Revert RUBY_RELEASE_DATE to date only 2019-06-21 23:48:49 +09:00
Hiroshi SHIBATA 71ebf6d8e5 Update sync task for the directory structure of cparse and ignore JRuby files. 2019-06-20 16:11:03 +09:00
Samuel Williams d17344cfc5 Remove IA64 support. 2019-06-19 23:30:04 +12:00
Hiroshi SHIBATA 4e218282d2 Added sync task for racc 2019-06-19 18:17:38 +09:00
Nobuyoshi Nakada a064e46762
Support Bison 3 2019-06-17 03:09:52 +09:00
nagachika 17e6536fe0 tool/redmine-backporter.rb: Change redmine git revisions URL path. 2019-06-16 11:59:59 +09:00
nagachika ee7999bb84 tool/redmine-backporter.rb: Add parens to fix condition for svn revision search. 2019-06-16 11:39:12 +09:00
Takashi Kokubun f0bfa71ab3
Use UTC for file2lastrev timezone
02155da7ba got a claim about sacrificing
ability to compare arbitrary `RUBY_DESCRIPTION`s without converting
timezones.

Because most of the people would be familiar with timezone conversion
with UTC but it'd be harder when it comes to JST, this commit just
changes the timezone in f42588f754 to UTC.

Another bonus in using UTC is that we can use a shorter variant of
ISO 8601 format like "2019-06-10T14:26:24Z" (the last Z part).
2019-06-10 23:31:07 +09:00
Takashi Kokubun 02155da7ba
Make file2lastrev timezone consistent with git log
Using the same timezone for all commits is convenient when just looking
dates in RUBY_DESCRIPTION, but usually we also check `git log` when
we're interested in the order of commits.
`git log` shows times in committer's timezone and forcing RUBY_RELEASE_DATE
to JST makes it harder to find a corresponding commit from `git log`.

Because this label is only used in development, I believe there's no
strict requirement to use traditional timezone for release here.

Also when building Ruby after committing from a non-JST timezone, I'd be
surprised to see a strange time (in a different timezone) for my very new
commit in `ruby -v`.
2019-06-10 22:35:32 +09:00
Nobuyoshi Nakada f42588f754
Make RUBY_RELEASE_DATE full on development
I cannot tell the order just by commit hashes.
2019-06-08 20:08:18 +09:00
Nobuyoshi Nakada c7477c3e1f
Moved Makefile.in under template 2019-06-07 09:09:58 +09:00
Nobuyoshi Nakada 200c840b95
Revert "Moved Makefile.in under template"
This reverts commits:
* 6f9d5fafe0
* bb3c89b643

And remove the dependency of Makefile on Makefile.in
transitionally.
2019-06-07 09:03:25 +09:00
Nobuyoshi Nakada 6f9d5fafe0
Moved Makefile.in under template 2019-06-07 08:44:37 +09:00
Takashi Kokubun f3c877e8de
Ignore ~/.gitconfig on tool/vcs.rb git commands
Because some `log.*` git configs may change the result of `git log`,
`RUBY_LAST_COMMIT_TITLE` can be wrongly formatted and break version.c
compilation. So the `git log` executions should not respect user's gitconfig.
2019-06-05 20:23:23 +09:00
Nobuyoshi Nakada 542d69c894
Revert "vcs.rb support non-inplace build"
This reverts commit 22cd402734.

It did not make sense due to a typo `@srcidr`.
2019-06-05 12:04:11 +09:00
Nobuyoshi Nakada a105831819
tool/runruby.rb: support RUNRUBY_USE_LLDB as well as RUNRUBY_USE_GDB 2019-06-05 11:11:45 +09:00
Nobuyoshi Nakada 26d02cc7cd
tool/runruby.rb: load the default lldb scripts 2019-06-05 11:11:45 +09:00
Nobuyoshi Nakada 5859ea1b1b
tool/runruby.rb: load .gdbinit explicitly 2019-06-05 11:11:44 +09:00
Nobuyoshi Nakada 39eae6bf89
tool/vcs.rb: return the commit date as the modified time 2019-06-04 21:27:46 +09:00
Nobuyoshi Nakada fade26afa7
colorize.rb: get rid of syntax errors on older versions 2019-06-04 18:10:49 +09:00
Nobuyoshi Nakada a57d6d2325
colorize.rb: make `colors_file` optional
[ci skip]
2019-06-04 18:08:35 +09:00
Nobuyoshi Nakada b0c35ff2db
colorize.rb: fix reading from test/colors
[ci skip]
2019-06-04 17:26:23 +09:00
Nobuyoshi Nakada 16cb1fb007
extlibs.rb: colorize
[ci skip]
2019-06-04 17:09:16 +09:00
Nobuyoshi Nakada 58fd27d3d8
colorize.rb: read `test/colors` file afer `$TEST_COLORS`
[ci skip]
2019-06-04 17:07:33 +09:00
Nobuyoshi Nakada 3102ca4c6e
Default GIT external encoding to UTF-8 🤷‍♂️
And dump the title as US-ASCII.
2019-06-03 12:54:33 +09:00
Nobuyoshi Nakada d180e40570
Add --limit option and default it to 20 2019-05-31 10:55:37 +09:00
Nobuyoshi Nakada 1e9057b54a
Prefer the current branch or tag name 2019-05-31 10:55:37 +09:00
Nobuyoshi Nakada fd658ec821
Define RUBY_FULL_REVISION
Only if the short revision differs from the full revision.
2019-05-31 10:55:37 +09:00
Nobuyoshi Nakada ab0c8cc021
Touch Unicode headers and the timestamp before packaging
Not to download Unicode data files at building from the packages.
2019-05-30 23:23:11 +09:00
Nobuyoshi Nakada f0945176c3
Fix missing `gitcmd` 2019-05-30 22:27:11 +09:00
NARUSE, Yui 22cd402734 vcs.rb support non-inplace build 2019-05-30 22:20:28 +09:00
Jeremy Evans f0ded36693 Use Regexp#match instead of #match for 1.9 BASERUBY support 2019-05-29 18:40:03 -07:00
Jeremy Evans d2ba80b5df Revert "Fix building with 1.8 BASERUBY"
This reverts commit 05bc14d81a.

We have decided that the cost of reintroducing support for 1.8
BASERUBY outweighs the benefit.  If you are still using 1.8 and want
to build master/trunk, build and install the latest release, and use
that as BASERUBY.
2019-05-29 18:03:21 -07:00
Takashi Kokubun 1a0c3d8dd6
Convert Enumerator to Array for Ruby 1.9.3
String#lines seems to return Enumerator in Ruby 1.9.3, and it does not
respond to #delete_if https://travis-ci.org/ruby/ruby/jobs/538559919
2019-05-29 15:04:45 +09:00
Takashi Kokubun 6b5e712361
Make tool/vcs.rb compliant to BASERUBY
People seem to consider BASERUBY is either 1.8 or 1.9 now. Since this
file may be executed by BASERUBY from file2lastrev.rb, I think we should
not rely on Ruby 2.0 in this file for now.
2019-05-29 08:22:04 +09:00
Nobuyoshi Nakada 40e175b390
Clean a garbage [ci skip] 2019-05-28 14:20:59 +09:00
Jeremy Evans 05bc14d81a Fix building with 1.8 BASERUBY 2019-05-27 20:55:56 -07:00
Kazuhiro NISHIYAMA 706c816ad2
Escape dots in regexp 2019-05-24 19:03:29 +09:00
Martin Dürst c06f9e1d24 switch UNICODE_BETA to NO (one more try, first try didn't work)
Unicode version 12.1.0 was officially released on May 7th, 2019.
    There were no changes at all from the "real" beta
    published shortly after the new era name "Reiwa" was announced.
    So we can switch UNICODE_BETA back to NO.

    common.mk: switch UNICODE_BETA back to NO
    tool/downloader.rb: add additional conditions to avoid an error
                        when moving from beta to final
2019-05-24 18:22:36 +09:00
Nobuyoshi Nakada a205e24747
Make RUBY_REVISION full length 2019-05-22 23:53:21 +09:00
Nobuyoshi Nakada d819d97cf0
Default to the current branch
* tool/make-snapshot: default to the current branch if no branch
  but srcdir is given.
2019-05-22 23:52:51 +09:00
Nobuyoshi Nakada 8fb77acac7
Fix revision name
* tool/make-snapshot (package): dump to stringize GIT revisions
  properly.
2019-05-22 23:51:33 +09:00
Nobuyoshi Nakada 24684a81d2
Fix revision name
* tool/make-snapshot (package): use the last revision of the whole
  tree as the revision name, not a single file.

* tool/file2lastrev.rb: ditto.  dump without unnecessary subrange
  and literal quotes, to stringize SVN revisions properly.
2019-05-22 22:28:07 +09:00
Nobuyoshi Nakada 658f17b8ec
Fixed the method to delegate
* tool/vcs.rb (VCS::GITSVN.revision_name): should delegate to the
  same method of SVN, not an undefined method.
2019-05-22 22:28:02 +09:00
Nobuyoshi Nakada 23751a2681
leaked-globals: check if un-prefixed symbols leak externally 2019-05-16 23:34:01 +09:00
Nobuyoshi Nakada 79931dddba
Propagate parser_params to rb_yytnamerr 2019-05-10 22:02:54 +09:00
Hiroshi SHIBATA aa52464efd
15f45ae4d1 and 56528da3e broke the darwin environment.
Revert "Propagate parser_params to rb_yytnamerr"

This reverts commit 15f45ae4d1.
2019-05-10 21:48:02 +09:00
Hiroshi SHIBATA d4c8577a14 Revert "Fix for bison 2.3"
This reverts commit 56528da3ef.
2019-05-10 21:45:04 +09:00
Nobuyoshi Nakada 56528da3ef
Fix for bison 2.3 2019-05-10 16:58:51 +09:00
Nobuyoshi Nakada 15f45ae4d1
Propagate parser_params to rb_yytnamerr 2019-05-10 16:40:34 +09:00
Nobuyoshi Nakada 025206d0dd
Fallback to an invalid branch name if no branch found 2019-05-09 14:12:03 +09:00
Nobuyoshi Nakada eb84b33c86
Search a branch name at a detached head 2019-05-09 14:02:01 +09:00
Nobuyoshi Nakada d802698d3e
Push the current (topic) branch to the remote upstream 2019-05-09 10:01:31 +09:00
Nobuyoshi Nakada 4fabb74471
Show the commit command if dryrun 2019-05-09 10:00:48 +09:00
Nobuyoshi Nakada 10723dd6ce
dryrun option is for `push`, not `git` 2019-05-09 08:54:38 +09:00
Kazuhiro NISHIYAMA 5eb5613fef
Recent commits of trunk do not have svn revision 2019-05-07 22:53:45 +09:00
NAKAMURA Usaku 7d02bab0b0
Nil cannot and should not convert to a string 2019-05-03 06:24:57 +09:00
Kazuhiro NISHIYAMA a1ae478a31
Fix a typo 2019-05-02 14:44:47 +09:00
Nobuyoshi Nakada 474af9ee9a
No last commit when up-to-date
Get the last commit title from the upstream to the head, so that
no `last_commit` line will be shown when the branch is up to date
with the upstream.
2019-05-01 20:47:00 +09:00
Kazuhiro NISHIYAMA 0eedec6867
Change Accept-Encoding from `*` to `identity`
When `Accept-Encoding` is `*`,
http://www.unicode.org/Public/12.1.0/ucd/ returns gzipped content now.
So set `identity`.
2019-04-30 22:35:38 +09:00
NAKAMURA Usaku dd942cd5b3
Use redirect keyword arguments instead of ">" 2019-04-30 22:24:45 +09:00
Nobuyoshi Nakada 50872f4a15
Use array mode of `system` instead of `shellescape`
`&.` is not available in ruby 2.0.
2019-04-30 22:23:20 +09:00
Nobuyoshi Nakada df3de40932
String#[] with index to extract matched substring safely 2019-04-30 22:13:47 +09:00
NAKAMURA Usaku 1dd94dfba3
Must use IO::NULL instead of platform dependent filename 2019-04-30 21:51:03 +09:00
NAKAMURA Usaku 5a83a1d554
**Must** use IO::NULL for null device 2019-04-30 18:01:17 +09:00
Kazuhiro NISHIYAMA c222f4d31f
`from` is not nil but `""` on shallow clone [ci skip] 2019-04-30 16:20:46 +09:00
aycabta 17350c7e55 Add Reline as a fallback library for Readline
* lib/reine.rb, lib/reline/*: Reline is a readline stdlib compatible
  library.
* lib/readline.rb: Readline uses a fallback to Reline when ext/readline
  doesn't exist.
* tool/sync_default_gems.rb: add ruby/reline as a default gem.
* appveyor.yml: add "set RELINE_TEST_ENCODING=Windows-31J" for test suit
  of Reline, and add "--exclude readline" to "nmake test-all" on Visual
  Studio builds because of strange behavior.
* spec/ruby/library/readline/spec_helper.rb: skip Reline as with
  RbReadline.
2019-04-30 11:44:20 +09:00
Kazuhiro NISHIYAMA 040b37f8b4
Use 10 chars as RUBY_REVISION in snapshot too 2019-04-29 23:02:18 +09:00
Takashi Kokubun dfc0eeb0cf
Fully support Git in tool/merger.rb
as both backport source repository and backport destination repository.
2019-04-29 01:54:01 +09:00
git 75260d36b5 * remove trailing spaces. 2019-04-29 01:00:20 +09:00
Takashi Kokubun 991e32681e
tool/merger.rb: Avoid making too-deep indentation
because it's hard to understand what's going on when indentation depth
is too deep.

Sorry for polluting git blame, but most of the Merger's lines are
updated recently anyway.
2019-04-29 00:59:22 +09:00
Takashi Kokubun 2dddd370a1
Support `tool/merger.rb removetag` under Git
repository.
2019-04-29 00:53:38 +09:00
Takashi Kokubun fad2825e42
Support `tool/merger.rb tag` under Git repository 2019-04-29 00:19:58 +09:00
Takashi Kokubun 3bc810334c
Support `tool/merger.rb up` under Git repository
updating indentation (and slightly changing styles) for areas already
supporting Git.
2019-04-28 22:53:21 +09:00
Takashi Kokubun 392d84b490
Fix wrong svn options
for SVN as a backport source.

This was a mistake in de5378233b2ff5434f024ac66285e699794a321d...
2019-04-28 22:15:01 +09:00
Takashi Kokubun 1c8cefca31
Stop using global variable for repos
to avoid having impact from other places.
2019-04-28 22:02:34 +09:00
Takashi Kokubun cb8eb37377
Now tool/merger.rb may use Git [ci skip] 2019-04-28 21:53:58 +09:00
Takashi Kokubun 14965c5f4b
Drop SVN-specific method from Merger module
to clarify it's not needed for Git support.
2019-04-28 21:41:02 +09:00
Takashi Kokubun fcb1875513
Make Merger.version private to the module
because it's not used outside the Module.
2019-04-28 21:41:02 +09:00
Takashi Kokubun d835ed4df1
Define merger.rb's methods under Merger namespace
so that we do not monkey-patch all classes by defining methods on
top-level (Object class).

Not arranging indentation in it to keep `git blame` for now.
2019-04-28 21:08:58 +09:00
Takashi Kokubun 4d8ad48f7d
Support git as redmine-backporter's done destination 2019-04-28 20:17:20 +09:00
Nobuyoshi Nakada 4c8f107898
Make the range to export as changelog optional
* `from` is defaulted to the beginning of the branch inclusively,
  otherwise the given revision is excluded as the previous.

* `to` is defaulted to the head.
2019-04-28 13:46:16 +09:00
Nobuyoshi Nakada d72bd190a8
Added VCS::SVN#branch_beginning 2019-04-28 12:11:59 +09:00
Nobuyoshi Nakada b766970527
Search the beginning revision more strictly a bit 2019-04-28 12:04:15 +09:00
Nobuyoshi Nakada 5a53682d6d
Removed `--reverse` option
It is nonsense with `-n1` option.
2019-04-28 11:36:03 +09:00
Nobuyoshi Nakada d47cd75b4f
Chomp a newline from the branch name 2019-04-28 10:41:32 +09:00
Nobuyoshi Nakada 7790b610b8
Shorten git revision name without "r" prefix in snapshot 2019-04-28 09:56:56 +09:00
Nobuyoshi Nakada bb6036946e
Reduce matz's work, let git do it instead 2019-04-28 00:30:16 +09:00
Nobuyoshi Nakada db614dbf6d
Support git-log format ChangeLog 2019-04-27 23:25:48 +09:00
Nobuyoshi Nakada 2a4625115a
Separate format_changelog
VCS::GITSVN#format_changelog generates previous format, similar to
svn-log, and VCS::GIT#format_changelog stores just git-log as-is
for now.
2019-04-27 23:14:59 +09:00
Nobuyoshi Nakada 7875c42f64
Override log format to parse for ChangeLog 2019-04-27 23:13:03 +09:00
Nobuyoshi Nakada 6f8ac2cb28
Include the beginning commit in ChangeLog 2019-04-27 23:08:50 +09:00
Takashi Kokubun 3067370f61
Retry downloads more for unicode outage
like https://ci.appveyor.com/project/ruby/ruby/builds/24142523/job/v6aq4srj7c3hgt86
2019-04-27 22:21:36 +09:00
Takashi Kokubun a93f555699
tool/sync_default_gems.rb: Check prerequisites 2019-04-26 18:18:09 +09:00
Nobuyoshi Nakada f4f66bd11c
Revert "IRB is improved with Reline and RDoc, take 2"
Accidentally merged when 89271d4a37
"Adjusted indents".
2019-04-23 21:55:29 +09:00
aycabta f2cd4f4cd0
IRB is improved with Reline and RDoc, take 2 2019-04-23 20:08:02 +09:00
Nobuyoshi Nakada 2ae5f6f97c
Add VCS::GIT#commit 2019-04-23 15:43:51 +09:00
Nobuyoshi Nakada 2fb83a0af7
Split git-svn dependent methods 2019-04-23 15:39:36 +09:00
Urabe, Shyouhei 660c071659 [ci skip] grammers in comments 2019-04-23 10:27:44 +09:00
Kazuhiro NISHIYAMA 87261cf59f
Omit last_commit=RUBY_LAST_COMMIT_TITLE without local commits 2019-04-22 21:45:13 +09:00
Takashi Kokubun 5da52d1210
Migrate RUBY_VERSION/RUBY_DESCRIPTION to Git
from Subversion.

This behavior is tentative and not discussed well. The point of
discussion will be just the length of commit hash, and I thought we
should include this kind of change in 2.7.0-preview1 release even before
the length is fixed yet.

Let's discuss that afterwards and fix it later as needed. Naruse
suggested that length=10 is very unlikely to cause conflict, and thus
it's used by email notification and rubyci now. This behavior is in
favor of that for now.
2019-04-22 21:27:34 +09:00
k0kubun b6fd7b1bb7 tool/redmine-backporter.rb: Git support in backport/rel
close https://github.com/ruby/ruby/pull/2138

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-21 14:24:38 +00:00
k0kubun c7db05d216 tool/redmine-backporter.rb: Remove unused methods
They seem to have never been used from the beginning (r45081).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-21 13:05:32 +00:00
k0kubun 72be46f104 Drop tool/generate-backport-changelog.rb
because we're not writing ChangeLog since ruby_2_4.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-21 12:26:06 +00:00
k0kubun 2c31e6dec4 tool/merger.rb: Guard match failure properly
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-21 12:03:39 +00:00
k0kubun de5378233b tool/merger.rb: Support fetching patch from cgit
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-21 11:49:11 +00:00
k0kubun 47676e969e tool/merger.rb: Drop ChangeLog handling
We're not writing ChangeLog since ruby_2_4.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-21 10:01:44 +00:00
aycabta 51cec00953 Revert "IRB is improved with Reline and RDoc"
This reverts commit 7f273ac6d0.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-21 09:13:49 +00:00
k0kubun add82b7e7e Drop obsoleted feature from help
I understand this is dropped in r67569

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-21 08:19:48 +00:00
k0kubun e7d76e3f5a tool/merger.rb: Drop some revision notations.
Maintainer use merger mainly from redmine-backporter.rb.

[Fix GH-2136]

From: Chikanaga Tomoyuki <t-chikanaga@groovenauts.jp>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-21 02:58:10 +00:00
k0kubun ffc93316c8 tool/merger.rb: Remove unused command line format.
I believe no-one use this notation for years.

[Fix GH-2136]

From: Chikanaga Tomoyuki <t-chikanaga@groovenauts.jp>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-21 02:58:10 +00:00
aycabta 7f273ac6d0 IRB is improved with Reline and RDoc
Reline is a readline stdlib compatible library. It also supports
multiline input. IRB is improved with Reline and supports multiline.
Besides, supports showing documents when completed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-20 08:51:20 +00:00
k0kubun b2ffafd238 Invalidate JIT-ed code if ISeq is moved by GC.compact
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-20 05:48:22 +00:00
hsbt 4751caecc3 Removed deprecated executable from bundler upstream.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-18 12:56:47 +00:00
nobu ffbcf9f842 downloader.rb: enable cache files
* tool/downloader.rb (Downloader::Unicode.download): enable cache
  files when index.html has not been modified since the previous
  download, even if beta version.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-17 07:35:29 +00:00
nobu 5141398ff0 downloader.rb: use File.read instead of IO.read
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-17 07:09:28 +00:00
k0kubun fcd679ed11 Recompile without method inlining
if cancel happens in an inlined method.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-16 17:02:35 +00:00
k0kubun d71b78575b Introduce frame-omitted method inlining
for ISeq including only leaf and no-handles_sp insns except leaf.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-16 17:02:16 +00:00
k0kubun b0614decfc Implement single-level basic method inlining in JIT
"Basic" means it does not omit a call frame.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-16 17:01:05 +00:00
k0kubun ead870d7c3 Do not require Ruby 2.4 for baseruby
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-14 13:29:22 +00:00
k0kubun 1222534719 Share optimization cancel handlers
$ benchmark-driver benchmark.yml --rbenv='before --jit;after --jit' -v --output=all --repeat-count=12
before --jit: ruby 2.7.0dev (2019-04-14 trunk 67549) +JIT [x86_64-linux]
after --jit: ruby 2.7.0dev (2019-04-14 trunk 67549) +JIT [x86_64-linux]
last_commit=Share optimization cancel handlers
Calculating -------------------------------------
                                 before --jit           after --jit
Optcarrot Lan_Master.nes    69.55360655447375     74.15329176797863 fps
                            73.74545038318978     79.60903046141544
                            75.85637357897092     82.00930075612054
                            77.10594124022951     82.56228187301674
                            78.67350527368366     83.37512204205953
                            79.97235230767613     83.41521927993719
                            81.03050342478066     84.20227901852776
                            81.61308297895094     84.73733526226468
                            82.06805141753206     85.27884867863791
                            82.46493179193394     85.36558922650367
                            83.85259832896313     85.39993587223481
                            84.02325292922997     85.63649355214602

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-14 12:25:23 +00:00
k0kubun c5570cf9bd Detect send-compatible opt insns automatically
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-14 08:53:19 +00:00
k0kubun b75bb06e00 Allow falling back to non-inlined opt_send_without_block
for opt_aref with inline cache to minimize the possibility of JIT cancel.

Also opt_aset and opt_mod are added for the targets.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-14 08:33:43 +00:00
k0kubun fa13bb1a6f Unify comment styles across MJIT sources
I'm writing `//` comments in newer MJIT code after C99 enablement
(because I write 1-line comments more often than multi-line comments
 and `//` requires fewer chars on 1-line) and then they are mixed
with `/* */` now.

For consistency and to avoid the conversion in future changes, let me
finish the rewrite in MJIT-related code.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-14 05:26:46 +00:00
k0kubun 9b6b4674d7 Recompile JIT-ed code without optimization
based on inline cache when JIT cancel happens by that.

This feature was in the original MJIT implementation by Vladimir, but on
merging MJIT to Ruby it was removed for simplification. This commit adds
the functionality again for the following benchmark:

52f05781f6/concurrent-map/bench.rb
(shown float is duration seconds. shorter is better)

* Before
```
$ INHERIT=0 ruby -v bench.rb
ruby 2.7.0dev (2019-04-13 trunk 67523) [x86_64-linux]
--
1.6507579649914987

$ INHERIT=0 ruby -v --jit bench.rb
ruby 2.7.0dev (2019-04-13 trunk 67523) +JIT [x86_64-linux]
--
1.5091587850474752

$ INHERIT=1 ruby -v bench.rb
ruby 2.7.0dev (2019-04-13 trunk 67523) [x86_64-linux]
--
1.6124781150138006

$ INHERIT=1 ruby --jit -v bench.rb
ruby 2.7.0dev (2019-04-13 trunk 67523) +JIT [x86_64-linux]
--
1.7495657080435194 # <-- this
```

* After
```
$ INHERIT=0 ruby -v bench.rb
ruby 2.7.0dev (2019-04-13 trunk 67523) [x86_64-linux]
last_commit=Recompile JIT-ed code without optimization
--
1.653559010999743

$ INHERIT=0 ruby --jit -v bench.rb
ruby 2.7.0dev (2019-04-13 trunk 67523) +JIT [x86_64-linux]
last_commit=Recompile JIT-ed code without optimization
--
1.4738391840364784

$ INHERIT=1 ruby -v bench.rb
ruby 2.7.0dev (2019-04-13 trunk 67523) [x86_64-linux]
last_commit=Recompile JIT-ed code without optimization
--
1.645227018976584

$ INHERIT=1 ruby --jit -v bench.rb
ruby 2.7.0dev (2019-04-13 trunk 67523) +JIT [x86_64-linux]
last_commit=Recompile JIT-ed code without optimization
--
1.523708809982054 # <-- this
```

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-14 04:52:02 +00:00
k0kubun bbb0db6f1c Fix typo in a comment [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-06 16:03:11 +00:00
nobu b5df5296a4 appveyor.yml: Use pre-generated headers and tables
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-06 00:08:04 +00:00
duerst cab005db92 revert r67445, (r67446,) r67447
Debugging output is no longer needed because the problem has been fixed with r67449.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-05 23:16:00 +00:00
nobu 6e0e93e60e downloader.rb: fix typo, extra %
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-05 14:44:15 +00:00