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

2274 Коммитов

Автор SHA1 Сообщение Дата
NARUSE, Yui ff91b97c83 The guard is to alert patchlevel of X.Y.0 2021-04-06 12:02:46 +09:00
Nobuyoshi Nakada d235dd4461
update-deps: prepare to run if not yet done 2021-04-06 09:33:53 +09:00
Yusuke Endoh e0bd293855 Update tool/format-release
* remove bz2 entries for Ruby 3 series
* remove stats information except "X.X.0" release
2021-04-05 23:19:44 +09:00
Nobuyoshi Nakada d87b8ce647
sync_default_gems.rb: ignore COPYING file [ci skip] 2021-03-29 15:19:37 +09:00
Nobuyoshi Nakada f16b9e7f26
sync_default_gems.rb: IO#puts prints a newline between each argument [ci skip] 2021-03-29 15:14:21 +09:00
Nobuyoshi Nakada f7faac13c6
sync_default_gems.rb: remove un-committed files [ci skip]
As files non-existing in the repository cannot be checked out,
remove files to be ignored once, and re-check the status.
2021-03-28 23:39:27 +09:00
Nobuyoshi Nakada 36bad6f14f
sync_default_gems.rb: search the last merge more strictly [ci skip]
As tag-only match, `[#{repo}]`, may find unexpected commit, e.g.,
5bfca88f76 for io-console, match by
more exact URL pattern.
2021-03-28 22:58:43 +09:00
Nobuyoshi Nakada 49c1c2dce3
sync_default_gems.rb: escape filter command [ci skip] 2021-03-28 18:52:19 +09:00
Nobuyoshi Nakada 603d799520
sync_default_gems.rb: message when no commits [ci skip] 2021-03-28 14:10:04 +09:00
Nobuyoshi Nakada 38ea2306d2
sync_default_gems.rb: preserve Co-Authored-By: 2021-03-28 14:02:31 +09:00
Nobuyoshi Nakada 5e2e8ad9a9
Add `RbConfig::CONFIG["platform"]`
Means the platform with the actual CPU info on universal binary.
The CPU in "arch" is fixed as "universal" to refer the header and
library paths.
2021-03-22 00:20:27 +09:00
aycabta b346935cbc Copy only generated parser files when RDoc syncs 2021-03-16 01:15:29 +09:00
Nobuyoshi Nakada 07ff1f4b0b
Revert "Extracted AtomicWrite"
This reverts commit 2148ee78a5, mistakenly committed.
2021-03-13 09:14:20 +09:00
Nobuyoshi Nakada 2148ee78a5
Extracted AtomicWrite 2021-03-13 09:10:45 +09:00
John Hawthorn 9d0ae387c8 Remove DEFINED_IVAR2 from enum
This version of defined? doesn't seem to be possible to emit anymore.
2021-03-10 09:38:20 -08:00
Nobuyoshi Nakada 0d29c3179c [ruby/stringio] Include all modules included into Test::Unit::TestCase
Some methods are separated into modules in test-unit now.

https://github.com/ruby/stringio/commit/d289848994
2021-03-08 09:35:46 +09:00
Nobuyoshi Nakada 21e255913c [ruby/stringio] Pass IOs as separate list for ruby 2.x
https://github.com/ruby/stringio/commit/74e39858eb
2021-03-08 09:35:25 +09:00
Nobuyoshi Nakada 416956afa6
Set verbose flag at retrying 2021-02-14 17:47:46 +09:00
Nobuyoshi Nakada 0dad341006
Directory mapping for default gems
To uniform directory structures, sometimes files are gathered in
different directory than the upstreams, executable files in
`libexec` for instance.  Re-map these files to consistent with the
upstreams.
2021-02-14 17:41:26 +09:00
Nobuyoshi Nakada 504d6dc429
Revert following rbinstall.rb changes
Because unexpected names are listed in gemspec files.

* "Fix gemspec only case"
  fc56b96b09

* "Refined installation of gemspecs placed other than ext and lib"
  31f4dec637
2021-02-14 16:57:08 +09:00
Vít Ondruch 763b8fed3d
Use UnpackedInstaller to install default gems.
Use UnpackedInstaller for installation of default gems similarly it is
already used to install bundled gems.

