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

1613 Коммитов

Автор SHA1 Сообщение Дата
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
nobu aebc11dfe6 downloader.rb: quote base name
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-05 12:44:04 +00:00
duerst 8f734dc7b5 output more debug information in downloader.rb (temporary)
Unicode file download doesn't work with Visual Studio, we need more debug output.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-05 12:36:29 +00:00
svn f6338966f1 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-05 10:39:02 +00:00
duerst 7fd8cdf398 add puts statements to debug Unicode file download (temporary)
Unicode file download doesn't work with Visual Studio, see e.g.
https://ci.appveyor.com/project/ruby/ruby/builds/23614399/job/f8vya2l7fjdfcye4
We temporarily produce more output for debugging.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-05 10:39:01 +00:00
nobu 79de8e9f6b downloader.rb: keep linked file newer than cached file
* tool/downloader.rb (Downloader.save_cache): keep linked file
  newer than cached file, so that GNU make triggers when the
  content is updated.  it uses the timestamp of symlink itself
  instead of the target.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-02 08:08:29 +00:00
k0kubun b03c11a337 Add debug counters for MJIT cancel
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-29 13:54:29 +00:00
k0kubun c92c0a5935 Prefer using vm_base_ptr rather than cfp->bp
in MJIT implementation.

This allows us to drop cfp->bp by just modifying vm_base_ptr in the
future.

No performance impact:

$ benchmark-driver benchmark.yml --rbenv='before::before --disable-gems --jit;bp_::after --disable-gems --jit;vm_env_ptr::ruby-svn --disable-gems --jit' -v --output=all --repeat-count=12
before: ruby 2.7.0dev (2019-03-24 trunk 67341) +JIT [x86_64-linux]
bp_: ruby 2.7.0dev (2019-03-24 trunk 67342) +JIT [x86_64-linux]
vm_env_ptr: ruby 2.7.0dev (2019-03-25 trunk 67343) +JIT [x86_64-linux]
last_commit=Prefer using vm_base_ptr rather than cfp->bp
Calculating -------------------------------------
                                       before                   bp_            vm_env_ptr
Optcarrot Lan_Master.nes    77.15059205092646     70.18873044267853     69.62171387083328 fps
                            78.75767783870441     77.49867689173411     75.43496867709587
                            79.60102690369321     77.78037687683523     79.36688927929428
                            80.25144236638835     78.74729849101701     80.42363742291455
                            82.22375417165489     80.44265482494045     80.90287243299306
                            82.29166786292619     80.51740049420938     81.81153053252902
                            83.35386925305345     80.91054205210609     81.93562989125176
                            83.39770634366975     81.34550754145043     82.24544621470430
                            83.88523450309972     81.60698516017347     82.76801860263230
                            84.17553130135879     82.69615943446324     83.02530407910871
                            84.42132328119858     83.00969158037691     83.19968539409922
                            84.60731429793329     83.32703363300098     83.81352746019631

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-25 14:26:11 +00:00
ko1 8dd0fb9039 use cfp->bp more.
cfp->bp was (re-)introduced by Kokubun san, but VM doesn't use it
because I (ko1) want to remove it in a future. But using it make
leave instruction fast because of sp consisntency check.
So now VM uses cfp->bp.

To use cfp->bp, I checked the value and I found that it is not a
"initial value of sp" but a "initial value of ep". Fix this problem
and fix all bp references (this is why bp is renamed to bp_).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-25 06:58:50 +00:00
ko1 c671f836b4 add debug counters to count call cache fastpath.
Add counters to count ccf (call cache fastpath) usage.
These counters will help which kind of method dispatch
is important to optimize.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-22 07:57:26 +00:00
k0kubun 969156ce9a Check argument_arity_error condition in inlinable_iseq_p
to avoid inlining a method call when it becomes argument_arity_error,
fixing a potential bug.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-21 06:48:00 +00:00
nagachika 9e7f197c8e tool/make-snapshot: Use 6-spaces indent for SIZE and digests
to align with release note markdown.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-14 22:43:57 +00:00
nobu d1e6304a89 Prefer relative directory from srcdir to top_srcdir
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-14 05:42:14 +00:00
nobu da1f593aca Skip erb files, idirect prerequisites
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-12 12:31:01 +00:00