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

71570 Коммитов

Автор SHA1 Сообщение Дата
Nobuyoshi Nakada 57377e5d53 [ruby/psych] Propagate `CC` to libyaml
It is needed for cross-compiling to set properly.  Just
`--target`/`--host`/`--build` seems insufficient on some
platforms.

https://github.com/ruby/psych/commit/2d00c0c203
2022-04-04 16:06:16 +09:00
Nobuyoshi Nakada de427c3ce0 [ruby/optparse] Define `inspect` and `pretty_inspect`
https://github.com/ruby/optparse/commit/a3f0ec21b1
2022-04-04 15:05:44 +09:00
Hartley McGuire 4db75b6fe7 [rubygems/rubygems] bump actions/checkout to 3 in bundler gem template
Dependabot bumped the repo's configuration in 0c996fa but it did not
bump the version in the template for `bundler gem`

https://github.com/rubygems/rubygems/commit/e14980e169
2022-04-04 14:14:40 +09:00
git fb5aa31e2d * 2022-04-04 [ci skip] 2022-04-04 00:09:54 +09:00
Burdette Lamar 0b0ae583f4
[DOC] Enhanced RDoc for String (#5753)
Treats:
    #length
    #bytesize
2022-04-03 10:09:34 -05:00
Nobuyoshi Nakada f801386f0c
[DOC] Describe append_{c,cpp,ld}flags 2022-04-03 13:38:31 +09:00
Jeremy Evans 7648bae4c8 [ruby/net-http] Revert "Update the content-length heading when decoding bodies"
This reverts commit https://github.com/ruby/net-http/commit/a7cb30124cf1.

This is causing errors in Ruby's CI, will revert for now and
try again after testing a fix with Ruby's CI.

https://github.com/ruby/net-http/commit/7b852b1feb
2022-04-03 06:51:07 +09:00
Burdette Lamar 7be4d900f0
[DOC] Enhanced RDoc for String (#5751)
Adds to doc for String.new, also making it compliant with documentation_guide.rdoc.
    Fixes some broken links in io.c (that I failed to correct yesterday).
2022-04-02 14:26:49 -05:00
git 4d2623ead2 * 2022-04-03 [ci skip] 2022-04-03 01:13:39 +09:00
Yuta Saito 44d0caa1ca dir.c: refresh pathtype when emulating `IFTODT` in `glob_helper`
When using `IFTODT` defined in libc, `dirent.d_type` oriented pathtype
is compatible with `IFTODT(stat.st_mode)`. However they are not
compatible when emulating `IFTODT`, so `glob_helper` has to stat instead
of reusing dirent result by passing unknown pathtype to `glob_helper`.

This is a follow-up fix of 0c90ca4dd0
2022-04-03 01:13:16 +09:00
Nobuyoshi Nakada 07acd6006c [ruby/zlib] Use `z_size_t` version functions
https://github.com/ruby/zlib/commit/1ce6625fff
2022-04-02 19:34:05 +09:00
git dcc3c2858f Update bundled gems list at e73d76027e [ci skip] 2022-04-02 10:29:56 +00:00
Kazuhiro NISHIYAMA e73d76027e
Update bundled_gems 2022-04-02 19:29:03 +09:00
Nobuyoshi Nakada 4ee71097a0 [ruby/zlib] Mask checksums to lower 32bits on also IL32 platforms
https://github.com/ruby/zlib/commit/e1ead85113
2022-04-02 19:23:59 +09:00
Nobuyoshi Nakada 1cbdedec89 [ruby/zlib] Mask checksums to lower 32bits
Upper bits affect the result of `crc32` in zlib 1.2.12.

https://github.com/ruby/zlib/commit/9ab6d04af1
2022-04-02 17:01:33 +09:00
Nobuyoshi Nakada 729b9a8543
[DOC] Fix broken links to encodings.rdoc
Also prefers class name based references than file name based
references.
2022-04-02 15:06:12 +09:00
Nobuyoshi Nakada 010d92e93d
Adjust indent [ci skip] 2022-04-02 14:54:37 +09:00
Burdette Lamar 81741690a0
[DOC] Main doc for encodings moved from encoding.c to doc/encodings.rdoc (#5748)
Main doc for encodings moved from encoding.c to doc/encodings.rdoc
2022-04-01 20:41:04 -05:00
Kevin Newton 6068da8937 Finer-grained constant cache invalidation (take 2)
This commit reintroduces finer-grained constant cache invalidation.
After 8008fb7 got merged, it was causing issues on token-threaded
builds (such as on Windows).

The issue was that when you're iterating through instruction sequences
and using the translator functions to get back the instruction structs,
you're either using `rb_vm_insn_null_translator` or
`rb_vm_insn_addr2insn2` depending if it's a direct-threading build.
`rb_vm_insn_addr2insn2` does some normalization to always return to
you the non-trace version of whatever instruction you're looking at.
`rb_vm_insn_null_translator` does not do that normalization.

This means that when you're looping through the instructions if you're
trying to do an opcode comparison, it can change depending on the type
of threading that you're using. This can be very confusing. So, this
commit creates a new translator function
`rb_vm_insn_normalizing_translator` to always return the non-trace
version so that opcode comparisons don't have to worry about different
configurations.

[Feature #18589]
2022-04-01 14:48:22 -04:00
Aaron Patterson 20c190f95a Fix up global name references in misc/lldb_disasm.py
Some of the symbols had changed names and the script was no longer
finding them.
2022-04-01 14:48:22 -04:00
git b61e469c74 * 2022-04-02 [ci skip] 2022-04-02 02:49:35 +09:00
Jeremy Evans 58adb1636b [ruby/net-http] Update the content-length heading when decoding bodies
Previously, the content-encoding header was removed and the body
was modified, but the content-length header was not modified,
resulting in the content-length header not matching the body
length.

Fixes [Bug #16672]

https://github.com/ruby/net-http/commit/a7cb30124c
2022-04-02 02:49:21 +09:00
Matt Valentine-House 651b832c1b extract magic number from gc_sweep_step 2022-04-01 10:52:18 -04:00
Peter Zhu fe21b7794a Use mmap for heap page allocation only
Currently, rb_aligned_malloc uses mmap if Ruby heap pages can be
allocated through mmap (when system heap page size <= Ruby heap page
size). If Ruby heap page sizes is increased to 64KiB, then mmap will
be used on systems with 64KiB system page sizes. However, the transient
heap also uses rb_aligned_malloc and requires 32KiB alignment. This
would break in the current implementation since it would allocate sizes
through mmap that is not a multiple of the system page size.

This commit adds heap_page_body_allocate which will use mmap when
possible and changes rb_aligned_malloc to not use mmap (and only
use posix_memalign).
2022-04-01 10:27:18 -04:00
Jeremy Evans d1d48cb690 Revert "Raise RuntimeError if Kernel#binding is called from a non-Ruby frame"
This reverts commit 343ea9967e.

This causes an assertion failure with -DRUBY_DEBUG=1 -DRGENGC_CHECK_MODE=2
2022-04-01 07:22:49 -07:00
Matt Valentine-House d8352ff3ac [Feature #18619] remove FL_FROM_FREELIST 2022-04-01 08:45:52 -04:00
Matt Valentine-House c26a85fc96 [Feature #18619] Remove redundant compaction path 2022-04-01 08:45:52 -04:00
Matt Valentine-House 76572e5a7f [Feature #18619] Reverse the order of compaction movement
This commit changes the way compaction moves objects and sweeps pages in
order to better facilitate object movement between size pools.

Previously we would move the scan cursor first until we found an empty
slot and then we'd decrement the compact cursor until we found something
to move into that slot. We would sweep the page that contained the scan
cursor before trying to fill it

In this algorithm we first move the compact cursor down until we find an
object to move - We then take a free page from the desired destination
heap (always the same heap in this current iteration of the code).

If there is no free page we sweep the page at the sweeping_page cursor,
add it to the free pages, and advance the cursor to the next page, and
try again.

We sweep one page from each size pool in this way, and then repeat that
process until all the size pools are compacted (all the cursors have
met), and then we update references and sweep the rest of the heap.
2022-04-01 08:45:52 -04:00
git 7dfea79ebf Update bundled gems list at b3a05827c7 [ci skip] 2022-04-01 05:44:35 +00:00
Koichi Sasada b3a05827c7 debug.gem v1.5.0
Note that `mkmf`'s `have_func` doesn't work without installing ruby
(without `make install`) and `make test-bundled-gems` does not work.
So the newer test repository is specified.
2022-04-01 14:44:08 +09:00
git f24abc0bb2 Update default gems list at 06f94d1784 [ci skip] 2022-04-01 04:57:20 +00:00
Hiroshi SHIBATA 06f94d1784 [ruby/net-protocol] Bump version to 0.1.3
https://github.com/ruby/net-protocol/commit/9cf40af499
2022-04-01 13:56:47 +09:00
Nobuyoshi Nakada e680e63e7e [ruby/psych] Output libyaml configure log
https://github.com/ruby/psych/commit/c2e3c8579c
2022-04-01 11:48:50 +09:00
Alan Wu 2222032979
Remove dependency on libcapstone
We have received reports of build failures due to this configuration
check modifying compile flags. Since only YJIT devs use this library
we can remove it to make Ruby easier to build for users.

See: https://github.com/rbenv/ruby-build/discussions/1933
2022-03-31 17:26:28 -04:00
Burdette Lamar 056b7a8633
[DOC] Enhanced RDoc for String (#5742)
Treats:
    #force_encoding
    #b
    #valid_encoding?
    #ascii_only?
    #scrub
    #scrub!
    #unicode_normalized?
Plus a couple of minor tweaks.
2022-03-31 15:09:25 -05:00
Matt Valentine-House bb037f6d86 Remove hard-coded swept slots threshold 2022-03-31 14:39:59 -04:00
git f380a25520 Update default gems list at 8a38419b73 [ci skip] 2022-03-31 15:23:12 +00:00
Marc-André Lafortune 8a38419b73 [ruby/ostruct] v0.5.5
https://github.com/ruby/ostruct/commit/ce879e56cf
2022-04-01 00:18:36 +09:00
git 5357b6bfb2 * 2022-04-01 [ci skip] 2022-04-01 00:17:03 +09:00
Charles Oliver Nutter 8751769637 [ruby/ostruct] Avoid using block_given in the presence of aliases
defined?(yield) bypasses the block_given? method (or any aliases
to it) and always does the right thing.

https://github.com/ruby/ostruct/commit/4c38fe612e
2022-04-01 00:16:49 +09:00
Nobuyoshi Nakada af2ab0dd1c [ruby/psych] Make a static library from PIC object files
On some platforms, PIC and non-PIC code are incompatible and the
latter cannot be used for shared objects.

https://github.com/ruby/psych/commit/5652e32733
2022-03-31 21:34:48 +09:00
James Hill 834c3b3545 [rubygems/rubygems] Update bundler documentation to reflect bundle config scope changes
In https://github.com/rubygems/rubygems/pull/4152 `bundle config` was changed
to default to local scope (instead of global) if the command was executed
from inside an application directory.

Updated documentation reflects this change.

https://github.com/rubygems/rubygems/commit/d92d42cae5
2022-03-31 20:00:10 +09:00
Nobuyoshi Nakada d8189ed23f
Return only captured range in `MatchData` [Bug #18670] 2022-03-31 18:01:15 +09:00
Yusuke Endoh ddd83e8462 test/date/test_date_parse.rb: relax the time limit
The timeout was very strict for weak CI machines like qemu-riscv.
Due to the additional overhead for Regexp.timeout=, it started failing
on such machines.

http://rubyci.s3.amazonaws.com/debian-riscv64/ruby-master/log/20220330T200018Z.fail.html.gz
```
  1) Error:
TestDateParse#test__parse_too_long_year:
Timeout::Error: execution expired
```
2022-03-31 12:52:16 +09:00
Nobuyoshi Nakada 217cea7812 [ruby/psych] Remove `unknown` vendor for cross-compiling tool prefix
https://github.com/ruby/psych/commit/a4ffa06646
2022-03-31 12:18:28 +09:00
Nobuyoshi Nakada 663c297e34
Remove CI configuration files from extracted bundled gems 2022-03-31 10:49:56 +09:00
Nobuyoshi Nakada abfd859b13
Remove github and git related files from extracted bundled gems 2022-03-31 10:49:55 +09:00
Yusuke Endoh c499a4c28a re.c: stop a wrong warning of "flags ignored" on Regexp.new(//)
[Bug #18669]
2022-03-31 10:07:09 +09:00
S-H-GAMELINKS 3a70d4cd60 [DOC] Fix ghcr link 2022-03-31 08:35:39 +09:00
Peter Zhu 9f306618b1 [Bug #18667] Define RUBY_API_VERSION on Windows
On other platforms, RUBY_SO_NAME is defined from RUBY_API_VERSION.
ruby_version contains the ABI version, which is not needed.
RUBY_API_VERSION is defined as MAJOR.MINOR.
2022-03-30 18:08:46 -04:00