This allows to reuse RubyGems functionality instead of custom code full
of exceptions.
2021-02-14 14:09:05 +09:00
Nobuyoshi Nakada fc56b96b09
Fix gemspec only case 2021-02-14 13:20:22 +09:00
Nobuyoshi Nakada 31f4dec637
Refined installation of gemspecs placed other than ext and lib 2021-02-14 11:05:23 +09:00
Nobuyoshi Nakada 8544f51ef7
Comment in sh needs to be the beginning of a word 2021-02-11 22:18:11 +09:00
Nobuyoshi Nakada dfff1df95c
vcs.rb: update the given option to VCS.detect by keyword arguments 2021-02-08 23:56:19 +09:00
Nobuyoshi Nakada a0faad38ce
vcs.rb: added `base_url` keyword option to GIT#export_changelog 2021-02-08 23:56:01 +09:00
Nobuyoshi Nakada ced09d521c
vcs.rb: improved export_changelog
* arguments are optional
* `path` may be passed as a keyword argument
* `nil` or `"-"` path means stdout
2021-02-08 23:45:51 +09:00
NARUSE, Yui f92b7b7b97 Pass revision by hand if the commit message lacks the ticket number 2021-02-02 19:15:45 +09:00
NARUSE, Yui d29cb56bfa Use local repository instead of remote
to improve performance
2021-02-02 19:14:37 +09:00
NARUSE, Yui ce2062dee6 Drop pushing local repo
I want to push another repo/branch to run CI before pushing it to
official branch.
2021-02-02 19:12:49 +09:00
Nobuyoshi Nakada 1e2a8f7c94
vcs.rb: fix for baseruby 2.2 2021-01-26 10:30:29 +09:00
Nobuyoshi Nakada 6963e682f8
vcs.rb: support `d` command in log-fix 2021-01-26 10:04:12 +09:00
Nobuyoshi Nakada a56760b908
vcs.rb: allow log-fix to insert an empty line 2021-01-26 09:58:11 +09:00
Nobuyoshi Nakada 6ef761a515 vcs.rb: continue just with warning if failed to fetch notes 2021-01-23 10:07:49 +09:00
Nobuyoshi Nakada ccd7b7ab9a vcs.rb: include commit info in ChangeLog 2021-01-23 10:07:49 +09:00
Nobuyoshi Nakada e34eb58ac7
Keep ARCH_OPTION for arm64 2021-01-22 23:40:32 +09:00
Nobuyoshi Nakada 3b631d0f73
Support `i` command in log-fix 2021-01-21 01:03:01 +09:00
Nobuyoshi Nakada c32375883a
Update for autoconf 2.70 2021-01-18 16:22:17 +09:00
Nobuyoshi Nakada eb4319beaf
extlibs.rb: make patch command selectable [ci skip]
Some Windows ports fail an assertion on patch files with LF EOL
code.  MSys2 patch.exe 2.7.6 seems fine, at least.
2021-01-15 09:37:28 +09:00
Takashi Kokubun e1fee7f949
Rename RubyVM::MJIT to RubyVM::JIT
because the name "MJIT" is an internal code name, it's inconsistent with
--jit while they are related to each other, and I want to discourage future
JIT implementation-specific (e.g. MJIT-specific) APIs by this rename.

