summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-05-09[ruby/getoptlong] Fixup https://github.com/ruby/getoptlong/commit/39faa7b390f0Hiroshi SHIBATA
https://github.com/ruby/getoptlong/commit/c8b3c0c00d
2022-05-09* 2022-05-09 [ci skip]git
2022-05-09[ruby/getoptlong] ruby/ruby used sample, not examplesHiroshi SHIBATA
https://github.com/ruby/getoptlong/commit/39faa7b390
2022-05-08Update bundled gems list at 25eb63fa7fa7075764cd71920eb89d [ci skip]git
2022-05-08Bundle RBS 2.4.0 (#5894)Soutaro Matsumoto
Notes: Merged-By: soutaro <matsumoto@soutaro.com>
2022-05-08* 2022-05-08 [ci skip]git
2022-05-08Use a proper mutex for autoloading features. (#5788)Samuel Williams
Object#autoload implements a custom per-thread "mutex" for blocking threads waiting on autoloading a feature. This causes problems when used with the fiber scheduler. We swap the implementation to use a Ruby mutex which is fiber aware. Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-05-07* 2022-05-07 [ci skip]git
2022-05-07Replace with https://github.com [ci skip]Kazuhiro NISHIYAMA
2022-05-06Fix missing paren [ci skip]Kazuhiro NISHIYAMA
2022-05-06[rubygems/rubygems] Fix typo in documentationDominik Bauernfeind
https://github.com/rubygems/rubygems/commit/800a973e00
2022-05-06[rubygems/rubygems] Update man page for `require` option in `bundle add` commandnobuyo
https://github.com/rubygems/rubygems/commit/08a0a5b7d1
2022-05-05Mark RCLASS_INCLUDERAlan Wu
Since 4d8f76286beefbb8f7fba2479f6d0a0b4a47304c, we need to dereference the includer field on iclasses, so we need to mark it to make sure it's alive. Sometimes during compaction we crash because the field is dangling, though I have a hard time constructing such a situation. See http://ci.rvm.jp/results/trunk@ruby-iga/3947725 Notes: Merged: https://github.com/ruby/ruby/pull/5890
2022-05-05Fix potential GC issue while iterating over weak refsAlan Wu
While walking over the list of subclasses for `include` and friends, we check whether the subclass is a garbage object. After the check, we allocate objects which might trigger GC and make the subclass garbage, even though before the allocation the subclass was not garbage. This is a sort of time-of-check-time-of-use issue. Fix this by saving the weak reference to a local variable, upgrading it to a strong reference while we do the allocation. It makes the code look slightly nicer even if it doesn't fix any runtime issues. Notes: Merged: https://github.com/ruby/ruby/pull/5890
2022-05-06* 2022-05-06 [ci skip]git
2022-05-05File rdoc (#5888)Burdette Lamar
Treats: ::pipe? ::symlink? ::socket? ::blockdev? ::chardev? Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-05-05Link from printf methods to format spec doc (#5886)Burdette Lamar
Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-05-05[ruby/logger] Prefer String#[0, 1] over [0..0]Akira Matsuda
[0..0] internally creates an extra Array object, and so is slower and much more memory consuming https://github.com/ruby/logger/commit/20616ad34a
2022-05-05* remove trailing spaces. [ci skip]git
2022-05-04[DOC] More on format specs (#5877)Burdette Lamar
* Update doc/format_specifications.rdoc Co-authored-by: Peter Zhu <peter@peterzhu.ca> Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-05-05* 2022-05-05 [ci skip]git
2022-05-04Unpoison freelist when iterating over it in gc_sweep_pageJemma Issroff
Notes: Merged: https://github.com/ruby/ruby/pull/5884
2022-05-04Update lldb helper for iseq disassembly to use correct var nameJemma Issroff
Notes: Merged: https://github.com/ruby/ruby/pull/5883
2022-05-04Remove unneeded castPeter Zhu
`start` is of type uintptr_t so it does not need to be casted to VALUE.
2022-05-04[rubygems/rubygems] Also speed up the case when nothing changedDavid Rodríguez
https://github.com/rubygems/rubygems/commit/fa0ac74883
2022-05-04[rubygems/rubygems] Fix missing space in specDavid Rodríguez
https://github.com/rubygems/rubygems/commit/fabc357e70
2022-05-04[rubygems/rubygems] Make looping more concise with `select`David Rodríguez
https://github.com/rubygems/rubygems/commit/c43d5f979a
2022-05-04[rubygems/rubygems] Don't converge specs in frozen modeDavid Rodríguez
https://github.com/rubygems/rubygems/commit/ea09bc4680
2022-05-03Update reference for RCLASS_INCLUDER during compactionAlan Wu
We didn't update the includer field during compaction so it could become a dangling pointer after compaction. It's only recently that we started to dereference the field, and we were only comparing the pointer before then, so the omission only recently started to cause crashes. By instrumenting object.c:833 with `rp(includer);`, you can see the includer field become `T_NONE` with the following script: ```ruby mod = Module.new do protected def foo = 1 end klass = Class.new do include Module.new def run foo end end klass.include(mod) GC.verify_compaction_references(double_heap: true, toward: :empty) klass.new.run ``` I found a crash in a private application that this patch fixes, but wasn't able to develop a small reproducer. Hence the above demo that requires instrumentation. Notes: Merged: https://github.com/ruby/ruby/pull/5880
2022-05-03Add a regression test for opt_plus with unknown type (#5878)Maxime Chevalier-Boisvert
Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-05-04* 2022-05-04 [ci skip]git
2022-05-04[DOC] mention macros for public headersNobuyoshi Nakada
2022-05-03Remove _with_gc functions in darrayPeter Zhu
darray was used in YJIT which required the functions to not trigger GC. YJIT has now moved to Rust and does not use darray anymore, so we can remove the functions that don't trigger GC and only keep the ones that trigger GC. Notes: Merged: https://github.com/ruby/ruby/pull/5874
2022-05-02Fix bug identified by @noahgibbs. (#5876)Maxime Chevalier-Boisvert
Turned out to be a one-character fix :) Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-05-02YJIT: Reject USE_FLONUM=0 builds at build timeAlan Wu
YJIT can't support these builds so it's better to reject with a message than to crash at runtime. Notes: Merged: https://github.com/ruby/ruby/pull/5873
2022-05-02[DOC] Some YJIT dependencies are no longer requiredAlan Wu
The `capstone` crate on crates.io does not need `libcapstone` on the system because it builds from [source]. `gdbm` is now a separate gem (thanks for extracting it!). [source]: https://github.com/capstone-rust/capstone-rs/blob/c31409905a9fc4581133de248fcd0a66b2c37e36/capstone-sys/build.rs#L143
2022-05-03[DOC] Fix links to doc pagesNobuyoshi Nakada
2022-05-03* 2022-05-03 [ci skip]git
2022-05-03[ruby/getoptlong] Enhanced RDoc for GetoptLong ↵Burdette Lamar
(https://github.com/ruby/getoptlong/pull/4) Detailed introductory material. https://github.com/ruby/getoptlong/commit/1544f2fb7b
2022-05-02YJIT: Remove redundant `extern crate` (#5869)Koichi ITO
Follow up https://github.com/ruby/ruby/commit/0514d81 Rust YJIT requires Rust 1.60.0 or later. So, `extern crate` looks unnecessary because it can use the following Rust 2018 edition feature: https://doc.rust-lang.org/stable/edition-guide/rust-2018/path-changes.html#no-more-extern-crate It passes the following tests. ```console % cd yjit % cargo test --features asm_comments,disasm (snip) test result: ok. 56 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s ``` Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-05-02Bump github/codeql-action from 1 to 2dependabot[bot]
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v1...v2) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Notes: Merged: https://github.com/ruby/ruby/pull/5868
2022-05-02Fix a typo [ci skip]Kazuhiro NISHIYAMA
2022-05-02* 2022-05-02 [ci skip]git
2022-05-01Repair internal links (#5866)Burdette Lamar
* Repair internal links * Minor changes to format spec Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-04-30Document best-practices for writing hash methods (#5805)Chris Seaton
* Discussion is as per https://bugs.ruby-lang.org/issues/18611. Co-authored-by: Sam Bostock <sam.bostock@shopify.com> Notes: Merged-By: eregon <eregontp@gmail.com>
2022-04-29YJIT: Enable default rustc lints (warnings) (#5864)Alan Wu
`rustc` performs in depth dead code analysis and issues warning even for things like unused struct fields and unconstructed enum variants. This was annoying for us during the port but hopefully they are less of an issue now. This patch enables all the unused warnings we disabled and address all the warnings we previously ignored. Generally, the approach I've taken is to use `cfg!` instead of using the `cfg` attribute and to delete code where it makes sense. I've put `#[allow(unused)]` on things we intentionally keep around for printf style debugging and on items that are too annoying to keep warning-free in all build configs. Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-04-29[DOC] Format specs (#5857)Burdette Lamar
This new document would eventually replace the format spec discussion at Kernel#sprintf. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-04-30* 2022-04-30 [ci skip]git
2022-04-29YJIT: Adopt Clippy suggestions we likeAlan Wu
This adopts most suggestions that rust-clippy is confident enough to auto apply. The manual changes mostly fix manual if-lets and take opportunities to use the `Default` trait on standard collections. Co-authored-by: Kevin Newton <kddnewton@gmail.com> Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com> Notes: Merged: https://github.com/ruby/ruby/pull/5853
2022-04-29YJIT: Do not create `CodeBlock.asm_comments` if the `asm_comments` feature ↵Dmitry Dygalo
is disabled (#5863) Notes: Merged-By: maximecb <maximecb@ruby-lang.org>