summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-01-18YJIT: Use .as_side_exit() for jumps to counted exitsAlan Wu
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. Notes: Merged: https://github.com/ruby/ruby/pull/7150
2023-01-18YJIT: Set RUST_BACKTRACE=1 on YJIT GitHub Actions (#7152)Takashi Kokubun
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2023-01-19Test some missing coverage too. (#7041)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2023-01-18[ruby/net-http] [DOC] Enhanced RDoc for set_formBurdette Lamar
(https://github.com/ruby/net-http/pull/103) https://github.com/ruby/net-http/commit/f6506ff889
2023-01-18YJIT: implement codegen for `String#empty?` (#7148)Maxime Chevalier-Boisvert
YJIT: implement codegen for String#empty? Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2023-01-18Remove macro RHASH_ITER_LEVPeter Zhu
The function rb_hash_iter_lev doesn't exist as it was removed. Notes: Merged: https://github.com/ruby/ruby/pull/7138
2023-01-18Add stats so we can keep track of x86 rel32 vs register calls (#7142)Maxime Chevalier-Boisvert
* Add stats so we can keep track of x86 rel32 vs register calls To know if we get that "prime real estate" as Alan put it. * Fix bug pointed by Alan Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2023-01-18Make installation messages verbose a little [ci skip]Nobuyoshi Nakada
2023-01-18[ruby/reline] Add constant MINIMUM_SCROLLBAR_HEIGHT for scrollbar rendering ↵tompng
when dialog content is very long https://github.com/ruby/reline/commit/d4c95f89ec
2023-01-18[ruby/reline] Add scrollbar scroll-to-bottom test and fix existing scrollbar ↵tompng
rendeing test https://github.com/ruby/reline/commit/268e02b155
2023-01-18[ruby/reline] Fix dialog scrollbar rendering position and disappearing bugtompng
https://github.com/ruby/reline/commit/e21b69ade4
2023-01-18Don't redefine RB_OBJ_WRITEPeter Zhu
RB_OBJ_WRITE already exists in rgengc.h, so we shouldn't redefine it in gc.h. Notes: Merged: https://github.com/ruby/ruby/pull/7131
2023-01-18Define RUBY_VERSION_IS_3_3 macro in rubyspec.hNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/7145
2023-01-18Pin simplecov-0.20.0Hiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/7137
2023-01-18Switch to use gem version of simplecov, not git cloneHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/7137
2023-01-18Supressing warnings messages like:Hiroshi SHIBATA
Ignoring debug-1.7.1 because its extensions are not built. Try: gem pristine debug --version 1.7. Revert "Clear gem paths for each test" This reverts commit 6698b580ddad8cfa8c5c86df9328472820d3ee6a.
2023-01-17benchmark_driver v0.16.3Takashi Kokubun
Some chruby-related features and bug fixes.
2023-01-18Update RBS commit hash (#7143)Soutaro Matsumoto
Use a commit at the top of RBS 2.8.3, not 3.0.0.dev.N. Notes: Merged-By: soutaro <matsumoto@soutaro.com>
2023-01-18[ruby/reline] multiline_repl do not need to depend on RubyLextomoya ishida
(https://github.com/ruby/reline/pull/502) * multiline_repl do not need to depend on RubyLex * Add auto indent test
2023-01-17Change ArgumentError message when Comparable#clamp receives min value higher ↵Kaíque Kandy Koga
than max value Notes: Merged: https://github.com/ruby/ruby/pull/6802 Merged-By: jeremyevans <code@jeremyevans.net>
2023-01-18Update default gems list at 8a771efec21c9dacad5bb8bf14b81c [ci skip]git
2023-01-18[ruby/psych] Bump up 5.0.2Hiroshi SHIBATA
https://github.com/ruby/psych/commit/a170b8eb46
2023-01-18Clean up removed directories in ext/Setup* [ci skip]Kazuhiro NISHIYAMA
2023-01-18Remove removed files from ext/.document [ci skip]Kazuhiro NISHIYAMA
- dbm/dbm.c removed at 55cd3e4ebff8fa75854ecadcd77abbf7cf4b5823 - fiber/fiber.c removed at 521ad9a13aef1e1dae4eaff70d3e6b2e358aa095 - gdbm/gdbm.c removed at edcc29dcff1b269b7748ab83adf21b2f3f97ebff
2023-01-17Update yjit.mdMaxime Chevalier-Boisvert
2023-01-17Avoid checking interrupt when loading iseqStan Lo
The interrupt check will unintentionally release the VM lock when loading an iseq. And this will cause issues with the `debug` gem's [`ObjectSpace.each_iseq` method](https://github.com/ruby/debug/blob/0fcfc28acae33ec1c08068fb7c33703cfa681fa7/ext/debug/iseq_collector.c#L61-L67), which wraps iseqs with a wrapper and exposes their internal states when they're actually not ready to be used. And when that happens, errors like this would occur and kill the `debug` gem's thread: ``` DEBUGGER: ReaderThreadError: uninitialized InstructionSequence ┃ DEBUGGER: Disconnected. ┃ ["/opt/rubies/ruby-3.2.0/lib/ruby/gems/3.2.0/gems/debug-1.7.1/lib/debug/breakpoint.rb:247:in `absolute_path'", ┃ "/opt/rubies/ruby-3.2.0/lib/ruby/gems/3.2.0/gems/debug-1.7.1/lib/debug/breakpoint.rb:247:in `block in iterate_iseq'", ┃ "/opt/rubies/ruby-3.2.0/lib/ruby/gems/3.2.0/gems/debug-1.7.1/lib/debug/breakpoint.rb:246:in `each_iseq'", ... ``` A way to reproduce the issue is to satisfy these conditions at the same time: 1. `debug` gem calling `ObjectSpace.each_iseq` (e.g. [activating a `LineBreakpoint`](https://github.com/ruby/debug/blob/0fcfc28acae33ec1c08068fb7c33703cfa681fa7/lib/debug/breakpoint.rb#L246)). 2. A large amount of iseq being loaded from another thread (possibly through the `bootsnap` gem). 3. 1 and 2 iterating through the same iseq(s) at the same time. Because this issue requires external dependencies and a rather complicated timing setup to reproduce, I wasn't able to write a test case for it. But here's some pseudo code to help reproduce it: ```rb require "debug/session" Thread.new do 100.times do ObjectSpace.each_iseq do |iseq| iseq.absolute_path end end end sleep 0.1 load_a_bunch_of_iseq possibly_through_bootsnap ``` [Bug #19348] Co-authored-by: Peter Zhu <peter@peterzhu.ca>
2023-01-17[rubygems/rubygems] Bump rb-sys in ↵dependabot[bot]
/test/rubygems/test_gem_ext_cargo_builder/custom_name Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.54 to 0.9.56. - [Release notes](https://github.com/oxidize-rb/rb-sys/releases) - [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.54...v0.9.56) --- updated-dependencies: - dependency-name: rb-sys dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
2023-01-17Fix crash when defining ivars on special constantsPeter Zhu
[Bug #19339] Notes: Merged: https://github.com/ruby/ruby/pull/7129
2023-01-17Update default gems list at 492d37fbbd3613b7fb180eec529860 [ci skip]git
2023-01-17[ruby/psych] Bump up 5.0.2.pre1 for testingHiroshi SHIBATA
https://github.com/ruby/psych/commit/67ec299c68
2023-01-17[ruby/psych] configure of libyaml couldn't detect "arm64-apple-darwin22" for ↵Hiroshi SHIBATA
build host. checking whether make sets $(MAKE)... (cached) yes checking build system type... arm-apple-darwin21.6.0 checking host system type... Invalid configuration `arm64-apple-darwin21': machine `arm64-apple' not recognized configure: error: /bin/sh /Users/hsbt/Downloads/yaml-0.2.5/config/config.sub arm64-apple-darwin21 failed *** extconf.rb failed *** https://github.com/ruby/psych/commit/ad1502202c
2023-01-17test-syntax-suggest is now part of make checkHiroshi SHIBATA
2023-01-17Added make exam to help messageHiroshi SHIBATA
2023-01-17Added test-syntax-suggest to help messageHiroshi SHIBATA
2023-01-17[rubygems/rubygems] Bump rb-sysdependabot[bot]
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.54 to 0.9.56. - [Release notes](https://github.com/oxidize-rb/rb-sys/releases) - [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.54...v0.9.56) --- updated-dependencies: - dependency-name: rb-sys dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
2023-01-17SimpleCov is hosted under simplecov-ruby org nowHiroshi SHIBATA
2023-01-16YJIT: Use ThinLTO for Rust parts in release modeAlan Wu
This reduces the code size of libyjit.a by a lot. On darwin it went from 23 MiB to 12 MiB for me. I chose ThinLTO over fat LTO for the relatively fast build time; in case we need to debug release-build-only problems it won't be painful. Notes: Merged: https://github.com/ruby/ruby/pull/7134
2023-01-16addr2line.c: Silence GCC 11 false -Wmaybe-uninitialized warningAlan Wu
No warnings from GCC 12.
2023-01-16addr2line.c: Don't special-case DWARF 5 parsing with GCCAlan Wu
While trying to fix YJIT's symbol hygiene issue over at GH-7115, I found that addr2line.c's DWARF 5 parsing is half-disabled when building with GCC. Rust's output contains some DW_AT_rnglists_base records, which the disabled code reads. Without DW_AT_rnglists_base, it crashes when generating a backtrace. In common Ruby build configurations, GCC opts to only use DW_FORM_sec_offset for the range lists, and so it doesn't generate DW_AT_rnglists_base records, so consuming GCC's DWARF 5 while building with GCC was not a problem. However, even when building with GCC, we might need to parse DWARF 5 generated by other compilers at runtime. They could come from C extensions built by Clang, or come from Rust extensions. This can happen even when building without YJIT. Notes: Merged: https://github.com/ruby/ruby/pull/7123 Merged-By: XrXr
2023-01-16[DOC] Correction to RDoc for Regexp.new (#7130)Burdette Lamar
Correction to RDoc for Regexp.new Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2023-01-16[DOC] Update `String#encode` special caseNobuyoshi Nakada
This behavior has been slightly extended with the addition of `String#scrub`.
2023-01-16[DOC] Explain that transcoding to the same encoding just copies.Martin Dürst
This is a reenstatement of the explanation in commit 463633e4a934a00f869086a6ffbf84c6cb8ad630 to partially address Bug #19342.
2023-01-16[DOC] Use RDoc inclusions in transcode.cNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/7126
2023-01-16fix typo in comments / autodocRick Hull
replace _socktype_ with _type_ in the comments Notes: Merged: https://github.com/ruby/ruby/pull/7127
2023-01-15Clear gem paths for each testNobuyoshi Nakada
So that rubygems can find the bundled rake. Notes: Merged: https://github.com/ruby/ruby/pull/7122
2023-01-15Do not depend on `REVISION_H`Nobuyoshi Nakada
Disable for now, since this seems causing infinite rebuilding. Notes: Merged: https://github.com/ruby/ruby/pull/7125
2023-01-15[Bug #19335] `Integer#remainder` should respect `#coerce` (#7120)Nobuyoshi Nakada
Also `Numeric#remainder` should. Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2023-01-14Move the dependency of makefiles on revision header [ci skip]Nobuyoshi Nakada
Since `REVISION_H` is defined in common.mk which is appended or included after Makefile.in, it was undefined yet at the point of the dependency.
2023-01-14[ruby/reline] Correspond to refactored RubyLexHASUMI Hitoshi
(https://github.com/ruby/reline/pull/498) * Correspond to refactored RubyLex ref: https://github.com/ruby/irb/pull/503 * Fix test_yamatanooroti
2023-01-14[ruby/irb] Store context in RubyLexStan Lo
Some background for this refactor: 1. Through a RubyLex instance's lifetime, the context passed to its methods should be the same. Given that `Context` is only initialised in `Irb#initialize`, this should be true. 2. When `RubyLex` is initialised, the context object should be accessible. This is also true in all 3 of `RubyLex.new`'s invocations. With the above observations, we should be able to store the context in `RubyLex` as an instance variable. And doing so will make `RubyLex`'s instance methods easier to use and maintain. https://github.com/ruby/irb/commit/5c8d3df2df