[Feature #17490]
2021-01-13 22:46:51 -08:00
Kenta Murata f7dc4d5cda
tool/sync_default_gems.rb: Prevent infinite loop due to unknown options 2021-01-12 09:57:04 +09:00
Takashi Kokubun 2a1c68c91e
Avoid re-entering opt_invokebuiltin_delegate_leave
on interruption.

The cancellation code was originally written for leave insn, but re-entering
opt_invokebuiltin_delegate_leave insn on a cancellation is not safe, because
a builtin function is executed twice.
2021-01-11 07:40:38 +00:00
Nobuyoshi Nakada 590dc06e38 Get rid of defining methods for tests in core classes
Not to interfere in other tests.
2021-01-09 22:38:06 +09:00
Nobuyoshi Nakada 96ce1d9a0f
rbconfig.rb: extract cpu from RUBY_PLATFORM when universal 2021-01-07 14:55:33 +09:00
Marcus Stollsteimer 3108ad7bf3 [DOC] Fix grammar: "is same as" -> "is the same as" 2021-01-05 15:13:53 +01:00
Nobuyoshi Nakada 06454a9457
sync_default_gems.rb: added -a option
The option to merge all commits since the commit merged in the
last prefixed commit.
2021-01-05 21:24:10 +09:00
Nobuyoshi Nakada 075824ebd5
sync_default_gems.rb: reduced accesses to REPOSITORIES 2021-01-05 21:23:07 +09:00
Takashi Kokubun 7a3322a0fd
Fix broken JIT of getinlinecache
e7fc353f04 reverted vm_ic_hit_p's signature change made in 53babf35ef,
which broke JIT compilation of getinlinecache.

To make sure it doesn't happen again, I separated vm_inlined_ic_hit_p to
make the intention clear.
2021-01-04 13:09:08 -08:00
Takashi Kokubun 87c546b5fa
Avoid using inconsistent coding style
Other `_mjit_compile_*.erb` files don't use goto. These files'd better
be consistent for readability.
2021-01-04 10:45:01 -08:00
Koichi Sasada e7fc353f04 enable constant cache on ractors
constant cache `IC` is accessed by non-atomic manner and there are
thread-safety issues, so Ruby 3.0 disables to use const cache on
non-main ractors.

This patch enables it by introducing `imemo_constcache` and allocates
it by every re-fill of const cache like `imemo_callcache`.
[Bug #17510]

Now `IC` only has one entry `IC::entry` and it points to
`iseq_inline_constant_cache_entry`, managed by T_IMEMO object.

`IC` is atomic data structure so `rb_mjit_before_vm_ic_update()` and
`rb_mjit_after_vm_ic_update()` is not needed.
2021-01-05 02:27:58 +09:00
Nobuyoshi Nakada afa9d65d61
make-snapshot: add -extlibs option
`make-snapshot` with `-extlibs` (or `-extlibs=yes`) includes
extracted and patched external library sources that the extension
libraries depend on.
2021-01-04 19:55:35 +09:00
Nobuyoshi Nakada 977252421b
ifchange: check the number of arguments 2021-01-04 15:54:09 +09:00
Nobuyoshi Nakada 37e2a67a74
Method ID of call and fcall can be const not only ident 2021-01-01 00:54:38 +09:00
Nobuyoshi Nakada 0fbf4d0374
Access to reserved word parameter like as `__builtin.arg!(:if)` 2020-12-31 15:11:38 +09:00
Nobuyoshi Nakada f6256d8b7e
bisect.sh: Apply bisect.patch if exists [ci skip]
For some external reasons, e.g. Bison 3.5.91, some commits need to
be applied retroactively in order to pass builds.
2020-12-29 21:12:08 +09:00
Nobuyoshi Nakada b7163c712c
Canonicalization functions were removed already
At b958e2add8
2020-12-29 21:00:16 +09:00
Nobuyoshi Nakada d57c5a7b61 transcode-tblgen.rb: make silent a little when just -v 2020-12-29 17:45:19 +09:00
Nobuyoshi Nakada 365df8d351 transcode-tblgen.rb: send verbose messages to STDOUT 2020-12-29 17:45:19 +09:00
Nobuyoshi Nakada a042043487
Do not include external library sources into packages 2020-12-27 23:33:56 +09:00
Nobuyoshi Nakada 260d626ef6
Ignore symbols declared in the platform header 2020-12-27 15:50:44 +09:00
Nobuyoshi Nakada 366b58d7ca
Ignore objects from the "missing" directory 2020-12-27 15:50:44 +09:00
Nobuyoshi Nakada 0957814c27
Get rid of \K for old BASERUBYs which have a bug in String#scan 2020-12-27 15:50:43 +09:00
Nobuyoshi Nakada d55d0331c7
Exclude entry points 2020-12-27 15:50:02 +09:00
Nobuyoshi Nakada 46ab4fcf2a
Support AC_FUNC_MEMCMP 2020-12-27 15:50:02 +09:00
Nobuyoshi Nakada ddacff2b41
Follow up on variations of the development start messages [ci skip] 2020-12-25 17:43:23 +09:00
NARUSE, Yui 67fe290bb3 fix filename 2020-12-25 15:28:48 +09:00
NARUSE, Yui a89932799c gen-release-note.rb: Avoid to depend release metadata
Because it doesn't have metadata when I edit draft.
2020-12-24 17:20:05 +09:00
NARUSE, Yui 6a6daf3803 Add tag key
Release note will use tag value when I write GitHub URLs with release
tags.
2020-12-24 17:20:05 +09:00
NARUSE, Yui 709d9cf1ba Add release engineering related tools 2020-12-24 17:20:05 +09:00
NARUSE, Yui d58537cf8f Revert "remove bz2"
This reverts commit 7856da5fe7.
For other branches
2020-12-24 17:20:05 +09:00
Nobuyoshi Nakada fb54574393
Pass keyword options in assert_syntax_error 2020-12-24 01:24:30 +09:00
Kenta Murata aa856d5077 [ruby/date] Fix envutil for old Ruby
https://github.com/ruby/date/commit/57e25c406a
2020-12-23 18:19:26 +09:00
Takashi Kokubun 81a8d1cf09
Skip checking ROBJECT_EMBED
when we already check ROBJECT_NUMIV(self) is larger than
ROBJECT_EMBED_LEN_MAX at the beginning of the method, because the number
of instance variables for the same object doesn't decrease.

```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=4 --alternate --output=all benchmark_3000.yml
before --jit: ruby 3.0.0dev (2020-12-23T06:32:19Z master dbb4f19969) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12-23T07:45:42Z master 95e866c098) +JIT [x86_64-linux]
last_commit=Skip checking ROBJECT_EMBED
Calculating -------------------------------------
                              before --jit           after --jit
Optcarrot 3000 frames   102.34091772397872    102.77738408379015 fps
                        103.37784821624231    105.46530219076179
                        104.39567016876369    106.43712452152215
                        105.31782092252713    106.54986150067481
```
2020-12-22 23:50:43 -08:00
Hiroshi SHIBATA 61bd28b836
[ruby/date] Workaround for non-ruby repository like ruby/date, flori/json
https://github.com/ruby/date/commit/1ff7fa2d80
2020-12-23 13:53:40 +09:00
Hiroshi SHIBATA f14aaa2b12
Guard < Ruby 3.0 for the repositories of default gems. 2020-12-23 13:44:47 +09:00
Marc-Andre Lafortune 02233ed024 Adapt tool/search-cgvars.rb for MacOS 2020-12-22 22:25:41 -05:00
Marc-Andre Lafortune 3df3b47187 Add tool/search-cgvars.rb, thanks @ko1 2020-12-22 22:25:41 -05:00
Hiroshi SHIBATA edb76e8765 Prepare to release json-2.5.0 2020-12-22 19:44:27 +09:00
Takashi Kokubun 692af8e8f8
Prefer stdbool in vm_exec
Make the code a bit modern and consistent with some other places.
2020-12-21 21:16:39 -08:00
Akinori MUSHA 63b872c409 Prepare for importing the set gem 2020-12-22 12:17:47 +09:00
Marc-Andre Lafortune 1ecac8e4d0 Add `require_relative` option to `assert_ractor` 2020-12-20 22:00:05 -05:00
Takashi Kokubun 7d0144e055
Check mjit_call_p only when interrupted
for leaf_without_check_ints insns.

$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-20T05:02:18Z master 02b3555874) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12-20T05:36:00Z master 3f58de4eab) +JIT [x86_64-linux]
last_commit=Check mjit_call_p only when interrupted
Calculating -------------------------------------
                                 before --jit           after --jit
