| Age | Commit message (Collapse) | Author |
|
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
|
|
|
|
* Remove CODEOWNERS to switch to auto-request-review
* Random change to test reviews
* Revert "Random change to test reviews"
This reverts commit 814b10d062d82d953019ea4afadc3f8fcf638379.
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
|
|
https://github.com/ruby/ruby/actions/runs/3041702828/jobs/4899106526#step:14:1219
|
|
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.
|
|
|
|
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.
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6362
|
|
Instead of checking for uniqueness for every spec.
https://github.com/rubygems/rubygems/commit/97d28c9665
|
|
https://github.com/rubygems/rubygems/commit/9d7bd177b0
|
|
Already done by the gem version promoter.
https://github.com/rubygems/rubygems/commit/aae2cc9fe0
|
|
https://github.com/rubygems/rubygems/commit/c4e2737f2c
|
|
https://github.com/rubygems/rubygems/commit/3cea25a39d
|
|
https://github.com/rubygems/rubygems/commit/823cb1fef9
|
|
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
|
|
|
|
UTF-16/UTF-32
* And simplify callers of get_actual_encoding().
* See [Feature #18949].
* See https://github.com/ruby/ruby/pull/6322#issuecomment-1242758474
|
|
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.
Notes:
Merged: https://github.com/ruby/ruby/pull/6361
Merged-By: nobu <nobu@ruby-lang.org>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6357
Merged-By: nobu <nobu@ruby-lang.org>
|
|
|
|
This reverts commit b8c376cb9d91854fd40f6e06f07773404899b54f, as it
seems no longer needed probably.
Notes:
Merged: https://github.com/ruby/ruby/pull/6356
|
|
Raise `ArgumentError` in `IO#sysread` on Windows when given a negative
length.
Fixes [Bug #18880]
Notes:
Merged: https://github.com/ruby/ruby/pull/6354
Merged-By: nobu <nobu@ruby-lang.org>
|
|
106744107b made this possible.
|
|
(https://github.com/ruby/fiddle/pull/110)
https://github.com/ruby/fiddle/commit/4a71246645ccff001292c9d80b855b2ef5bf06c1
|
|
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.
|
|
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.
|
|
|
|
* See [Feature #18949].
|
|
|
|
GnuWin32 sed strips only double quotes, but not single quotes, and
dies:
```
sed: -e expression #1, char 1: unknown command: `''
```
|
|
* 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
Notes:
Merged: https://github.com/ruby/ruby/pull/6321
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6350
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6350
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6346
|
|
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
```
Notes:
Merged: https://github.com/ruby/ruby/pull/6347
|
|
* 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
Notes:
Merged-By: maximecb <maximecb@ruby-lang.org>
|
|
|
|
* 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
Notes:
Merged-By: maximecb <maximecb@ruby-lang.org>
|
|
Gems without specific platform were being preferred over matching
platform specific gems.
https://github.com/rubygems/rubygems/commit/37b95b9159
|
|
|
|
Remove the superfluous str_modify_keep_cr() call from rb_str_update().
It ends up calling either rb_str_drop_bytes() or rb_str_splice_0(),
which already does checks if necessary.
The extra call makes the string "independent". This is not always
wanted, in other words, it can keep the same shared root when merely
removing the leading part of a shared string.
Notes:
Merged: https://github.com/ruby/ruby/pull/6336
|
|
Previously, it was supported in prelude.c, but has not followed up the
builtin-loader system.
Notes:
Merged: https://github.com/ruby/ruby/pull/6344
|
|
I want to use more complicated macros with MJIT. For example:
```
# define SHAPE_MASK (((unsigned int)1 << SHAPE_BITS) - 1)
```
This commit adds a simple recursive descent parser that produces an AST
and a small visitor that converts the AST to Ruby.
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
|
|
|
|
matching
[Bug #18990]
|
|
|
|
This commit does a bunch of stuff to try to eliminate as many
unnecessary mov instructions as possible.
First, it introduces the Insn::LoadInto instruction. Previously
when we needed a value to go into a specific register (like in
Insn::CCall when we're putting values into the argument registers
or in Insn::CRet when we're putting a value into the return
register) we would first load the value and then mov it into the
correct register. This resulted in a lot of duplicated work with
short live ranges since they basically immediately we unnecessary.
The new instruction accepts a destination and does not interact
with the register allocator at all, making it much more efficient.
We then use the new instruction when we're loading values into
argument registers for AArch64 or X86_64, and when we're returning
a value from AArch64. Notably we don't do it when we're returning
a value from X86_64 because everything can be accomplished with a
single mov anyway.
A couple of unnecessary movs were also present because when we
called the split_load_opnd function in a lot of split passes we
were loading all registers and instruction outputs. We no longer do
that.
This commit also makes it so that UImm(0) passes through the
Insn::Store split without attempting to be loaded, which allows it
can take advantage of the zero register. So now instead of mov-ing
0 into a register and then calling store, it just stores XZR.
Notes:
Merged-By: maximecb <maximecb@ruby-lang.org>
|