aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Avoid leaving an uneeded commentTakashi Kokubun2023-01-301-6/+0
| | | | 465bd972ec2 didn't need to leave the obsoleted code.
* YJIT: Add splat optimized_send (#7167)Jimmy Miller2023-01-302-11/+11
|
* YJIT: Initial implementation of splat with optional params (#7166)Jimmy Miller2023-01-301-8/+13
|
* Remove dead code in shapes.c and shapes.hPeter Zhu2023-01-302-19/+0
|
* YJIT: Fix BorrowMutError on GC.compact (#7176)Takashi Kokubun2023-01-302-10/+26
| | | YJIT: Fix BorrowMutError
* YJIT: Skip defer_compilation for fixnums if possible (#7168)Takashi Kokubun2023-01-302-77/+104
| | | | | | | * YJIT: Skip defer_compilation for fixnums if possible * YJIT: It should be Some(false) * YJIT: Define two_fixnums_on_stack on Context
* YJIT: Inline return address callback (#7198)Alan Wu2023-01-301-16/+9
| | | | This makes it so that the generator and the output code read in the same order. I think it reads better this way.
* [rubygems/rubygems] normalise manifest path from cargo on windowsMat Sadler2023-01-301-1/+7
| | | | https://github.com/rubygems/rubygems/commit/23b5ca5fc4
* [rubygems/rubygems] better error message if cargo metadata doesn't contain ↵Mat Sadler2023-01-301-0/+11
| | | | | | the package we expect https://github.com/rubygems/rubygems/commit/cb7e6d1577
* [rubygems/rubygems] install rust extensions into expected directory nestingMat Sadler2023-01-307-12/+33
| | | | https://github.com/rubygems/rubygems/commit/85ea86d348
* [rubygems/rubygems] use cargo to get crate nameMat Sadler2023-01-306-119/+107
| | | | | | | | | | | | the final copying of the extension into place has been slimmed down, reflecting that it only needs to copy a single file, rather than replicating the more involved process used for a C ext this also refactors #build so that #cargo_crate_name only needs to be called once, and hopefully the build flow is easier to understand https://github.com/rubygems/rubygems/commit/5a0d7f2e6c
* [rubygems/rubygems] don't force Cargo.lock to be in gem rootMat Sadler2023-01-301-1/+1
| | | | https://github.com/rubygems/rubygems/commit/371044c0ab
* [rubygems/rubygems] remove unused files in cargo builder test fixturesMat Sadler2023-01-302-42/+0
| | | | https://github.com/rubygems/rubygems/commit/233847513b
* Fix parsing of regexps that toggle extended mode on/off inside regexpJeremy Evans2023-01-302-33/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was broken in ec3542229b29ec93062e9d90e877ea29d3c19472. That commit didn't handle cases where extended mode was turned on/off inside the regexp. There are two ways to turn extended mode on/off: ``` /(?-x:#y)#z /x =~ '#y' /(?-x)#y(?x)#z /x =~ '#y' ``` These can be nested inside the same regexp: ``` /(?-x:(?x)#x (?-x)#y)#z /x =~ '#y' ``` As you can probably imagine, this makes handling these regexps somewhat complex. Due to the nesting inside portions of regexps, the unassign_nonascii function needs to be recursive. In recursive mode, it needs to track both opening and closing parentheses, similar to how it already tracked opening and closing brackets for character classes. When scanning the regexp and coming to `(?` not followed by `#`, scan for options, and use `x` and `i` to determine whether to turn on or off extended mode. For `:`, indicting only the current regexp section should have the extended mode switched, recurse with the extended mode set or unset. For `)`, indicating the remainder of the regexp (or current regexp portion if already recursing) should turn extended mode on or off, just change the extended mode flag and keep scanning. While testing this, I noticed that `a`, `d`, and `u` are accepted as options, in addition to `i`, `m`, and `x`, but I can't see where those options are documented. I'm not sure whether or not handling `a`, `d`, and `u` as options is a bug. Fixes [Bug #19379]
* bignum.c: rb_int_parse_cstr handle `0` stringsJean Boussier2023-01-302-1/+4
| | | | | | | [Bug #19390] We shouldn't check the string length when skipping zeros, as the string might only contains zero characters, resulting in an empty string.
* Extract check for RSTRING_SOCKLENNobuyoshi Nakada2023-01-301-3/+15
|
* Update default gems list at b432867429d8a311b2c73230b5cdd4 [ci skip]git2023-01-301-1/+0
|
* Skip OpenSSL::TestHMAC#test_dup when running with RHEL9Hiroshi SHIBATA2023-01-301-0/+3
|
* [DOC] Make changes to docs in ractor.rb (#7180)Luke Gruber2023-01-291-114/+126
| | | | | | | | | * Make changes to docs in ractor.rb Mainly English changes to make things more clear, and to fix minor non-idiomatic phrases. Also clarified difference between frozen and shareable objects. * More minor changes to Ractor docs.
* [ruby/net-http] Correct doc errorBurdetteLamar2023-01-281-1/+1
| | | | https://github.com/ruby/net-http/commit/dc006d8419
* [ruby/stringio] [Bug #19389] Fix chomping with longer separatorNobuyoshi Nakada2023-01-282-2/+5
| | | | https://github.com/ruby/stringio/commit/eb322a9716
* [rubygems/rubygems] Don't warn on bundler binstubs --standalone --allDaniel Colson2023-01-272-1/+26
| | | | | | | | | | | | | | | | | | | Prior to this commit `bundle binstubs --standalone --all` would output a warning about not being able to generate a standalone binstub for bundler. This warning predates the `--all` option, and I don't think it makes sense in this context. The warning makes good sense when explicitly trying to generate a bundler standalone binstub with `bundle binstubs bundler --standalone`, since that command won't do what the user might have expected. But `--all` is not specifically asking for bundler, and having it report each time that the bundler binstubs could not be generated does not seem particularly helpful. The only way to make that warning go away would be to stop using `--standalone --all`. This commit skips the warning when running with the `--all` option. https://github.com/rubygems/rubygems/commit/e6a72e19eb
* YJIT: Fix shared/static library symbol leaksAlan Wu2023-01-276-15/+49
| | | | | | | | | | | | | | | | | | | | Rust 1.58.0 unfortunately doesn't provide facilities to control symbol visibility/presence, but we care about controlling the list of symbols exported from libruby-static.a and libruby.so. This commit uses `ld -r` to make a single object out of rustc's staticlib output, libyjit.a. This moves libyjit.a out of MAINLIBS and adds libyjit.o into COMMONOBJS, which obviates the code for merging libyjit.a into libruby-static.a. The odd appearance of libyjit.a in SOLIBS is also gone. To filter out symbols we do not want to export on ELF platforms, we use objcopy after the partial link. On darwin, we supply a symbol list to the linker which takes care of hiding unprefixed symbols. [Bug #19255] Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure: Keep OBJCOPY even when visibility options are availableAlan Wu2023-01-271-2/+1
| | | | | | | YJIT will need it to address symbol leakage issue. Fallback to `:` when OBJCOPY is not available on the system. Co-authored-by: Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure: Don't use use LD=clang, ld takes different flagsAlan Wu2023-01-271-1/+1
| | | | | | This was a difference from using a GNU toolchain previously. It wasn't a problem because we don't invoke $(LD) in the Makefile currently. YJIT will want to invoke LD, so needs this consistency.
* [ruby/bigdecimal] Add truffleruby in CIBenoit Daloze2023-01-271-1/+5
| | | | https://github.com/ruby/bigdecimal/commit/5a25e26e08
* [rubygems/rubygems] Update the list of SPDX licence identifiersSamuel Giddins2023-01-271-0/+48
| | | | https://github.com/rubygems/rubygems/commit/18a9b0dc7e
* [ruby/syntax_suggest] Hide internal document and detail of `Kernel` monkey ↵Nobuyoshi Nakada2023-01-271-0/+4
| | | | | | | | patching https://bugs.ruby-lang.org/issues/19285 https://github.com/ruby/syntax_suggest/commit/25ca82f8f9
* [ruby/fiddle] fiddle: Use C11 _Alignof to define ALIGN_OF whenKhem Raj2023-01-271-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | possible (https://github.com/ruby/fiddle/pull/120) WG14 N2350 made very clear that it is an UB having type definitions within "offsetof" [1]. This patch enhances the implementation of macro ALIGN_OF to use builtin "_Alignof" to avoid undefined behavior when using std=c11 or newer clang 16+ has started to flag this [2] Fixes build when using -std >= gnu11 and using clang16+ Older compilers gcc < 4.9 or clang < 8 has buggy _Alignof even though it may support C11, exclude those compiler versions [1] https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2350.htm [2] https://reviews.llvm.org/D133574 Signed-off-by: Khem Raj <raj.khem@gmail.com> https://github.com/ruby/fiddle/commit/ad6c9aa826
* [ruby/fiddle] Fix comment formattingAaron Patterson2023-01-271-12/+12
| | | | https://github.com/ruby/fiddle/commit/36b2432575
* [ruby/fiddle] Update documentationAaron Patterson2023-01-271-14/+19
| | | | | | | | (https://github.com/ruby/fiddle/pull/119) The documentation for `Fiddle.dlwrap` and `Fiddle.dlunwrap` were not very accurate and pretty confusing. This commit updates the documentation so it's easier to understand what the methods do.
* [ruby/openssl] Added CoreAssertionsHiroshi SHIBATA2023-01-271-1/+7
| | | | | | | https://github.com/ruby/openssl/commit/520601e11d This commits swtich to use ruby/ruby's envutil.rb instead of vendored in openssl repo.
* [ruby/openssl] Do not require test file in a forked process in testsAndrew Konchin2023-01-272-23/+15
| | | | https://github.com/ruby/openssl/commit/ae784673d7
* Pass through `line_offset` argument correctly (but it was always 0). (#7177)Samuel Williams2023-01-271-1/+1
|
* [rubygems/rubygems] Deprecate Gem::ListSamuel Giddins2023-01-262-9/+3
| | | | | | It is unused, we will remove it in the next major version https://github.com/rubygems/rubygems/commit/c3f6c27d6d
* Revert "Limit maximum number of IVs on a shape"Aaron Patterson2023-01-262-2/+1
| | | | This reverts commit 78fcc9847a9db6d42c8c263154ec05903a370b6b.
* Fix `target_cpu` at runtimeNobuyoshi Nakada2023-01-261-4/+6
|
* Link RUBYSPEC_CAPIEXT against the built libraryNobuyoshi Nakada2023-01-261-1/+1
|
* Get rid of duplicate "--disable=gems" optionsNobuyoshi Nakada2023-01-261-1/+1
|
* Enable code-coverage result for test-specHiroshi SHIBATA2023-01-261-0/+5
|
* Filter spec directory for code coverageHiroshi SHIBATA2023-01-261-0/+1
|
* Enable code-coverage result for test-syntax-suggestHiroshi SHIBATA2023-01-262-1/+3
|
* Ignore all of tool directory from code coverage, It contains tool/test and etc.Hiroshi SHIBATA2023-01-261-1/+1
|
* Ignore vendored libraries by rubygems from code coverageHiroshi SHIBATA2023-01-261-0/+3
|
* filter coverage result with vendored libraries and test codeHiroshi SHIBATA2023-01-261-1/+7
|
* [ruby/reline] Revert "correct Win32API capitalization for JRuby"Hiroshi SHIBATA2023-01-261-1/+1
| | | | | | This reverts commit https://github.com/ruby/reline/commit/d6e7c9e1d9af. https://github.com/ruby/reline/commit/c47a5b684c
* Need gemspec files instead of cloned directoriesNobuyoshi Nakada2023-01-261-2/+2
|
* Fixed clone nameHiroshi SHIBATA2023-01-261-1/+1
|
* Use timestamp files to track test revision of bundled gemsNobuyoshi Nakada2023-01-261-4/+13
|
* [Bug #19340] Fix bundle gems with test revisionNobuyoshi Nakada2023-01-263-11/+25
| | | | | Build temporary gem package from cloned repository if test revision is set.