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

73674 Коммитов

Автор SHA1 Сообщение Дата
Nobuyoshi Nakada 075df960c9 Add comments to touch libyjit 2022-09-14 21:24:40 +09:00
Nobuyoshi Nakada e1a9d88494 Touch libyjit.a which may be still old due to the cache 2022-09-14 21:24:40 +09:00
Nobuyoshi Nakada f2429f0af5 Expand dependency for `$(YJIT_LIBS)`
Currently, miniruby is rebuild **always** when yjit is enabled, even
if nothing is changed.
2022-09-14 21:24:40 +09:00
NARUSE, Yui d66b29ccfb Add link to how to build Ruby 2022-09-14 17:30:10 +09:00
Nobuyoshi Nakada 2e324b645e Manage paths for bundler tests 2022-09-14 11:27:05 +09:00
Nobuyoshi Nakada 035978d7be Pass job-server FDs to bundler tests 2022-09-14 11:27:05 +09:00
Nobuyoshi Nakada c428fc0e1f -undefined dynamic_lookup is obsolete 2022-09-14 11:27:05 +09:00
Nobuyoshi Nakada c28a4e0340
Replace "Fixes"/"Fixed" in commit logs as well as vcs.rb [ci skip]
Use the same regexp to replace "(#NNNN)" and "GH-NNNN" style
references in vcs.rb, too.
2022-09-14 11:24:06 +09:00
Nobuyoshi Nakada f863bc505c [ruby/irb] Fix the error when LC_MESSAGES config value is nil
https://github.com/ruby/irb/commit/6bbde84369
2022-09-14 11:14:08 +09:00
Nobuyoshi Nakada e2b47b832f
configure.ac: Manage OPT_DIR better (#6367)
* Check rpath flag earlier

* Manage OPT_DIR at once
2022-09-14 10:42:38 +09:00
Jeremy Evans 9299db49f5 [ruby/irb] Fix history file saving with concurrent irb sessions when history file doesn't exist
If history file didn't exist when irb was started, @loaded_history_mtime
would be nil.  However, if the history file didn't exist before, but it
exists when saving history, that means the history file was modified,
and we should handle it the same way as we handle the other case where
the history file was modified.

Fixes #388

https://github.com/ruby/irb/commit/8d277aafcb
2022-09-14 10:15:45 +09:00
git b876230e5c * 2022-09-14 [ci skip] 2022-09-14 07:21:38 +09:00
Takashi Kokubun 6a78ae2fe2
Remove CODEOWNERS to switch to auto-request-review (#6365)
* Remove CODEOWNERS to switch to auto-request-review

* Random change to test reviews

* Revert "Random change to test reviews"

This reverts commit 814b10d062d82d953019ea4afadc3f8fcf638379.
2022-09-14 07:21:19 +09:00
U.Nakamura 316b44df09 Add GMP support for mswin 2022-09-13 15:44:29 +09:00
Takashi Kokubun 391eebfe69
Increase the timeout for make all on MinGW
https://github.com/ruby/ruby/actions/runs/3041702828/jobs/4899106526#step:14:1219
2022-09-13 10:48:32 +09:00
Takashi Kokubun 2e21fef6a4
Drop synchronized event
because it doesn't seem to be working. It's a bit annoying that
synchronized doesn't work, but in many cases, opened and
ready_for_review should be enough. As a last resort, you could
close/reopen it.

Also, the token scope needs to be public_repo instead of repo:status.
2022-09-13 10:38:11 +09:00
Takashi Kokubun 64cd097009
Tweak the glob for auto_request_review 2022-09-13 10:24:35 +09:00
Takashi Kokubun 9179f666fb
Configure auto_request_review for YJIT team
We need to use pull_request_target instead of pull_request to use secrets.
pull_request_target seems to be executed from the default branch, so
pushing this to master to test this.
2022-09-13 10:18:17 +09:00
git bc8bbd23ab * 2022-09-13 [ci skip] 2022-09-13 09:25:25 +09:00
Koichi Sasada fcf861a138 Try latest debug.gem 2022-09-13 09:25:06 +09:00
David Rodríguez 2aa8edaec7 [rubygems/rubygems] Deduplicate results just once
Instead of checking for uniqueness for every spec.

https://github.com/rubygems/rubygems/commit/97d28c9665
2022-09-12 22:13:32 +09:00
David Rodríguez 75d90cc8e5 [rubygems/rubygems] Use a single hash to keep track of prereleases
https://github.com/rubygems/rubygems/commit/9d7bd177b0
2022-09-12 22:13:31 +09:00
David Rodríguez 03d1962703 [rubygems/rubygems] Remove unnecessary sorting
Already done by the gem version promoter.

https://github.com/rubygems/rubygems/commit/aae2cc9fe0
2022-09-12 22:13:30 +09:00
David Rodríguez dce73c8616 [rubygems/rubygems] Simplify instantiating the gem version promoter
https://github.com/rubygems/rubygems/commit/c4e2737f2c
2022-09-12 22:13:30 +09:00
David Rodríguez 6a21d196ba [rubygems/rubygems] Let specs be sorted just once by the gem version promoter
https://github.com/rubygems/rubygems/commit/3cea25a39d
2022-09-12 22:13:29 +09:00
David Rodríguez 8d2bcc88ff [rubygems/rubygems] This sorting seems unnecessary too
https://github.com/rubygems/rubygems/commit/823cb1fef9
2022-09-12 22:13:29 +09:00
David Rodríguez a4860e043e [rubygems/rubygems] Remove unnecessary spec sorting
Specs in a SpecSet with the same name are only sorted by platform
priority when they are read. No need to sort everything eagerly.

https://github.com/rubygems/rubygems/commit/aeafff52df
2022-09-12 22:13:28 +09:00
Benoit Daloze acc61cbf4a Add NEWS entry for the previous commit 2022-09-12 14:59:45 +02:00
Benoit Daloze 6525b6f760 Remove get_actual_encoding() and the dynamic endian detection for dummy UTF-16/UTF-32
* And simplify callers of get_actual_encoding().
* See [Feature #18949].
* See https://github.com/ruby/ruby/pull/6322#issuecomment-1242758474
2022-09-12 14:02:34 +02:00
Nobuyoshi Nakada ed029e9bd4
Autoconf 2.70 or AC_PROG_CC_C99 for earlier is checking for C99
It is no longer necessary to add it to `CFLAGS`/`CPPFLAGS` later.

Furthermore, as `CPPFLAGS` is used also with C++ compiler, the option
particular to C such as `-std=gnu99` results in an error.
2022-09-12 19:53:10 +09:00
Maple Ong 89077b4c5a
Add comments for some peephole optimizations [ci skip] 2022-09-12 07:50:55 +09:00
git 6f8267b7f3 * 2022-09-12 [ci skip] 2022-09-12 07:48:12 +09:00
Nobuyoshi Nakada 9205b8c801 Revert "defs/gmake.mk: no _FORTIFY_SOURCE unless optimization"
This reverts commit b8c376cb9d, as it
seems no longer needed probably.
2022-09-12 07:47:45 +09:00
Jeremy Bopp 684353fc03
[Win32] Negative length `IO#sysread`
Raise `ArgumentError` in `IO#sysread` on Windows when given a negative
length.

Fixes [Bug #18880]
2022-09-11 23:08:14 +09:00
Takashi Kokubun 472e7b8518
MJIT: Use the built-in PACK_MAP
106744107b made this possible.
2022-09-11 15:39:40 +09:00
Takashi Kokubun 106744107b
[ruby/fiddle] Fix PACK_MAP for unsigned types (https://github.com/ruby/fiddle/pull/110)
4a71246645
2022-09-11 15:30:49 +09:00
Takashi Kokubun 7232f264df
Remove -j from MinGW test-all
MinGW CI has been crashing too often. Now that we don't have slow test_mjit in MinGW, I'd like to see if not using parallel test workers fixes the problem.
2022-09-11 10:14:56 +09:00
Takashi Kokubun aa8a3b2358
MJIT: Do not hang after forking with threads
First, rb_mjit_fork should call rb_thread_atfork to stop threads after
fork in the child process. Unfortunately, we cannot use rb_fork_ruby to
prevent this kind of mistakes because MJIT needs special handling of
waiting_pid and mjit_pause/resume.

Second, mjit_waitpid_finished should be checked regardless of
trap_interrupt. It doesn't seem like the flag is not set when SIGCHLD is
handled for an MJIT child process.
2022-09-11 09:09:05 +09:00
git c22a668580 * 2022-09-11 [ci skip] 2022-09-11 02:03:41 +09:00
Benoit Daloze 14bcf69c9c Deprecate Encoding#replicate
* See [Feature #18949].
2022-09-10 19:02:15 +02:00
Nobuyoshi Nakada f641179525
[win32] Set proper `NULLCMD` in rbconfig.rb [ci skip] 2022-09-10 21:32:19 +09:00
Nobuyoshi Nakada c722597103
[MSWin] Get rid of single quotes in sed command lines
GnuWin32 sed strips only double quotes, but not single quotes, and
dies:

```
sed: -e expression #1, char 1: unknown command: `''
```
2022-09-10 20:50:37 +09:00
Benoit Daloze 92b907d12d Enable deprecation warnings for test-all
* So deprecated methods/constants/functions are dealt with early,
  instead of many tests breaking suddenly when removing a deprecated
  method/constant/function.
* Follows https://bugs.ruby-lang.org/issues/17591
2022-09-10 13:14:18 +02:00
John Hawthorn 5e39b3b844 YJIT: Branch directly when nil? is known from types 2022-09-09 20:29:40 -07:00
John Hawthorn d319184390 YJIT: Branch directly when truthyness is known 2022-09-09 20:29:40 -07:00
S-H-GAMELINKS 79f50b9d02 Using is_broken_string function 2022-09-10 09:32:51 +09:00
Lars Kanis 518301883e Fix parallel build on MINGW
When the build is running with a base ruby then generating `x64-ucrt-ruby320.rc`
could fail due to a missing dependency to `x64-mingw-ucrt-fake.rb`.
This commit adds this dependency.

A failing build looks like so:
```
generating x64-mingw-ucrt-fake.rb
generating x64-ucrt-ruby320.rc
../snapshot-master/win32/resource.rb:in `require': cannot load such file -- ./x64-mingw-ucrt-fake (LoadError)
make: *** [GNUmakefile:57: x64-ucrt-ruby320.rc] Error 1
make: *** Waiting for unfinished jobs....
linking miniruby.exe
x64-mingw-ucrt-fake.rb updated
```
2022-09-10 09:32:27 +09:00
Maxime Chevalier-Boisvert 5b5c627d37
YJIT: eliminate redundant mov in csel/cmov on x86 (#6348)
* Eliminate redundant mov in csel/cmov. Translate mov reg,0 into xor

* Fix x86 asm test

* Remove dbg!()

* xor optimization unsound because it resets flags
2022-09-09 18:41:19 -04:00
git 2a08a39d7d * 2022-09-10 [ci skip] 2022-09-10 00:38:09 +09:00
Kevin Newton 848037cadd
Better offsets (#6315)
* Introduce InstructionOffset for AArch64

There are a lot of instructions on AArch64 where we take an offset
from PC in terms of the number of instructions. This is for loading
a value relative to the PC or for jumping.

We were usually accepting an A64Opnd or an i32. It can get
confusing and inconsistent though because sometimes you would
divide by 4 to get the number of instructions or multiply by 4 to
get the number of bytes.

This commit adds a struct that wraps an i32 in order to keep all of
that logic in one place. It makes it much easier to read and reason
about how these offsets are getting used.

* Use b instruction when the offset fits on AArch64
2022-09-09 11:37:41 -04:00