Optcarrot Lan_Master.nes    84.50647332260259     85.85057800433144 fps
                            91.17796644338372     92.09930605656054
                            91.29346683444497     93.01336611323687
                            91.50322318568884     93.07234029037433
                            91.66560903214686     93.22773241529644
                            91.82315142636172     93.37032901061119
                            92.15066379608260     93.83701526141679
                            92.37897097456643     93.86032792681507
                            92.53049815524908     93.91211970920320
                            92.78414507914283     94.09109196967890
                            92.90299756525958     94.40107239595325
                            93.70279428858790     95.01326369371263
2020-12-19 21:38:14 -08:00
Marc-Andre Lafortune b1b6dbfdc3 `assert_ractor` tweak. Thanks Nobu 2020-12-19 22:37:27 -05:00
Marc-Andre Lafortune 70f20234b2 Add `assert_ractor` [Feature #17367] 2020-12-19 17:13:08 -05:00
Takashi Kokubun 5611066e03
Prefer RB_OBJ_FROZEN_RAW
following the original implementation's change.
RB_TYPE_P(obj, T_OBJECT) is already checked in these places.

```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-19T08:27:44Z master 52b1716c78) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12-19T08:27:44Z master 52b1716c78) +JIT [x86_64-linux]
Calculating -------------------------------------
                                 before --jit           after --jit
Optcarrot Lan_Master.nes    88.04551460097873     84.38303800957766 fps
                            88.25194345156318     85.31098251408059
                            88.34143982084871     86.60491582339496
                            88.63486879856976     88.23675694701865
                            88.85392212902701     88.23696283371444
                            89.05739427483194     88.97185459567562
                            89.08141031147311     90.16373192658857
                            89.11359420883423     90.61655686444394
                            89.80323392966130     90.77044959019291
                            90.58912189625207     90.88534596330966
                            90.59847996970350     91.34314801302897
                            90.61180456415137     93.11599164249547
```
2020-12-19 00:34:33 -08:00
Jeremy Evans 05313c914b Use category: :deprecated in warnings that are related to deprecation
Also document that both :deprecated and :experimental are supported
:category option values.

The locations where warnings were marked as deprecation warnings
was previously reviewed by shyouhei.

Comment a couple locations where deprecation warnings should probably
be used but are not currently used because deprecation warning
enablement has not occurred at the time they are called
(RUBY_FREE_MIN, RUBY_HEAP_MIN_SLOTS, -K).

Add assert_deprecated_warn to test assertions.  Use this to simplify
some tests, and fix failing tests after marking some warnings with
deprecated category.
2020-12-18 09:54:11 -08:00
Nobuyoshi Nakada 9908177857
test/ruby: Check warning messages at a finer granularity
Instead of suppressing all warnings wholly in each test scripts by
setting `$VERBOSE` to `nil` in `setup` methods.
2020-12-17 20:06:18 +09:00
Hiroshi SHIBATA 44fba194a5
ruby/pathname separated .rb file to top-level directory. 2020-12-17 17:24:51 +09:00
Takashi Kokubun 5d74894f2b
Lazily move PC with RUBY_VM_CHECK_INTS
```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-17T06:17:46Z master 3b4d698e0b) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12-17T07:01:48Z master 843abb96f0) +JIT [x86_64-linux]
last_commit=Lazily move PC with RUBY_VM_CHECK_INTS
Calculating -------------------------------------
                                 before --jit           after --jit
Optcarrot Lan_Master.nes    80.29343646660429     83.15779723251525 fps
                            82.26755637885149     85.50197941326810
                            83.50682959728820     88.14657804306270
                            85.01236533133049     88.78201988978667
                            87.81799334561326     88.94841008936447
                            87.88228562393064     89.37925215601926
                            88.06695585889995     89.86143277214475
                            88.84730834922165     90.00773346420887
                            90.46317871213088     90.82603371104014
                            90.96308347148916     91.29797694822179
                            90.97945938504556     91.31086331868738
                            91.57127890154500     91.49949184318844
```
2020-12-16 23:06:28 -08:00
Takashi Kokubun 3b4d698e0b
Ignore catch_except_p for PC motion
We probably don't need to move it when an insn is leaf...
2020-12-16 22:17:46 -08:00
Hiroshi SHIBATA 46ea74297e
Bump version to json-2.4.1 and use VERSION file for json version same as upstream 2020-12-17 14:20:42 +09:00
Takashi Kokubun 53babf35ef
Inline getconstant on JIT (#3906)
* Inline getconstant on JIT

* Support USE_MJIT=0
2020-12-16 06:24:07 -08:00
Takashi Kokubun 9d85ed6cbb
Simplify positioning of '{' and '}'
and fix inconsistent indentation in mjit_compile.inc.erb
2020-12-14 21:07:41 -08:00
Koichi Sasada aa6287cd26 fix inline method cache sync bug
`cd` is passed to method call functions to method invocation
functions, but `cd` can be manipulated by other ractors simultaneously
so it contains thread-safety issue.

To solve this issue, this patch stores `ci` and found `cc` to `calling`
and stops to pass `cd`.
2020-12-15 13:29:30 +09:00
Hiroshi SHIBATA 27520a1e1e
Fixed dst name for digest gem 2020-12-14 19:39:32 +09:00
Takashi Kokubun aacd2295d0
Debug the command used for gdb dump
It's not working
http://ci.rvm.jp/results/trunk-mjit@phosphorus-docker/3288206. I'm
debugging why.
2020-12-13 23:35:29 -08:00
Takashi Kokubun 246d7e4f1d
Dump a backtrace with gdb
Because Ruby often fails to dump a C backtrace.
2020-12-12 18:46:24 -08:00
Nobuyoshi Nakada 3b7c05ef8d
Fixed RUBY_RM_RECURSIVE when autoconf met the required version
Before 9189cf5793 the result of
`m4_version_compare` was compared to -1, however the `$2` of
`m4_version_prereq` has different meaning and is expanded when
the required version met.
2020-12-13 01:16:57 +09:00
Yusuke Endoh 248f1ef282 tool/mk_builtin_loader.rb: prevent "assigned but unused variable" 2020-12-12 23:09:11 +09:00
Hiroshi SHIBATA a6a68bae3c
Removed needless gemspec of webrick 2020-12-11 14:16:42 +09:00