summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* [DOC] Fix a link [ci skip]Kazuhiro NISHIYAMA2023-01-231-1/+2
|
* Fix Integer#ceildiv to respect #coerce (#7118)Kouhei Yanagita2023-01-222-1/+5
| | | Fixes [Bug #19343]
* Adjust braces [ci skip]Nobuyoshi Nakada2023-01-221-6/+4
|
* More coverage tests & specs. (#7171)Samuel Williams2023-01-224-1/+17
| | | | | * Add spec for eval and line coverage. * Add test for main file coverage.
* Ensure main file has default coverage if required. (#7169)Samuel Williams2023-01-221-2/+11
| | | * Extract common code for coverage setup.
* Windows build instructions documentation. (#6956)Samuel Williams2023-01-221-0/+42
| | | Windows build instructions.
* Add `doc/distribution.md` to help reduce some of the confusion. (#6856)Samuel Williams2023-01-221-0/+51
|
* tool/leaked-globals: ignore function typedef [ci skip]Nobuyoshi Nakada2023-01-212-3/+4
|
* Add `offsetof` so we can get the offset of membersAaron Patterson2023-01-201-0/+6
| | | | | | | | | | | | | | | | I want to get the offset of fields inside structs, but I don't want to instantiate the struct. I need to embed the offsets inside machine code, and I can't get the offsets without calling `new` on the struct. This commit adds an `offset` method so you can get the offset of a member without instantiating anything. You can do: ```ruby C.rb_control_frame_t.offsetof(:sp) #=> 8 ``` I don't think this implementation is perfect, you can only get immediate fields. But it is better than nothing!
* YJIT: Avoid BorrowError on GC.compact (#7164)Takashi Kokubun2023-01-201-2/+4
|
* Fix typo in RHASH_ST_CLEARPeter Zhu2023-01-201-1/+1
| | | | We should be setting as.st and not as.ar.
* Document thread-safety issues with Hash default_procJeremy Evans2023-01-201-0/+4
| | | | Fixes [Bug #19237]
* Remove unused struct member thgroup->groupMatt Valentine-House2023-01-201-2/+0
|
* YJIT: get rid of unneeded `.into()`Jimmy Miller2023-01-201-1/+1
|
* In `UNALIGNED_MEMBER_PTR` cast through `void` pointerNobuyoshi Nakada2023-01-211-1/+11
| | | | | Suppress warnings shown even with `-Waddress-of-packed-member` disabled in gcc 11.
* Add `queue_list` and `szqueue_list` macrosNobuyoshi Nakada2023-01-211-2/+4
|
* Make all of the references of iseq movablePeter Zhu2023-01-205-29/+30
|
* [ruby/reline] Add autoindent test for indent after bracket and newlinetompng2023-01-201-0/+12
| | | | https://github.com/ruby/reline/commit/3f3da7d0e2
* [ruby/reline] accept new_indent > cursor_maxtompng2023-01-201-2/+3
| | | | https://github.com/ruby/reline/commit/61cc580da4
* [rubygems/rubygems] Update bundle-exec man page for with_unbundled_envJosh Nichols2023-01-202-9/+9
| | | | `with_clean_env` has been deprecated in `with_unbundled_env`. It already generates a deprecation warning when it uses, but this man page was still referring to it.
* Add a NEWS entry for [Feature #19314] [ci skip]Shugo Maeda2023-01-201-0/+1
|
* [rubygems/rubygems] Clean test outputNobuyoshi Nakada2023-01-201-2/+1
| | | | | | | | The output from the command is mixed in this test, even when successful. Use the output as a part of the message on failure instead. https://github.com/rubygems/rubygems/commit/960509a133
* [Feature #19314] Add new arguments of String#bytespliceShugo Maeda2023-01-202-58/+147
| | | | | | | bytesplice(index, length, str, str_index, str_length) -> string bytesplice(range, str, str_range) -> string In these forms, the content of +self+ is replaced by str.byteslice(str_index, str_length) or str.byteslice(str_range); however the substring of +str+ is not allocated as a new string.
* OpenSSL, libyaml and zlib is always required to build. see test/test_extlibs.rbHiroshi SHIBATA2023-01-201-3/+3
|
* Added supported versions to OpenSSL and libyamlHiroshi SHIBATA2023-01-201-2/+2
|
* Added version policy of BASERUBYHiroshi SHIBATA2023-01-201-0/+1
| | | | [Misc #16671]
* Separate dependencies section from quick startHiroshi SHIBATA2023-01-201-8/+10
|
* fixed wrong version of baserubyHiroshi SHIBATA2023-01-201-1/+1
|
* Bundle RBS 2.8.4 (#7159)Soutaro Matsumoto2023-01-200-0/+0
|
* Update bundled gems list at 2023-01-20git2023-01-202-2/+2
|
* [ci skip] Add ticket label to testPeter Zhu2023-01-191-1/+1
|
* don't allow setting class variable on module that's frozen [Bug #19341]lukeg2023-01-192-0/+16
|
* YJIT: Refactor side_exitsJimmy Miller2023-01-192-49/+50
|
* YJIT: Remove duplicated information in BranchTarget (#7151)Takashi Kokubun2023-01-191-55/+87
| | | | | Note: On the new code of yjit/src/core.rs:2178, we no longer leave the state `.block=None` but `.address=Some...`, which might be important. We assume it's actually not needed and take a risk here to minimize heap allocations, but in case it turns out to be necessary, we could signal/resurrect that state by introducing a new BranchTarget (or BranchShape) variant dedicated to it.
* [ruby/net-http] [DOC] Header docBurdette Lamar2023-01-191-2/+16
| | | | | | (https://github.com/ruby/net-http/pull/104) https://github.com/ruby/net-http/commit/3308362d9b
* Implement splat for cfuncs. Split exit exit cases to better capture where we ↵Jimmy Miller2023-01-195-21/+203
| | | | | | | | | | | | | | are exiting (#6929) YJIT: Implement splat for cfuncs. Split exit cases This also implements a new check for ruby2keywords as the last argument of a splat. This does mean that we generate more code, but in actual benchmarks where we gained speed from this (binarytrees) I don't see any significant slow down. I did have to struggle here with the register allocator to find code that didn't allocate too many registers. It's a bit hard when everything is implicit. But I think I got to the minimal amount of copying and stuff given our current allocation strategy.
* Fix compilation warnings in thread_sync.cPeter Zhu2023-01-191-2/+2
| | | | | | | | Fixes the following compilation warnings: thread_sync.c:908:48: warning: taking address of packed member of `struct rb_queue` may result in an unaligned pointer value [-Waddress-of-packed-member] thread_sync.c:1181:48: warning: taking address of packed member of `struct rb_queue` may result in an unaligned pointer value [-Waddress-of-packed-member]
* Combine code paths for marking ccPeter Zhu2023-01-191-7/+19
| | | | | This commit avoids a separate code path for marking and moving the callcache of the iseq.
* Add rb_gc_mark_and_move and implement on iseqPeter Zhu2023-01-193-165/+105
| | | | | | | | | | This commit adds rb_gc_mark_and_move which takes a pointer to an object and marks it during marking phase and updates references during compaction. This allows for marking and reference updating to be combined into a single function, which reduces code duplication and prevents bugs if marking and reference updating goes out of sync. This commit also implements rb_gc_mark_and_move on iseq as an example.
* [Bug #19289] Retain `ruby_abi_version` functionNobuyoshi Nakada2023-01-201-2/+5
| | | | | | | | A few extension libraries, to hide all symbols except for necessary to load, hardcode the symbols to be exported in symbol list files for linker without even checking by `have_func`. As a workaround for such libraries, retain `ruby_abi_version` symbol always even in released versions for now.
* Run `after-update` in the same main make process [ci skip]Nobuyoshi Nakada2023-01-202-1/+5
|
* Fix a typo in BUG message [ci skip]Nobuyoshi Nakada2023-01-201-1/+1
|
* ci in iseq can only be object or nullPeter Zhu2023-01-191-2/+2
| | | | | It looks like rb_callinfo in iseq can only be either a Ruby object or null, since it cannot be allocated on the stack.
* String#bytesplice should return selfShugo Maeda2023-01-192-3/+3
| | | | | | | | In Feature #19314, we concluded that the return value of String#bytesplice should be changed from the source string to the receiver, because the source string is useless and confusing when extra arguments are added. This change should be included in Ruby 3.2.1.
* YJIT: Use .as_side_exit() for jumps to counted exitsAlan Wu2023-01-181-9/+9
| | | | | Fewer cycles running nops when these jumps are not taken. Fixing all these so when they get copy pasted in the future we save on padding.
* YJIT: Set RUST_BACKTRACE=1 on YJIT GitHub Actions (#7152)Takashi Kokubun2023-01-181-0/+1
|
* Test some missing coverage too. (#7041)Samuel Williams2023-01-191-5/+7
|
* [ruby/net-http] [DOC] Enhanced RDoc for set_formBurdette Lamar2023-01-181-50/+102
| | | | | | (https://github.com/ruby/net-http/pull/103) https://github.com/ruby/net-http/commit/f6506ff889
* YJIT: implement codegen for `String#empty?` (#7148)Maxime Chevalier-Boisvert2023-01-184-0/+49
| | | YJIT: implement codegen for String#empty?
* Remove macro RHASH_ITER_LEVPeter Zhu2023-01-181-13/+0
| | | | The function rb_hash_iter_lev doesn't exist as it was removed.